The Jenkins Plugin for OpenStack

Post on 06-Aug-2015

273 views 0 download

Tags:

Transcript of The Jenkins Plugin for OpenStack

Simple and Painless CI/CD

The OpenStack Plugin for JenkinsNaama Bamberger (nabamber@cisco.com)Maish Saidel-Keesing (msaidelk@cisco.com)

Saturday, April 15, 2023

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

Nice to Meet You!

Integrated Infrastructure

Adiel Grosmark(agrosmar@cisco.com)

Einav Rivni(erivni@cisco.com)

@maishsk

Learn more about Cisco’s technology and solutions for OpenStack®, in three areas:

Building OpenStack

Code Contributions

Infrastructure

Using OpenStack

Operations and Management

Application Tools

Connecting OpenStack

Intercloud

Partner Ecosystem

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

CI/CD with OpenStack

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

piedmont_fossil (flickr)

atomicshed(flickr)

kovah (flickr)

Our Goal?

A CI/CD pipeline – using OpenStack

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

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

Modular Stack

ardonik (flickr)

• Modularity

• Each team is responsible for their components

• Heat defines only the deployment model

ardonik (flickr)

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

Doesn’t this complicate things?

dannyman (flickr)

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

That is where Jenkins comes in

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

The plugin

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

Define Product

Generate Product Artifact

Define Deployment

Deploy on OpenStack

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

• Required RPMs• Dependent products• HEAT template• Puppet scripts

Define Product

Generate Product Artifact

Define Deployment

Deploy on OpenStack

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

Define Product

Generate Product Artifact

Define Deployment

Deploy on OpenStack

• Resolve versions• Download dependencies• Generate Artifacts (pom, tar, rpm)• Upload to Nexus

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

Define Product

Generate Product Artifact

Define Deployment

Deploy on OpenStack

• What to deploy?• Where to deploy to?

• OpenStack credentials• Stack parameters

• Which YUM repo to use?

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

• Delete old stack• Download all artifacts• Move RPMs to YUM repo• Load stack• Set parameters• Create Stack• Wait for completion

Define Product

Generate Product Artifact

Define Deployment

Deploy on OpenStack

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

• From cloned Heat git repo• Load stack by name pattern (xx.yaml, xx.env.yaml, xx.yaml.dependencies

nested files)• Parse yaml & replace parameters (Jenkins)• Generate the createStack REST request from

the loaded data

Stack Creation

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

• For multiple stacks, with relationships and dependencies• Database (backend)• Web application

• In the ‘product create’ step, you can set the dependent products and the order in which they will be deployed

• The Jenkins plugin will deploy the whole set

Nesting

tambako (flickr)

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

• Input and Output parameters

Wiring

output input1 2

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

Demo Time!!

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

• https://github.com/foundation-runtime/jenkins-openstack-deployment-plugin

• https://github.com/ciscosystems

Links and Info

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

Thank You

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

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

ScreenShots For Demo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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