Define an abstract job devstack base that does not require any
project apart from devstack. This job defines basic devstack_localrc
settings that are common to any devstack job (mostly to work with
infra) and devstack_services to emit "disable_all_services" so to
cancel any devstack default.
The variables are defined as global ones as well as host-vars for
the controller and group-vars for peer nodes, so that any
descendent job may extend them, thanks for Zuul dict merging.
Change-Id: I2cdb723f6ee209683044fecec59ff7b510a2752b
... | ... |
@@ -26,43 +26,43 @@ |
26 | 26 |
- name: subnode |
27 | 27 |
nodes: |
28 | 28 |
- compute1 |
29 |
+ - name: switch |
|
30 |
+ nodes: |
|
31 |
+ - controller |
|
32 |
+ - name: peers |
|
33 |
+ nodes: |
|
34 |
+ - compute1 |
|
29 | 35 |
|
30 | 36 |
- job: |
31 |
- name: devstack |
|
37 |
+ name: devstack-base |
|
32 | 38 |
parent: multinode |
33 |
- description: Base devstack job |
|
34 |
- nodeset: openstack-single-node |
|
39 |
+ abstract: true |
|
40 |
+ description: | |
|
41 |
+ Base abstract Devstack job. |
|
42 |
+ |
|
43 |
+ Defines plays and base variables, but it does not include any project |
|
44 |
+ and it does not run any service by default. This is a common base for |
|
45 |
+ all single Devstack jobs, single or multinode. |
|
46 |
+ Variables are defined in job.vars, which is what is then used by single |
|
47 |
+ node jobs and by multi node jobs for the controller, as well as in |
|
48 |
+ job.group-vars.peers, which is what is used by multi node jobs for peer |
|
49 |
+ nodes (everything but the controller). |
|
35 | 50 |
required-projects: |
36 | 51 |
- openstack-dev/devstack |
37 |
- - openstack/cinder |
|
38 |
- - openstack/glance |
|
39 |
- - openstack/keystone |
|
40 |
- - openstack/neutron |
|
41 |
- - openstack/nova |
|
42 |
- - openstack/requirements |
|
43 |
- - openstack/swift |
|
44 | 52 |
roles: |
45 | 53 |
- zuul: openstack-infra/devstack-gate |
46 | 54 |
- zuul: openstack-infra/openstack-zuul-jobs |
47 |
- timeout: 7200 |
|
48 | 55 |
vars: |
49 |
- test_matrix_configs: [neutron, tlsproxy] |
|
50 | 56 |
devstack_localrc: |
51 | 57 |
DATABASE_PASSWORD: secretdatabase |
52 | 58 |
RABBIT_PASSWORD: secretrabbit |
53 | 59 |
ADMIN_PASSWORD: secretadmin |
54 | 60 |
SERVICE_PASSWORD: secretservice |
55 | 61 |
NETWORK_GATEWAY: 10.1.0.1 |
56 |
- Q_USE_DEBUG_COMMAND: true |
|
57 | 62 |
FIXED_RANGE: 10.1.0.0/20 |
58 | 63 |
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20 |
59 | 64 |
FLOATING_RANGE: 172.24.5.0/24 |
60 | 65 |
PUBLIC_NETWORK_GATEWAY: 172.24.5.1 |
61 |
- FLOATING_HOST_PREFIX: 172.24.4 |
|
62 |
- FLOATING_HOST_MASK: 23 |
|
63 |
- SWIFT_REPLICAS: 1 |
|
64 |
- SWIFT_START_ALL_SERVICES: false |
|
65 |
- SWIFT_HASH: 1234123412341234 |
|
66 | 66 |
LOGFILE: /opt/stack/logs/devstacklog.txt |
67 | 67 |
LOG_COLOR: false |
68 | 68 |
VERBOSE: true |
... | ... |
@@ -76,8 +76,7 @@ |
76 | 76 |
# from the location below for all the CI jobs. |
77 | 77 |
ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/ |
78 | 78 |
devstack_services: |
79 |
- horizon: false |
|
80 |
- tempest: false |
|
79 |
+ base: false |
|
81 | 80 |
zuul_copy_output: |
82 | 81 |
'{{ devstack_conf_dir }}/local.conf': 'logs' |
83 | 82 |
'{{ devstack_conf_dir }}/localrc': 'logs' |
... | ... |
@@ -117,7 +116,28 @@ |
117 | 117 |
log: True |
118 | 118 |
localrc: True |
119 | 119 |
stackenv: True |
120 |
- summary: True |
|
120 |
+ group-vars: |
|
121 |
+ peers: |
|
122 |
+ devstack_localrc: |
|
123 |
+ DATABASE_PASSWORD: secretdatabase |
|
124 |
+ RABBIT_PASSWORD: secretrabbit |
|
125 |
+ ADMIN_PASSWORD: secretadmin |
|
126 |
+ SERVICE_PASSWORD: secretservice |
|
127 |
+ NETWORK_GATEWAY: 10.1.0.1 |
|
128 |
+ FIXED_RANGE: 10.1.0.0/20 |
|
129 |
+ IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20 |
|
130 |
+ FLOATING_RANGE: 172.24.5.0/24 |
|
131 |
+ PUBLIC_NETWORK_GATEWAY: 172.24.5.1 |
|
132 |
+ LOGFILE: /opt/stack/logs/devstacklog.txt |
|
133 |
+ LOG_COLOR: false |
|
134 |
+ VERBOSE: true |
|
135 |
+ VERBOSE_NO_TIMESTAMP: true |
|
136 |
+ NOVNC_FROM_PACKAGE: true |
|
137 |
+ ERROR_ON_CLONE: true |
|
138 |
+ LIBVIRT_TYPE: qemu |
|
139 |
+ ETCD_DOWNLOAD_URL: http://tarballs.openstack.org/etcd/ |
|
140 |
+ devstack_services: |
|
141 |
+ base: false |
|
121 | 142 |
pre-run: playbooks/pre.yaml |
122 | 143 |
run: playbooks/devstack.yaml |
123 | 144 |
post-run: playbooks/post.yaml |
... | ... |
@@ -131,8 +151,40 @@ |
131 | 131 |
- ^.*/locale/.*po$ |
132 | 132 |
|
133 | 133 |
- job: |
134 |
+ name: devstack |
|
135 |
+ parent: devstack-base |
|
136 |
+ description: | |
|
137 |
+ Single node devstack job for integration gate. |
|
138 |
+ nodeset: openstack-single-node |
|
139 |
+ required-projects: |
|
140 |
+ - openstack/cinder |
|
141 |
+ - openstack/glance |
|
142 |
+ - openstack/keystone |
|
143 |
+ - openstack/neutron |
|
144 |
+ - openstack/nova |
|
145 |
+ - openstack/requirements |
|
146 |
+ - openstack/swift |
|
147 |
+ timeout: 7200 |
|
148 |
+ vars: |
|
149 |
+ test_matrix_configs: [neutron, tlsproxy] |
|
150 |
+ devstack_localrc: |
|
151 |
+ # Common OpenStack services settings |
|
152 |
+ SWIFT_REPLICAS: 1 |
|
153 |
+ SWIFT_START_ALL_SERVICES: false |
|
154 |
+ SWIFT_HASH: 1234123412341234 |
|
155 |
+ CINDER_PERIODIC_INTERVAL: 10 |
|
156 |
+ DEBUG_LIBVIRT_COREDUMPS: True |
|
157 |
+ NOVA_VNC_ENABLED: true |
|
158 |
+ VNCSERVER_LISTEN: 0.0.0.0 |
|
159 |
+ VNCSERVER_PROXYCLIENT_ADDRESS: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}" |
|
160 |
+ devstack_services: |
|
161 |
+ base: true |
|
162 |
+ horizon: false |
|
163 |
+ tempest: false |
|
164 |
+ |
|
165 |
+- job: |
|
134 | 166 |
name: devstack-multinode |
135 |
- parent: devstack |
|
167 |
+ parent: devstack-base |
|
136 | 168 |
description: Base devstack multinode job |
137 | 169 |
nodeset: openstack-two-node |
138 | 170 |
# NOTE(andreaf) The multinode job is useful to see the setup of different |