Versions Compared

Key

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

...

Document History

 

Glossary

CS - CloudstackZone -

Data center in CSMS - Management server

System VMs - Refer to the set of VMs that are auto-deployed by CS to provide various services. These include SSVM, CPVM, virtual router, internal LB VM and elastic LB VM.

Administrator - CS root administrator

HV - hypervisorHypervisor host

Use cases

  1. Ability to configure storage type (shared or local) for deploying system VMs on a per zone basis by administrator.

Functional Requirements

...

  1. Change the scope of configuration parameter 'system.vm.use.local.storage' from global to zone.
  2. Auto-discover local storage associated with HV host based on the

...

  1. above configuration

...

  1. during 'add host' operation by administrator.

...

  • functional
  • non functional: performance, scalability, stability, overload scenarios, etc
  • corner cases and boundary conditions
  • negative usage scenarios

...

  • what new logging (or at least the important one) is introduced
  • how to debug and troubleshoot
  • what are the audit events 
  • list JMX interfaces
  • graceful failure and recovery scenarios
  • possible fallback or work around route if feature does not work as expected, if those workarounds do exist ofcourse.
  • if feature depends other run-time environment related requirements, provide sanity check list for support people to run

...

  • configuration parameters or files introduced/changed
  • branding parameters or files introduced/changed
  • highlight parameters for performance tweaking
  • highlight how installation/upgrade scenarios change

...

  • OS
  • xenserver, hypervisors
  • storage, networks, other

...

  • list your evaluation of possible security attacks against the feature and the answers in your design* *

...

  1. Create default system compute offerings for each system VM type - one with shared storage and another with local storage - during MS startup if not already present.
  2. Deploy system VMs using default system offering (selected based on the above configuration) if none specified explicitly.
  3. Changing configuration won't have any impact on existing system VMs, only newly created VMs will be impacted.

Changes

Architecture and Design description

...

  1. The scope of existing global configuration '
  1. system.vm.use.local.storage' will be changed to 'zone

...

  1. '

...

  1. based on references [ 1 ] & [ 2 ]

...

  1. . With this change the configuration will be available both at zone and global level.
  2. There

...

  1. will be 2

...

  1. default system service

...

  1. offerings - using shared

...

  1. and

...

  1. local storage - created for

...

  1. each system VM type. The unique name and description of these settings will be appropriately set based on the storage type. The local offering will have "-Local" appended to its unique name

...

  1. (for e.g. the unique name for SSVM shared and local compute offerings will be "Cloud.com-SecondaryStorage" and "Cloud.com-SecondaryStorage-Local" respectively). The appropriate offering will be selected based on unique name during system VM deployment.
    1. These offerings

...

    1. will be automatically created in CS DB at the time of MS startup if not already present.
    2. For new setup both

...

    1. shared and local will be created.
    2. For upgraded setup, existing offering will be checked and updated with the correct unique name based on the storage type (shared or local). Based on the existing offering, the other offering (shared or local) will be created.

...

  1. For some system VMs, offering can be explicitly specified using global configuration. The following precedence rule will be followed for selecting system offering

      ...

        1. Explicitly specified offering if any through global configuration. For

      ...

        1. SSVM there is a global

      ...

        1. configuration 'secstorage.service.offering' to explicitly specify offering, for CPVM

      ...

        1. it is

      ...

        1. 'consoleproxy.service.offering', for internal LB VM

      ...

        1. it is 'internallbvm.service.offering'. These offerings can use either shared or local storage irrespective of the storage type specified for the zone (using system.vm.use.local.storage). For remaining system VMs there is no explicit configuration.
        2. If the above settings are not specified then system offering is picked based on zone level configuration 'system.vm.use.local.storage'.
        3. Otherwise fallback on global configuration 'system.vm.use.local.storage'.

      ...

      1. During any system VM deployment, appropriate offering will be picked up based on #3.
      2. Existing system VMs will continue to use old offering unless explicitly re-created after changing the configuration.
      3. If either 'system.vm.use.local.storage' or zone property "use local storage for user VMs" is set to true then local storage associated with HV host gets discovered and added as a primary storage. For newly added host this happens at the time of "add host" operation. For existing hosts MS restart is required for local storage to get discovered and added.

      Web Services APIs

      list changes to existing web services APIs and new APIs introduced with signatures and throughout documentation

      UI flow

      • either demonstrate it visually here or link to relevant mockups

      IP Clearance

      • what dependencies will you be adding to the project?
      • are you expecting to include any code developed outside the Apache CloudStack project?

      Usage Impact

      • Are there any entities being created that require usage reporting for billing purposes? 

      • Does this change any existing entities for which usage is being tracked already?

      Appendix

      Appendix A:

      ...

      API changes

      None

      DB changes

      None

      Upgrade

      None

      UI changes

      1. Zone configuration wizard (creating a zone for the first time) needs to be updated to allow specifying this setting.
      2. Current UI already has the ability to display and edit configuration parameters with zone scope, so no change required.