Enabling service 'dib' will install the following repos:
* diskimage-builder
* tripleo-image-elements
* os-collect-config
* os-refresh-config
* os-apply-config
These repos are already pre-fetched in devstack-gate.
This will facilitate gating on changes in these projects by building
a custom image then running the heat-slow job against that image.
diskimage_builder is pip installed from the current git checkout
if the dib service is enabled. This allows devstack gating on
diskimage-builder changes while also allowing diskimage-builder to
be installed from releases for other scenarios (for example, ironic).
Change-Id: Ia911cdee86f5b2e2ba1557e5aa8bf392b92ef555
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,27 @@ |
0 |
+# dib.sh - Devstack extras script to install diskimage-builder |
|
1 |
+ |
|
2 |
+if is_service_enabled dib; then |
|
3 |
+ if [[ "$1" == "source" ]]; then |
|
4 |
+ # Initial source |
|
5 |
+ source $TOP_DIR/lib/dib |
|
6 |
+ elif [[ "$1" == "stack" && "$2" == "install" ]]; then |
|
7 |
+ echo_summary "Installing diskimage-builder" |
|
8 |
+ install_dib |
|
9 |
+ elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then |
|
10 |
+ # no-op |
|
11 |
+ : |
|
12 |
+ elif [[ "$1" == "stack" && "$2" == "extra" ]]; then |
|
13 |
+ # no-op |
|
14 |
+ : |
|
15 |
+ fi |
|
16 |
+ |
|
17 |
+ if [[ "$1" == "unstack" ]]; then |
|
18 |
+ # no-op |
|
19 |
+ : |
|
20 |
+ fi |
|
21 |
+ |
|
22 |
+ if [[ "$1" == "clean" ]]; then |
|
23 |
+ # no-op |
|
24 |
+ : |
|
25 |
+ fi |
|
26 |
+fi |
0 | 27 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,51 @@ |
0 |
+# lib/dib |
|
1 |
+# Install and build images with **diskimage-builder** |
|
2 |
+ |
|
3 |
+# Dependencies: |
|
4 |
+# |
|
5 |
+# - functions |
|
6 |
+# - DEST, DATA_DIR must be defined |
|
7 |
+ |
|
8 |
+# stack.sh |
|
9 |
+# --------- |
|
10 |
+# - install_dib |
|
11 |
+ |
|
12 |
+# Save trace setting |
|
13 |
+XTRACE=$(set +o | grep xtrace) |
|
14 |
+set +o xtrace |
|
15 |
+ |
|
16 |
+# Defaults |
|
17 |
+# -------- |
|
18 |
+ |
|
19 |
+# set up default directories |
|
20 |
+DIB_DIR=$DEST/diskimage-builder |
|
21 |
+TIE_DIR=$DEST/tripleo-image-elements |
|
22 |
+DIB_IMAGE_CACHE=$DATA_DIR/diskimage-builder/image-create |
|
23 |
+OCC_DIR=$DEST/os-collect-config |
|
24 |
+ORC_DIR=$DEST/os-refresh-config |
|
25 |
+OAC_DIR=$DEST/os-apply-config |
|
26 |
+ |
|
27 |
+# Functions |
|
28 |
+# --------- |
|
29 |
+ |
|
30 |
+# install_dib() - Collect source and prepare |
|
31 |
+function install_dib { |
|
32 |
+ git_clone $DIB_REPO $DIB_DIR $DIB_BRANCH |
|
33 |
+ pushd $DIB_DIR |
|
34 |
+ pip_install ./ |
|
35 |
+ popd |
|
36 |
+ |
|
37 |
+ git_clone $TIE_REPO $TIE_DIR $TIE_BRANCH |
|
38 |
+ git_clone $OCC_REPO $OCC_DIR $OCC_BRANCH |
|
39 |
+ git_clone $ORC_REPO $ORC_DIR $ORC_BRANCH |
|
40 |
+ git_clone $OAC_REPO $OAC_DIR $OAC_BRANCH |
|
41 |
+ mkdir -p $DIB_IMAGE_CACHE |
|
42 |
+} |
|
43 |
+ |
|
44 |
+# Restore xtrace |
|
45 |
+$XTRACE |
|
46 |
+ |
|
47 |
+# Tell emacs to use shell-script-mode |
|
48 |
+## Local variables: |
|
49 |
+## mode: shell-script |
|
50 |
+## End: |
... | ... |
@@ -124,6 +124,10 @@ CINDER_BRANCH=${CINDER_BRANCH:-master} |
124 | 124 |
CINDERCLIENT_REPO=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git} |
125 | 125 |
CINDERCLIENT_BRANCH=${CINDERCLIENT_BRANCH:-master} |
126 | 126 |
|
127 |
+# diskimage-builder |
|
128 |
+DIB_REPO=${DIB_REPO:-${GIT_BASE}/openstack/diskimage-builder.git} |
|
129 |
+DIB_BRANCH=${DIB_BRANCH:-master} |
|
130 |
+ |
|
127 | 131 |
# image catalog service |
128 | 132 |
GLANCE_REPO=${GLANCE_REPO:-${GIT_BASE}/openstack/glance.git} |
129 | 133 |
GLANCE_BRANCH=${GLANCE_BRANCH:-master} |
... | ... |
@@ -184,10 +188,22 @@ NOVA_BRANCH=${NOVA_BRANCH:-master} |
184 | 184 |
NOVACLIENT_REPO=${NOVACLIENT_REPO:-${GIT_BASE}/openstack/python-novaclient.git} |
185 | 185 |
NOVACLIENT_BRANCH=${NOVACLIENT_BRANCH:-master} |
186 | 186 |
|
187 |
+# os-apply-config configuration template tool |
|
188 |
+OAC_REPO=${OAC_REPO:-${GIT_BASE}/openstack/os-apply-config.git} |
|
189 |
+OAC_BRANCH=${OAC_BRANCH:-master} |
|
190 |
+ |
|
191 |
+# os-collect-config configuration agent |
|
192 |
+OCC_REPO=${OCC_REPO:-${GIT_BASE}/openstack/os-collect-config.git} |
|
193 |
+OCC_BRANCH=${OCC_BRANCH:-master} |
|
194 |
+ |
|
187 | 195 |
# consolidated openstack python client |
188 | 196 |
OPENSTACKCLIENT_REPO=${OPENSTACKCLIENT_REPO:-${GIT_BASE}/openstack/python-openstackclient.git} |
189 | 197 |
OPENSTACKCLIENT_BRANCH=${OPENSTACKCLIENT_BRANCH:-master} |
190 | 198 |
|
199 |
+# os-refresh-config configuration run-parts tool |
|
200 |
+ORC_REPO=${ORC_REPO:-${GIT_BASE}/openstack/os-refresh-config.git} |
|
201 |
+ORC_BRANCH=${ORC_BRANCH:-master} |
|
202 |
+ |
|
191 | 203 |
# cliff command line framework |
192 | 204 |
CLIFF_REPO=${CLIFF_REPO:-${GIT_BASE}/openstack/cliff.git} |
193 | 205 |
CLIFF_BRANCH=${CLIFF_BRANCH:-master} |
... | ... |
@@ -258,10 +274,9 @@ SWIFTCLIENT_BRANCH=${SWIFTCLIENT_BRANCH:-master} |
258 | 258 |
TEMPEST_REPO=${TEMPEST_REPO:-${GIT_BASE}/openstack/tempest.git} |
259 | 259 |
TEMPEST_BRANCH=${TEMPEST_BRANCH:-master} |
260 | 260 |
|
261 |
- |
|
262 |
-# diskimage-builder |
|
263 |
-DIB_REPO=${DIB_REPO:-${GIT_BASE}/openstack/diskimage-builder.git} |
|
264 |
-DIB_BRANCH=${DIB_BRANCH:-master} |
|
261 |
+# Tripleo elements for diskimage-builder images |
|
262 |
+TIE_REPO=${TIE_REPO:-${GIT_BASE}/openstack/tripleo-image-elements.git} |
|
263 |
+TIE_BRANCH=${TIE_BRANCH:-master} |
|
265 | 264 |
|
266 | 265 |
# a websockets/html5 or flash powered VNC console for vm instances |
267 | 266 |
NOVNC_REPO=${NOVNC_REPO:-https://github.com/kanaka/noVNC.git} |