DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.

DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Provide ability that user can use UCS blades as hardware resource pool in CloudStack, and provisioning operation system/hypervisor on UCS blade by CloudStack baremetal feature
once you have your UCS setup in lab, you should have below information:
call CloudStack API addUcsManager to register UCS manager. After registering, CloudStack will automatically discover blades and add them into resource pool. The resource pool is created automatically after UCS manager was added.
LIMITATIONS: in this phase, we assume user will not add/remove blades in setup after registering UCS manager into CloudStack. That means, CloudStack will not notice your changes on UCS hardware after UCS manager was registered
you are able to retrieve pre-created UCS profile from UCS manager by calling listUcsProfile. You do this largely before associating a profile to a blade which is explained in later use case.
NOTE: profile is synced between CloudStack and UCS manager. That means any change on profiles will be reflected next time you call listUcsProfile.
after registering UCS manager into CloudStack(use case 1), CloudStack will consult UCS manager for current blades in UCS setup. These blades would be retrieved by calling *listUcsBlade. *You do this largely before associating a
profile to a blade which is explained in later use case.
LIMITATIONS: in this phase, we assume user will not add/remove blades in setup after registering UCS manager into CloudStack. That means, CloudStack will not notice your changes on UCS hardware after UCS manager was registered
once you have known how to retrieve UCS profiles and UCS blades through CloudStack, you are able to associate a UCS profile to a UCS blade by calling associatesUscProfileToBlade. When you doing this, CloudStack actually clones
a new profile from the profile you selected in "list UCS profile", which means the profile you selected is used as a template of actual profile associated to the blade. You can check the new created profile in UCS manager.
NOTE: this operation will take a couple of minutes to finish, please wait with patient until it finished or timeout. The default timeout is 10 minutes which is not configurable at current stage
5. adding a UCS blade to baremetal cluster
once you have baremetal cluster created, you are able to add an associated UCS blade to baremetal cluster by calling addBaremetalHost. Creating Baremetal cluster and usage of addBaremetalHost is beyond scope of this document,
please refer to "CloudStack Administrator Guide" for details.
NOTE: this is not the preferred way as it requires user to get IPMI information required by addBaremetaHost API from UCS profile. I was going to add a new API which does such things in automation manner, however, baremetal kickstart feature
has not been finished at that time so I postponed this feature temporarily. It will come out soon.
once you decide to return a UCS blade which has been added to baremetal cluster to resource pool, you should first remove the host from baremetal cluster by calling deleteHost. You don't have to do it by calling API, CloudStack UI has prefectly
implemented it. Details could be find in "CloudStack Administrator Guide"
At stage, releasing UCS profile from UCS blade has not been implemented yet. You have to go to UCS manager to do so. You can identify a blade in UCS manager using its DN which is part of response of listUcsBlade API, once the blade is identified, disassociating
profile would release resource the blade uses.
Implementation:
The feature is implemented as a plugin service locating in incubator-cloudstack/plugins/hypervisors/ucs. The service is self-contained with own API, it will not interfere with workflow of other CloudStack components.
field name |
description |
|---|---|
zoneId |
uuid of zone |
name |
a texture name for the UCS manager. CloudStack would not use its value, it's only for user readable |
url |
ip address of UCS manager |
username |
username for UCS manager, this is gotten when you setup your UCS hardware |
password |
password for UCS manager, this is gotten when you setup your UCS hardware |
curl "http://localhost:8096/?command=addUcsManager&zoneid=$zoneid&name=ucsmanager&url=$url&username=admin&password=C1tr1x99"
addUcsManager response
field name |
description |
|---|---|
id |
uuid of UCS manager |
name |
name of UCS manager(the field specified in API) |
url |
ip of UCS manager |
zoneId |
zone uuid the UCS manager in |
field name |
description |
|---|---|
ucsmanagerid |
UCS manager uuid returned by addUcsManager |
curl "http://localhost:8096/?command=listUcsProfile&ucsmanagerid=$ucsid"
field name |
description |
|---|---|
dn |
profile identity in UCS manager. please refer to cisco documents for details |
field name |
description |
|---|---|
ucsmanagerid |
UCS manager uuid returned by addUcsManager |
curl "http://localhost:8096/?command=listUcsBlade&ucsmanagerid=$ucsid"
listUcsBlade response (list response)
field name |
description |
|---|---|
id |
UCS blade uuid in CloudStack |
ucsManagerId |
UCS manager uuid returned by addUcsManager |
hostId |
hostId the blade in baremetal cluster(maybe other hypervisor cluster in future), null means blade not belonging to any CloudStack cluster |
dn |
UCS blade identity in UCS manager |
associatedProfileDn |
UCS profile DN(see listUcsProfile response) the blade associates to. null means blade not associating to any profile |
field name |
description |
|---|---|
ucsmanagerid |
UCS manager uuid returned by addUcsManager |
profiledn |
UCS profile DN(see listUcsProfile response) |
bladeid |
UCS blade uuid in CloudStack(see, listUcsBlade) |
example:
curl "http://localhost:8096/?command=associatesUscProfileToBlade&ucsmanagerid=$ucsid&profiledn=$profileDn&bladeid=$bladeId"
associatesUscProfileToBlade response:
the same as listUcsBlade response, while associatedProfileDn points to profile the blade associates to
listUcsManager:
field name |
description |
|---|---|
zoneId |
uuid of zone |
listUcsManager response
the same as addUcsManager