OpenStack Plugin
OpenStack is an open source cloud software. The OpenStack plugin associates CI job model with OpenStack deployment model.
Models
Deployment: An entire OpenStack cluster
Node: A single node in an OpenStack deployment/cluster associated with a single deployment
Container: A container associated with a single node
Package: An RPM associated with either a single node or a single container
Service: A service associated with a single deployment
Deployment
├── Node
│ └── Container
│ └── Package
│ └── Package
├── Service
Usage
To use the OpenStack plugin with Cibyl, specify –plugin openstack or include it in the configuration file.
Spec
Note
cibyl spec JOB_NAME allows you to easily get the full OpenStack specification of a single job.
The idea behind it is to allow the user to quickly get information on which OpenStack services and features are covered by a single job so the user doesn’t have to go and deep dive into the job configuration and build artifacts to figure it out by himself.
An example of an output from running cibyl spec JOB_NAME:
Openstack deployment:
Release: 17.0
Infra type: virt
Topology: compute:2,controller:3,ironic:2
Network:
IP version: 4
Network backend: geneve
ML2 driver: ovn
Security group mechanism: native ovn
DVR: True
TLS everywhere: False
Storage:
Cinder backend: lvm
Ironic:
Ironic inspector: True
Cleaning network: False
Arguments Matrix
Argument / Source |
Description |
Jenkins |
Zuul |
ES |
JJB |
Zuul.d |
---|---|---|---|---|---|---|
–ip-version |
The IP version used
by the deployment (4 or 6)
|
☑️ |
☑️ |
☑️ |
🔲 |
🔲 |
–release |
OpenStack Release
(OSP and RDO supported)
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–infra-type |
The infrastructure on which
OS is deployed (e.g. ovb,
baremetal, virthost)
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–topology |
The combination of node
types deployed
|
☑️ |
☑️ |
☑️ |
🔲 |
🔲 |
–nodes |
List of nodes on the topology.
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–controllers |
Number of controllers
(Can be also range: “>=3”)
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–computes |
Number of computes
(Can be also range: “>=3”)
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–ml2-driver |
Which ml2 driver does
the deployment use
|
☑️ |
☑️ |
🔲 |
🔲 |
🔲 |
–network-backend |
What network protocol is
used (e.g. vxlan, vlan, …)
|
☑️ |
☑️ |
☑️ |
🔲 |
🔲 |
–cinder-backend |
What cinder backend is
used (vlan, Ceph, Netapp, nfs)
|
☑️ |
☑️ |
☑️ |
🔲 |
🔲 |
–containers |
List of containers running
on the hosts
|
☑️ |
🔲 |
🔲 |
❌ |
❌ |
–packages |
Package installed by the
deployment
|
☑️ |
🔲 |
❌ |
❌ |
❌ |
–services |
Services installed by the
deployment
|
☑️ |
🔲 |
🔲 |
❌ |
❌ |
–test-setup |
Source of test setup (rpm, git)
|
☑️ |
🔲 |
🔲 |
🔲 |
🔲 |