Tech Talk CodiLime 31.01.2018 DevOps by Example
Jarek Łukow: You need a cloud to test a cloud: using OpenStack's CI framework for developing an SDN platform
You can find the recording here: https://youtu.be/T4fswB0hDY4
2. You need a cloud to test a cloud:
using OpenStack's CI framework
for developing an SDN platform
Jarek Łukow
3.
4. What is OpenContrail
● A multi-tenant cloud SDN platform
● OpenStack, Kubernetes/OpenShift, Mesos, VMware virtual networking
● Additional services: DNS, DHCP, BGPaaS
● NFV and service chaining
● High availability
● Data center interconnection
● standards-based
5. Problems to solve
● Hit the Jenkins scalability limit - cannot handle the amount of jobs and slaves
● Manually managed CI environment
○ slave images provisioned by hand
○ manual slave bring-up and teardown
● Legacy, closed-source and unreproducible configuration
● Inter-site network connectivity issues
6. ● Scripted slave VM image building
● On-demand slave VM creation
● Horizontally scalable job executors
Move to the next version of OpenStack’s CI system
12. Open sourcing the CI infrastructure
infra configuration
slave/builder VM
images
pipeline
configuration
CI job contents
tests
Puppet manifests
Disk Image Builder config
Zuul pipeline configuration
Ansible playbooks
project source code (UTs)
separate repos (integration)
13. Testing a cloud on a cloud
1. Spawn a VM
2. Build the OpenContrail code
3. Package it
4. Build service containers:
controller, analytics, virtual router...
5. Deploy OpenContrail containers using Ansible
6. Deploy single-node OpenStack cluster using Kolla
7. Run integration tests
a. configure tenants, networks, policies
b. spin up VMs
c. check if traffic passes
14. Testing a cloud on a cloud - all-in-one Docker setup
Docker
NovaKeystone
Neutron
GlanceCinder
MySQL
RabbitMQ controller
config
vrouter-agent
VM kernel
testrunner
container
vrouter kernel module
Cassandra
Kafka
web UI
15. The benefits of being open
● Automation and infra-as-code means reproducibility
● Contributors can donate capacity - connect more clouds behind Zuul
● Contributors can extend the test suites - connect more CIs to the code review
○ Already being done for the Windows platform