Source: Star Trek - Captain's Log
『太空,人類的終極邊疆。星艦企業號的旅程就是為了探索陌生的新世界,去尋找宇宙中的新生命與新文明,勇敢航向人類足跡從未踏至的領域。』不知道為什麼就很想用這個梗,大概我跟也迷航在Openstack的功能與設定裡面了...Orz..不知道何時雲端運算會變成銀河運算或是宇宙運算....(誤)
艦長日誌:
測試目標:讓MeshCloud可以介接Openstack
API 版本: aws-java-sdk 1.3.10
OpenStack版本: Openstack-essex release
測試環境: Ubuntu 12.04.1 LTS
測試對象:呼叫 openstack API http://x.x.x.x:8773/services/Cloud/
這幾天都在測試Openstack-essex 跟AWS EC2 的API相容性,發現很多API並不如官網所宣稱的那麼相容,或者應該說可以呼叫,但是很多行為與細節跟AWS並不一致,目前遇到的問題如下:
1. 無法RunInstance 同時使用BlockDeviceMapping去產生Volume
2. 不管透過API還是Dashboard去產生的Instance 都無法把Root Device 掛載EBS
3. 同2 所以Instance 關閉後,Instance就會自動被刪除
4. Attach Volume 必須掛載在/dev/vdx下面 (跟Amazon不一樣)
5. 無法import Key (Bug #755819)
此外目前最大的問題是Openstack dashboard 很多設定的功能都沒有,必須透過下指令(如:nove-manage),但是下指令修改後,卻又跟dashboard不同步。
之前許多網路新聞都說已經有很多廠商直接使用openstack,如果不是他們有特別的客製化,那就是還有許多設定我不知道或是設定錯誤...Orz... (不過我懷疑~:P)
官網列出來的比較表如下:
EC2 API method
|
實際測試 | |
AllocateAddress
|
無法測試 | |
AssociateAddress
|
無法測試 | |
AttachVolume
|
ok | |
AuthorizeSecurityGroupIngress
|
||
BundleInstance
|
||
CancelBundleTask
|
||
CancelSpotInstanceRequests
|
||
ConfirmProductInstance
|
||
CreateImage
|
||
CreateKeyPair
|
ok | |
CreatePlacementGroup
|
||
CreateSecurityGroup
|
ok | |
CreateSnapshot
|
||
CreateSpotDatafeedSubscription
|
||
CreateTags
|
||
CreateVolume
|
ok | |
DeleteKeyPair
|
無法測試 | |
DeletePlacementGroup
|
||
DeleteSecurityGroup
|
||
DeleteSnapshot
|
||
DeleteSpotDatafeedSubscription
|
||
DeleteTags
|
||
DeleteVolume
|
ok | |
DeregisterImage
|
無法測試 | |
DescribeAddresses
|
空的 | |
DescribeAvailabilityZones
|
||
DescribeBundleTasks
|
||
DescribeImageAttribute
|
||
DescribeImages
|
ok | |
DescribeInstanceAttribute
|
||
DescribeInstances
|
ok | |
DescribeKeyPairs
|
ok | |
DescribePlacementGroups
|
||
DescribeRegions
|
||
DescribeReservedInstances
|
||
DescribeReservedInstancesOfferings
|
||
DescribeSecurityGroups
|
||
DescribeSnapshotAttribute
|
||
DescribeSnapshots
|
||
DescribeSpotDatafeedSubscription
|
||
DescribeSpotInstanceRequests
|
||
DescribeSpotPriceHistory
|
||
DescribeTags
|
||
DescribeVolumes
|
會有warn | |
DetachVolume
|
ok | |
DisassociateAddress
|
無法測試 | |
GetConsoleOutput
|
空的 | |
GetPasswordData
|
||
ImportKeyPair
|
UnknownError | |
ModifyImageAttribute
|
||
ModifyInstanceAttribute
|
||
ModifySnapshotAttribute
|
||
MonitorInstances
|
||
PurchaseReservedInstancesOffering
|
||
RebootInstances
|
ok | |
RegisterImage
|
||
ReleaseAddress
|
無法測試 | |
RequestSpotInstances
|
||
ResetImageAttribute
|
||
ResetInstanceAttribute
|
||
ResetSnapshotAttribute
|
||
RevokeSecurityGroupIngress
|
||
RunInstances
|
部分ok | |
StartInstances
|
ok | |
StopInstances
|
等同Terminate | |
TerminateInstances
|
ok | |
UnmonitorInstances
|
沒有留言:
張貼留言