Multi-node ZUUL OpenStack gate for bare metal and Docker

22
Vikram Hosakote Sr. Software Engineer, Cisco Systems OpenStack Summit, Austin April 25 2016 Multi-node ZUUL gate for bare-metal and Docker

Transcript of Multi-node ZUUL OpenStack gate for bare metal and Docker

Page 1: Multi-node ZUUL OpenStack 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

Page 2: Multi-node ZUUL OpenStack 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

Page 3: Multi-node ZUUL OpenStack gate for bare metal and Docker

3© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

What is Zuul ?

Page 4: Multi-node ZUUL OpenStack gate for bare metal and Docker

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 ?

Page 5: Multi-node ZUUL OpenStack gate for bare metal and Docker

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 ?

Page 6: Multi-node ZUUL OpenStack gate for bare metal and Docker

6© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Zuul for OpenStack Gating

Page 7: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 8: Multi-node ZUUL OpenStack gate for bare metal and Docker

8© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Zuul Architecture

Page 9: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 10: Multi-node ZUUL OpenStack gate for bare metal and Docker

10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 11: Multi-node ZUUL OpenStack gate for bare metal and Docker

11© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Page 12: Multi-node ZUUL OpenStack gate for bare metal and Docker

12© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Zuul-Jenkins Integration

Page 13: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 14: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 15: Multi-node ZUUL OpenStack gate for bare metal and Docker

15© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Zuul with multi-node and bare-metal

Page 16: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 17: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 18: Multi-node ZUUL OpenStack gate for bare metal and Docker

18© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Zuul with Docker containers

Page 19: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 20: Multi-node ZUUL OpenStack gate for bare metal and Docker

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

Page 21: Multi-node ZUUL OpenStack gate for bare metal and Docker

21© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Q&A

Page 22: Multi-node ZUUL OpenStack gate for bare metal and Docker