Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

2. list UCS

...

templates 

you are able to retrieve pre-created UCS profile templates from UCS manager by calling listUcsProfile listUcsTemplates. You do this largely before associating you are about to create a profile off template and associate the profile to a selected blade which is explained in later use case. . see instantiateUcsTemplateAndAssocaciateToBlade

NOTE: profile is 1. templates are synced between CloudStack and UCS manager. That means any change on profiles will be Any new added or removed templates are reflected next time you call listUcsProfile.call this API.

           2. per Cisco suggestion, only initial-template should be used for CloudPlatform integration

3. list UCS blades

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 *calling listUcsBlade.  * You do this largely before associating a

...

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

4.

...

instantiate UCS template and associate result profile to

...

blade

once you have known how to retrieve UCS profiles and UCS blades through CloudStacka template DN returned by listUcsTemplates, you are able to call instantiateUcsTemplateAndAssocaciateToBlade to associate create a UCS profile and associate it to a UCS blade by calling associatesUscProfileToBlade. When you doing this, CloudStack actually clonesa 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.returned by listUcsBlade.

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 60 minutes which is not configurable at current stage

...

has not been finished at that time so I postponed this feature temporarily. It will come out soon.

6.

...

disassociate profile from UCS blade.

once you decide can call disassociateUcsProfileFromBlade to return remove a profile from 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.

. An optional parameter deleteProfile is given to indicate if the unassociated profile needs to be deleted after disassociation.

7. sync between UCS manager and CloudPlatform

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

Architecture and Design description

...

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

...

listUcsProfile

...

listUcsTemplates

...

field name

description

ucsmanagerid

UCS manager uuid returned by addUcsManager

curl "http://localhost:8096/?command=listUcsProfile&ucsmanagerid=$ucsid"

...

listUcsTemplates response (list response)

...

field name

description

dn

profile identity in UCS manager. please refer to cisco documents for details

...

listUcsBlade

...

listUcsBlades

...

field name

description

ucsmanagerid

UCS manager uuid returned by addUcsManager

...

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

...

associatesUscProfileToBlade

...

instantiateUcsTemplateAndAssocaciateToBlade

...

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

profiledn

UCS profile DN(see listUcsProfile response)

bladeid

UCS blade uuid in CloudStack(see, listUcsBlade)

example:

curl "http://localhost:8096/10.215.3.5:8080/client/api?command=associatesUscProfileToBladeinstantiateUcsTemplateAndAssocaciateToBlade&ucsmanagerid=$ucsid&profiledn=$profileDn&bladeid=$bladeId"9a34c186-12fa-4bbc-af04-5f1a2bf7ae4a&templatedn=org-root/ls-test&bladeid=3d491c6e-f0b6-40b0-bf6e-f89efdd73c30&profilename=xxxx&response=json&sessionkey=jmyGgRQO30V0QPKm%2BLcx9sl0ciU%3D&_=1381451319292Image Added

instantiateUcsTemplateAndAssocaciateToBlade responseassociatesUscProfileToBlade 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"} }

listUcsManagerslistUcsManager:

field name

description

zoneId

uuid of zone

...

the same as addUcsManager

disassociateUcsProfileFromBlade 

fiedl name

description

bladeid

blade id returned by listUcsBlades

deleteprofile

true/false. optional, default to false. indiciates if the profile needs to be deleted after disassocation

disassociateUcsProfileFromBlade response:

success response

refreshUcsBlades

field name

description

ucsmanagerid

UCS manager uuid returned by addUcsManager

refreshUcsBlades response:

the same to listUcsBlades

UI flow

  • A new page for adding resource pool
  • A new page for adding UCS manage in 'Add Resrouce Pool' page
  • A new page for associating UCS profile to a selected UCS blade
  • A new page for convert a UCS blade to Baremetal host

...