Bug Reference

The Jira issue associated with this design spec: CLOUDSTACK-4085

Branch

The proposed solution does not yet warrant a sepparate branch.

Introduction

In a software defined network environment, it might be desirable to connect multiple vpc routers to a single network

Purpose

this is functional specification of feature "create VpcGateways of different VPCs in the same (lswitch) network" which has Jira ID CLOUDSTACK-4085

References

Document History

Glossary

Feature Specifications

  • When a vpc gateway is created a network is specified by vlan or lswitch uri (api only after external hosted private gateways has been implemented). The creation of this network is refused if it already exists and the gateway creation is aborted. The creation shouldn't be aborted as vpc gateways should be able to communicate and define routes towards one and another.
  • This feature will (for now) only be implemented in the case of lswitched networks.
  • Use cases

put the relevant use case/stories to explain how the feature is going to be used/work

Architecture and Design description

  • The implementation as described above is pretty straight forward, the only substantial work is in VpcServiceImpl.createVpcPrivateGateway. NetworkDao needs an extra parameter to pass the networkoffering to getPrivateNetwork.
  • 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

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

Appendix

Appendix A:

Appendix B:

  • No labels