Bug Reference
| Jira |
|---|
| server | Issues |
|---|
key | https://issues.apache.org/browse/CLOUDSTACK-6493Branch
Master, 4.4
Introduction
When user/admin wants his VM to present on multiple networks, AddVMToNetwork feature will allow him to add multiple networks to the VM.
This feature is currently supported for VMs deployed on xenserver,kvm,vmware and support for Hyper-V will be added now
Purpose
This is to support multiple nic's for the guest Vm's
...
deployed on Hyper-V
References
Document History
Glossary
VM - Virtual Machine running on the Host
Feature Specifications
...
This feature is to support multiple network interfaces to guest vm's by following operations
- Deploy VM with multiple networks
- Add Network to VM
Hyper-V have a limitation of dynamically adding NIC to a VM which it is in running state. To add a new NIC to a VM on hyper-v it should be in stopped state.
Multiple nic for the VM will be supported only when VM is in stopped state or during VM Deployment.
- 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
Quality Risks (test guidelines)
...
- 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* *
...
Functional
- While deploying the VM,select multiple networks. VM will be created with multiple nics and will have configured guest Vlan's on the nic.
- When Add network to VM, if the VM is in stopped state it should be successfull
- when VM is restarted it should have all the networks where admin/user had added to it.
- When Add network to VM, if the VM is in Running state, Error Message "Vm in Running state cannot be added to new network" will be shown
- User/Admin can add VM to Max of 8 networks. This is because of the Number of Nic's limitation imposed by Hyper-V
- Remove Nic from VM, if the VM is in stopped state it should be successfull
- Remove Nic from VM, if the VM is in running state it should be thrown an exception "Cannot remove nic when VM is in running state"
Negative usage scenarios
- When user tries to Add Network to VM when VM is in running state. Error Message "Vm in Running state cannot be added to new network" will be shown.
- When user tries to Add Network to VM when VM is in stopped state and the number of networks is more than 8, then Error Message "Maximum 8 networks will be supported" will be shown.
- When user tries to Remove Network/Nic from VM when VM is in running state. Error Message "Vm in Running state cannot be removed from network" will be shown.
Support-ability Characteristics
Logs can be looked up at the following location
- The Hyper-V agent logs can be seen in windows event viewer on the respective hosts. The logs can be filtered by source "CloudStack Hyper-V Agent".
- Hyper-V specific logs can be viewed in the event viewer under "Application and Services Logs" >> Microsoft >> Windows >> "Hyper-V-VMMS".
Supported Hypervisor
This feature is implemented for Windows Server 2012 R2 and Hyper-V 2012 R2 (Core).
Use cases
User can add VM to networks he can access.
Admin can add the VM to multiple networks
Architecture and Design description
When user/admin wants to his VM to present on multiple networks, AddVMToNetwork feature will allow him to add multiple networks to the VM.
This feature is currently supported on xenserver, kvm, vmware and this FS will add support for Hyper-V
When user/admin tries to add VM to accessible Networks, then a Nic will be plugged to the VM and nic will be configured. The guest vm will get dhcp ip from the associated VR.
For this feature to work, hypervisor should support hot-nic plug functionality for the vm running on the host.
Hyper-v have the limitation that it cannot support hot-nic plug functionality for the VM in running state.
In Hyper-V a new virtual network adapter can be added to VM only when it is stopped state.
Hyper-V supports maximum of 8 virtual network adapters (http://technet.microsoft.com/en-us/library/jj680093.aspx).
This feature multiple ips for a vm can be supported only for a VM
- During Vm Deployment
- When VM is in stopped state.
For each new network to be added for a VM, a new nic is required. so, user or admin can add VM can have maximum of 8 networks due to Hyper-v constraint.
Web Services APIs
No new web services were added.
UI flow
NO change in the UI flow
Use cases
put the relevant use case/stories to explain how the feature is going to be used/work
Architecture and Design description
- discussion of alternatives amongst design ideas, their resources/time tradeoffs and limitations. Explain why a certain design idea is chosen over others
- highlight architectural patterns being used (queues, async/sync, state machines, etc)
- talk about main algorithms used
- explain what components are being changed and what the dependent components are
- regarding database: talk about tables being added/modified
- performance implications: what are the improvements or risks introduced to capacity, response time, resources usage and other relevant KPIs
- preferably show class diagrams, sequence diagrams and state diagrams
- if possible, publish signatures of all methods classes and interfaces implement, and the explain the object information of different classes
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
...
Appendix
Appendix A:
Appendix B: