summaryrefslogtreecommitdiffstats
path: root/bifrost
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-03-07 16:36:03 +0000
committerMarkos Chandras <mchandras@suse.de>2018-03-07 17:48:21 +0000
commite66847184999a84c472648e78d71e12b7c5b23d2 (patch)
tree36f1eb5e1eda84aa6406bff0f7951f6a10d643d0 /bifrost
parentc4651cc986ac5277d95027df77bc42cc783f2777 (diff)
bifrost: Use the pre-built XCI OS images instead of dib
We already have images for all 3 distros which we could simply re-use for all the XCI VM deployments instead of building new ones everytime with DIB. The images will be copied to the new VM from the cache directory if they are available otherwise we will simply download them during the XCI execution phase. Change-Id: I2a8391650558511668654c6b54a10db316f867a2 Signed-off-by: Markos Chandras <mchandras@suse.de>
Diffstat (limited to 'bifrost')
-rw-r--r--bifrost/playbooks/opnfv-virtual.yaml48
-rwxr-xr-xbifrost/scripts/bifrost-provision.sh4
2 files changed, 49 insertions, 3 deletions
diff --git a/bifrost/playbooks/opnfv-virtual.yaml b/bifrost/playbooks/opnfv-virtual.yaml
index 4e985db8..cfcb71a1 100644
--- a/bifrost/playbooks/opnfv-virtual.yaml
+++ b/bifrost/playbooks/opnfv-virtual.yaml
@@ -24,6 +24,45 @@
- name: "Override the ipv4_gateway setting"
set_fact:
ipv4_gateway: "192.168.122.1"
+ - name: Prepare the XCI pre-built images
+ block:
+ - name: Create the PXE directory
+ file:
+ path: /httpboot
+ state: directory
+ become: yes
+ - name: Download the {{ xci_distro }} image checksum file
+ get_url:
+ dest: /httpboot/{{ xci_distro }}.qcow2.sha256.txt
+ force: no
+ url: http://artifacts.opnfv.org/releng/xci/images/{{ xci_distro }}.qcow2.sha256.txt
+ timeout: 3000
+ become: yes
+ - name: Extract checksum
+ shell: awk '{print $1}' /httpboot/{{ xci_distro }}.qcow2.sha256.txt
+ register: _image_checksum
+ - fail:
+ msg: "Failed to get image checksum"
+ when: _image_checksum == ''
+ - set_fact:
+ image_checksum: "{{ _image_checksum.stdout }}"
+ - name: Download the {{ xci_distro }} image file
+ get_url:
+ url: http://artifacts.opnfv.org/releng/xci/images/{{ xci_distro }}.qcow2
+ checksum: "sha256:{{ image_checksum }}"
+ timeout: 3000
+ dest: /httpboot/deployment_image.qcow2
+ force: no
+ become: yes
+ - name: Set correct mode for {{ xci_distro }}.qcow2 file
+ file:
+ path: /httpboot/deployment_image.qcow2
+ mode: '0755'
+ owner: 'root'
+ group: 'root'
+ become: yes
+ when: use_prebuilt_images | bool == true
+
roles:
- { role: bifrost-prep-for-install, when: skip_install is not defined }
environment:
@@ -49,7 +88,9 @@
dib_os_release: "jessie"
dib_elements: "ironic-agent {{ ipa_extra_dib_elements | default('') }}"
dib_notmpfs: true
- when: create_ipa_image | bool == true
+ when:
+ - create_ipa_image | bool == true
+ - not use_prebuilt_images | bool == false
- role: bifrost-create-dib-image
dib_imagetype: "qcow2"
dib_imagename: "{{deploy_image}}"
@@ -61,7 +102,10 @@
dib_elements: "vm enable-serial-console simple-init devuser openssh-server growroot pip-and-virtualenv {{ extra_dib_elements }}"
dib_packages: "{{ lookup('env', 'DIB_OS_PACKAGES') }}"
dib_notmpfs: true
- when: create_image_via_dib | bool == true and transform_boot_image | bool == false
+ when:
+ - create_image_via_dib | bool == true
+ - transform_boot_image | bool == false
+ - use_prebuilt_images | bool == false
- role: bifrost-keystone-client-config
user: "{{ ansible_env.SUDO_USER }}"
clouds:
diff --git a/bifrost/scripts/bifrost-provision.sh b/bifrost/scripts/bifrost-provision.sh
index e64277d6..5ebe2031 100755
--- a/bifrost/scripts/bifrost-provision.sh
+++ b/bifrost/scripts/bifrost-provision.sh
@@ -141,7 +141,9 @@ ${ANSIBLE} ${XCI_ANSIBLE_VERBOSITY} \
-e ironicinspectorclient_git_branch=${BIFROST_IRONIC_INSPECTOR_CLIENT_VERSION} \
-e ironicclient_source_install=true \
-e ironicclient_git_branch=${BIFROST_IRONIC_CLIENT_VERSION} \
- -e ironic_git_branch=${BIFROST_IRONIC_VERSION}
+ -e ironic_git_branch=${BIFROST_IRONIC_VERSION} \
+ -e use_prebuilt_images=${BIFROST_USE_PREBUILT_IMAGES} \
+ -e xci_distro=${XCI_DISTRO}
EXITCODE=$?
if [ $EXITCODE != 0 ]; then