Redundant Virtual Private Clouds

Post on 15-Jul-2015

319 views 0 download

Tags:

transcript

CUSTOMER

BIO

! Wilder Rodrigues

! 35 years old; paid to write programs since I was 15

! 1 girlfriend, 3 children, 2 rabbits, 1 cat and 1 PS4

! Twitter: •  @wilderrodrigues; @ekholabs

!Linkedin •  https://www.linkedin.com/in/wilderrodrigues

!Github •  wilderrodrigues

CUSTOMER

AGENDA

!Refactor 1.

! VRRP - ConnTrackD 2.

! Demo or Die 3.

CUSTOMER

REFACTOR

•  Less code lines for VirtualNetworkApplianceManagerImpl and VpcVirtualNetworkApplianceImpl •  4440 to 2558 •  1484 to 749

•  35 new classes in order to split the code/responsibility •  97.8% unit test coverage for network.element/router and

router.deployment packages •  About 1700 lines of unit tests

CUSTOMER

REFACTOR

• Network Topologies

• Visitor Pattern Implementation

CUSTOMER

REFACTOR

• Router Deployment Definitions •  Used a builder to

create deployment definitions per router type.

• Helper Classes •  NetworkHelper

•  CmdSetupHelper

•  NicProfileHelper

•  RouterControlHelper

CUSTOMER

VRRP CONNTRACKD

•  Enables stateful packet inspection for iptables.

CUSTOMER

DEMO OR DIE rVPC!!!

CUSTOMER

REFERENCES

•  Branch •  https://github.com/apache/cloudstack/tree/feature/systemvm-persistent-config

•  Integration tests •  https://github.com/wilderrodrigues/cloudstack_integration_tests

•  VPC Refactor Design •  https://cwiki.apache.org/confluence/display/CLOUDSTACK/Refactor+for

+Redundant+Virtual+Router+Implementation •  ConnTrackD

•  http://conntrack-tools.netfilter.org/manual.html •  KeepAliveD

•  http://www.keepalived.org/documentation.html