Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added UI flow, deployment scenarios

...

  • put a summary or a brief description of the feature in question 
  • list what is deliberately not supported or what the feature will not offer - to clear any prospective ambiguities
  • list all open items or unresolved issues the developer is unable to decide about without further discussion
  • quality risks (test guidelines)
    • functional
    • non functional: performance, scalability, stability, overload scenarios, etc
    • corner cases and boundary conditions
    • negative usage scenarios
  • specify supportability characteristics:
    • 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
  • explain configuration characteristics:
    • configuration parameters or files introduced/changed
      New configuration parameter - "vmware.use.dvswitch" of type Boolean. Possible values are "true" or "false". Default value is "false".
    • branding parameters or files introduced/changed - NA
    • highlight parameters for performance tweaking
    • highlight how installation/upgrade scenarios change
  • deployment requirements (fresh install vs. upgrade) if any
  • * *VMware dvSwitch must be already created/configured in the vCenter datacenter deployment.
    •All the host/clusterresources should be added to dvSwitch before adding the cluster to CloudStack's pod cluster.
  • system requirements: memory, CPU, desk space, etc
  • interoperability and compatibility requirements:
    • OSxenserver, hypervisros
    • Hypervisors - VMware vSphere 4.1 or later
    • storage, networks, other
  • list localization and internationalization specifications 
    UI changes should be supported (Add Cluster Wizard). See the section "UI Flow".
  • explain the impact and possible upgrade/migration solution introduced by the feature 
  • explain performance & scalability implications when feature is used from small scale to large scale
  • explain security specifications
    • list your evaluation of possible security attacks against the feature and the answers in your design* *
  • explain marketing specifications
  • explain levels or types of users communities of this feature (e.g. admin, user, etc)
    admin
    Administrators would be target audience for this feature as this is at infrastructure level.

Use cases

1. There is a datacenter running vSphere clusters which are using dvSwitches for virtual networking. Migrate those servers into CloudStack cloud.CloudStack should be able to manage virtual networks over dvSwitches smoothly.
2. VM lifecycle operations like creation, start, shutdown to create a VM in cloud. Guest network implementation over dvSwitch would be covered in this use case. This includes configuration/re-configuration of distributed virtual port groups associated with the VM.
3. Network specific operation like create/allocate, shutdown, trash would cover distributed virtual portgroup specific operations like distributed virtual portgroup creation, deletion etc.
4. User would like to live migrate a VM within cluster of a CloudStack cloud with dvSwitch in place for virtual networks. User wants to have the traffic shaping policies intact even after migration to another host within that cluster.

...

Changes to existing web services APIs - AddClusterCmd
Adding an optional parameter named 'virtulSwitchType' which can have values 'vmwaresvs' or 'vmwaredvs' or 'nexusdvs'.
New APIs introduced - N/A

UI flow

...

  • Add cluster wizard
    If hypervisor is VMware and global configuration parameter "vmware.use.dvswitch" is set to true, then display a list box that has 3 options with following labels.

1. "VMware vNetwork Standard Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "vmwaresvs"

2. "VMware vNetwork Distributed Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "vmwaredvs"

3. "Cisco Nexus 1000v Distributed Virtual Switch"
Action to perform if this option is selected:-
Add a parameter to parameter list of AddClusterCmd API call.
Parameter name: "vswitchtype"
Parameter value: "nexusdvs"

List Box label - "Virtual Switch Type"
Default option - "VMware vNetwork Standard Virtual Switch"

Appendix

Appendix A:

Appendix B: