Vikram Hosakote Sr. Software Engineer, Cisco Systems OpenStack Summit, Austin April 25 2016 Multi-node ZUUL gate for bare-metal and Docker
Vikram Hosakote
Sr. Software Engineer, Cisco SystemsOpenStack Summit, Austin
April 25 2016
Multi-node ZUUL gate for bare-metal and Docker
2© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Agenda
1. What is Zuul ?
2. Zuul for OpenStack Gating
3. Zuul Architecture
4. Zuul-Jenkins Integration
5. Zuul with multi-node and bare-metal
6. Zuul with Docker containers
7. Q&A
3© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
What is Zuul ?
4© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
In the movie Ghostbusters, Zuul is the demigod and gatekeeper of Gozer, the destructor.
What is Zuul ?
5© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Program used to gate the source code repository of a project so that changes are only merged if they pass tests.
What is Zuul ?
6© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Zuul for OpenStack Gating
7© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Zuul is a pipeline-oriented project gating system
• Facilitates running tests and automated tasks in response to Gerrit events
Zuul for OpenStack Gating
8© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Zuul Architecture
9© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Connections (Gerrit, SMTP)• Triggers (Gerrit, Timer, Zuul)• Reporters (Gerrit, SMTP)• Zuul Cloner• Launchers (Gearman Jenkins Plugin)• Statsd reporting (Metrics)• Zuul Client
Zuul Architecture
10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
11© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
12© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Zuul-Jenkins Integration
13© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• The Gearman Jenkins Plugin makes it easy to use Jenkins with Zuul by providing an interface between Jenkins and Gearman
• https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin• Gearman Plugin passes Zuul Parameters as Jenkins build
parameters.• http://docs.openstack.org/infra/zuul/launchers.html#zuul-
parameters
Zuul-Jenkins Integration
14© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Example Jenkins Git SCM plugin configurationSource Code Management:
Git
Repositories:
Repository URL: <your Gerrit or Zuul repository URL>
Advanced:
Refspec: ${Zuul_REF}
Branches to build:
Branch Specifier: ${Zuul_COMMIT}
Advanced:
Clean after checkout: True
Zuul-Jenkins Integration
15© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Zuul with multi-node and bare-metal
16© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Zuul v3 supports multi-node• Example multi-node playbook ### openstack-infra/zuul-playbooks/zuul-multinode.yaml --- hosts: controller roles: - zuul-controller --- hosts: compute roles: - zuul-compute
Zuul with multi-node and bare-metal
17© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Replace devstack-vm-gate-wrap.sh with bare-metal orchestration
• https://git.openstack.org/cgit/openstack-infra/devstack-gate/tree/devstack-vm-gate-wrap.sh
• Can be integrated with OpenStack Ironic• https://wiki.openstack.org/wiki/Ironic
Zuul with multi-node and bare-metal
18© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Zuul with Docker containers
19© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
OpenStack Kolla deploys OpenStack cloud in Docker containers in gate using Zuul.https://wiki.openstack.org/wiki/Kolla
https://github.com/openstack-infra/project-config/blob/master/jenkins/jobs/kolla.yaml
Zuul with Docker containers
20© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
https://github.com/openstack-infra/zuul/tree/master
http://status.openstack.org/zuul/http://docs.openstack.org/infra/zuul/
https://github.com/openstack-infra/project-config/tree/masterhttps://jenkins.io
Useful Links
21© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Q&A