Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Table of Contents

Bug Reference

JiraserverIssueskeyhttps://issues.apache.org/jira/browse/CLOUDSTACK-6106 

Branch

4.4, Master

Introduction

Purpose

...

Document History

Glossary

Entity - tier/private gateway/public vlan range

Feature Specifications

  • 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
    • branding parameters or files introduced/changed
    • highlight parameters for performance tweaking
    • highlight how installation/upgrade scenarios change
  • deployment requirements (fresh install vs. upgrade) if any
  • system requirements: memory, CPU, desk space, etc
  • interoperability and compatibility requirements:
    • OS
    • xenserver, hypervisors
    • storage, networks, other
  • list localization and internationalization specifications 
  • 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)

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

Currently VPC support is already available for Xen, VMware, KVM. In 4.3 Hyper-V Hypervisor support is added to cloudstack. This feature is to support VPC on Hyper-V hypervisor.
In the current implementation of VPC the following features are supported.

  • Management of Tiers/networks
  • New Public IP ranges (tagged/untagged)
  • Private Gateway.

All the above functionality will be supported for VPC VR running on Hyper-V.

Test Guidelines

Functional
    • Only max of 7 vpc Entities are supported because Hyper-V supports only 8 virtual network adapters to VM (http://technet.microsoft.com/en-us/library/jj680093.aspx)
    • VPC VR will be created with 8 nics up front.
    • when VPC is created successfully, vpc vr should be created in Hyper-v and one nic will be configured with control ip and second nic will be configured with public ip.
    • when new tier is created, a nic will be configured with the network vlan id and associated eth device will be configured.
    • when a tier is deleted associated nic will be un configured and associated eth device will be configured to be down state.
    • when new private gateway is created, a nic will be configured with the network vlan id and associated eth device will be configured.
    • when a private gateway is deleted associated nic will be un configured and associated eth device will be configured to be down state.
    • when public ip is acquired and configured from a new vlan range,  a nic will be configured with the network vlan id and associated eth device will be configured.
    • when last public ip from a vlan range is released associated nic will be un configured and associated eth device will be configured to be down state.
    • When new entity is created and fails to configure the virtual nic, then "Fail to hot plug Nic" error will be shown
    • When a tier/private gateway has to be created, if there is an error while modifying the VPC VR Nic, then the command will be failed and database changes will be roll-backed.
    • When a tier/private gateway got created successfully, then the vlan specified by the CS will be assigned on the NIC and internally associated eth device will be configured and will be in "UP" state.
    • When a tier/private gateway got removed successfully, then vlan will be removed on the VR NIC and associated eth device will be configured to  "down" state.
    • Add Vm to other tiers in the VPC will work if the VM is in stopped state and max to  8 tiers due to Hyper-V Virtual Network Adapter limitation

Negative
    • When entity limit reaches 7 and user tries to create any entity, plugnic command will be failed with plugnic failure exception message to add vpc entity and reason will be logged "Plug Nic failed for the vm as it has reached max limit" 

Support-ability Characteristics

Logs can be looked up at the following location

    • Management server logs for VPC commands will be logged in management-server.log and vmops.log(dev setup). All the requests forwarded to the Hyper-V agent can also be seen here.
    • 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".
    • Vpc manager will log the vpc entities management in the management server.
    • ModifyVmNic agent command operations log will be present in management server log and in hyperv agent log when vpc entities were managed.
    • PlugNic/UnplugNic commands operations log will be present in management server log and in hyperv agent log when vpc entities were managed. 

Supported Hypervisor

This feature is implemented for Windows Server 2012 R2 and Hyper-V 2012 R2 (Core).

Use cases

use cases listed in Inter-VLAN Routing 

Architecture and Design description

When new Tier/new public vlan range/new Private gateway is added to VPC, a new nic will be Hot-Plugged to the VPC VR and it will be configured accordingly.

There is a limitation imposed by hyper-v. Hyperv cannot support Hot-Nic plug to the vpc vr and at max only 8 virtual network adapters can be added to vr. ( http://technet.microsoft.com/en-us/library/jj680093.aspx)

So to overcome this limitation imposed by Hyper-V, VPC VR will be deployed with 8 enlightened nics.

 

How the deployment for VPC will work when running in Hyper-V :

When the VPC is created, vpc vr will be created on Hyper-V with 8 enlightened nics.

First nic will be configure with control IP. Second Nic will be configured with public ip.

There will be only 6 free nics available on the vpc vr.

These 6 nics can be used among new vpc entities created. For each new vpc entity, one nic will be used. So at max only 6 vpc entities can be created.

When a new tier/new publicvlan/new private gateway is created on VPC, find the free extra nic created and use this nic to configure the associated configuration.

When any tier/public vlan range(last ip)/private gateway is deleted in VPC, then the nic configurations will be removed inside the VR and on the VM level.

When all the extra nics are configured/used and user/admin attempts to create any new vpc entity then  plugnic command will be failed with plugnic failure exception message to add vpc entity and reason will be logged "Plug Nic failed for the vm as it has reached max limit".

 

Web Services APIs

No new web apis were added

UI flow

No change in the UI Flow

IP Clearance

  NA 

...

Appendix

Appendix A:

Appendix B: