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 templates from UCS manager by calling listUcsTemplates. You do this largely before you are about to create a profile off template and associate the profile to a selected blade. see instantiateUcsTemplateAndAssocaciateToBlade
...
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 a template DN returned by listUcsTemplates, you are able to call instantiateUcsTemplateAndAssocaciateToBlade to create a profile and associate it to a UCS blade returned by listUcsBlade.
...
7. sync between UCS manager and CloudPlatformCloudPlatform [new in 4.2.1]
sometimes user may directly operate on UCS manager for stuff like association or dissociation, this makes states between CloudPlatform and UCS manager out of sync. You can call refreshUcsBlades to instruct CloudPlatform to sync states with UCS manager
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 |
|---|---|
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 |
templatedn | templatedn returned by listUcsTemplates |
profilename | profile name you want to give for profile to be created. optional, if omitted, a UUID is given as the name |
bladeid | UCS blade uuid in CloudStack(see, listUcsBlade) |
example:
instantiateUcsTemplateAndAssocaciateToBlade response:
the same as listUcsBlade response, while associatedProfileDn points to profile the blade associates to
example:
{ "queryasyncjobresultresponse" : {"accountid":"970b694a-2f8c-11e3-a77d-000c29b36ff5","userid":"970b7b4f-2f8c-11e3-a77d-000c29b36ff5","cmd":"org.apache.cloudstack.api.InstantiateUcsTemplateAndAssociateToBladeCmd","jobstatus":1,"jobprocstatus":0,"jobresultcode":0,"jobresulttype":"object","jobresult":{"ucsblade":{"id":"3d491c6e-f0b6-40b0-bf6e-f89efdd73c30","ucsmanagerid":"9a34c186-12fa-4bbc-af04-5f1a2bf7ae4a","bladedn":"sys/chassis-1/blade-3","profiledn":"org-root/ls-xxxx"}},"created":"2013-10-10T17:29:00-0700","jobid":"cd9d0282-4dae-463f-80b6-451e168e2e92"} }
listUcsManagers:
field name | description |
|---|---|
zoneId | uuid of zone |
listUcsManager response
the same as addUcsManager
disassociateUcsProfileFromBlade
...
the same to listUcsBlades
UI should be implemented using pluggable UI framework, for it's able to be dsiabled when needs
| Code Block |
|---|
mysql> describe ucs_blade; +----------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+---------------------+------+-----+---------+----------------+ | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | uuid | varchar(40) | YES | UNI | NULL | | | ucs_manager_id | bigint(20) unsigned | NO | | NULL | | | host_id | bigint(20) unsigned | YES | | NULL | | | dn | varchar(512) | NO | | NULL | | | profile_dn | varchar(512) | YES | | NULL | | +----------------+---------------------+------+-----+---------+----------------+ mysql> describe ucs_manager; +----------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+----------------+ | id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | uuid | varchar(40) | YES | UNI | NULL | | | zone_id | bigint(20) unsigned | NO | | NULL | | | name | varchar(128) | YES | | NULL | | | url | varchar(255) | NO | | NULL | | | username | varchar(255) | NO | | NULL | | | password | varchar(255) | NO | | NULL | | +----------+---------------------+------+-----+---------+----------------+ |
...