You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Introduction

Purpose

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

Document History

Glossary

Feature Specifications

  • The feature would allow user to register UCS manager through CloudStack UI and provision OS/hypervisor on blades by CloudStack baremetal feature 
  • Currently this feature would only support:
    • Registering UCS manager
    • Listing UCS template in CloudStack UI
    • Creating UCS profile from UCS template
    • Applying UCS profile to a selected blade
    • Provisioning the blade in previous step with baremetal template
    • Only supporting CloudStack basic mode
  •  

Use cases

  1. user has a UCS chassis setup in their lab, and a UCS manager managing UCS chassis
  2. user creates one or more UCS template to describe what kind of hardware they want to realize on UCS blade
  3. user go to CloudStack to register UCS manager with necessary UCS credentials. The UCS manager is zone wide
  4. CloudStack connects to UCS manager and discovers available blades and create a resource pool based on these blades
  5. user create a baremetal cluster in CloudStack
  6. user chooses some blades from resource pool and add them to baremetal cluster
  7. when adding a blade to baremetal cluster, user select a UCS template which tells CloudStack hardware specification of this blade
  8. CloudStack connects to UCS manager and initializes a UCS profile from UCS template selected in step 7
  9. CloudStack uses profile initialized in step 8 to realize the blades to add in baremetal cluster
  10. after blades being added to baremetal cluster, user is able to provision these hosts using common CloudStack baremetal feature

Architecture and Design description

Concepts:

  • A new concept of UCS manager will be added, it's a zone wide resource
    1. user can add multiple UCS managers into a zone
    2. CloudStack creates one resource pool for each UCS manager. In future release, CloudStack should be able to create multiple resource pools per UCS manager
    3. CloudStack discovers used/available UCS blades managed by UCS manager and add them into resource pool created in step2
  • On each resource pool, UI provides a button to add a blade in pool to an existing CloudStack cluster
    1. at this release, the CloudStack cluster is a CloudStack baremetal cluster
    2. when adding a blade, CloudStack provides a dropdown box showing all UCS templates in UCS manager
    3. user select a template and instruct CloudStack to realize blade from the template

Workflow:
This feature is default enabled as long as cloud-hypervisor-ucs.jar presents in classpath of CloudStack. User doesn't need to do any extra work to get the feature working,
a typical workflow is:

  1. open Zone page, click button 'Add Resource Pool'
  2.         in 'Add Resource Pool' wizzard, select 'UCS' as type
  3.         fill up information required for adding UCS manger, e.g IP address, username, password ...
  4.         click 'Add'. Cloudstack will automatically create the pool and discover the resources (UCS blades)

Implementations:
      The feature is implemented as a plugin locating in incubator-cloudstack/plugins/hypervisors/ucs

web services APIs

AddUcsManagerCmd

example: 

curl "http://localhost:8096/?command=addUcsManager&zoneid=$zoneid&name=ucsmanager&url=$url&username=admin&password=C1tr1x99"
curl "http://localhost:8096/?command=addUcsManager&zoneid=$zoneid&name=ucsmanager&url=$url&username=admin&password=C1tr1x99"

AssociateUcsProfileToBladeCmd

example:

curl "http://localhost:8096/?command=associatesUscProfileToBlade&ucsmanagerid=$ucsid&profiledn=$profileDn&bladeid=$bladeId"

ListUcsBladeCmd

example:

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

ListUcsManagerCmd

example:

TODO

ListUcsProfileCmd

example:

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

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

Appendix

Appendix A:

Appendix B:

  • No labels