8
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

Redundant Virtual Private Clouds

Embed Size (px)

Citation preview

Page 1: Redundant Virtual Private Clouds

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

Page 2: Redundant Virtual Private Clouds

CUSTOMER

AGENDA

!Refactor 1.

! VRRP - ConnTrackD 2.

! Demo or Die 3.

Page 3: Redundant Virtual Private Clouds

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

Page 4: Redundant Virtual Private Clouds

CUSTOMER

REFACTOR

• Network Topologies

• Visitor Pattern Implementation

Page 5: Redundant Virtual Private Clouds

CUSTOMER

REFACTOR

• Router Deployment Definitions •  Used a builder to

create deployment definitions per router type.

• Helper Classes •  NetworkHelper

•  CmdSetupHelper

•  NicProfileHelper

•  RouterControlHelper

Page 6: Redundant Virtual Private Clouds

CUSTOMER

VRRP CONNTRACKD

•  Enables stateful packet inspection for iptables.

Page 7: Redundant Virtual Private Clouds

CUSTOMER

DEMO OR DIE rVPC!!!

Page 8: Redundant Virtual Private Clouds

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