From: Markos Chandras Date: Thu, 8 Mar 2018 11:39:42 +0000 (+0000) Subject: bifrost: Ensure OS images are present in the PXE directory X-Git-Tag: 6.0.0~132 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=20b01a6b7163971201a5aa0d6db354d80657d17f;p=releng-xci.git bifrost: Ensure OS images are present in the PXE directory The XCI deployment script may wipe the PXE directories so we need to place the OS images after this has happened so we don't download them every time. Change-Id: Iccf943bc75592e7f5dddea59dfee14b2b080e7ef Signed-off-by: Markos Chandras --- diff --git a/bifrost/playbooks/opnfv-virtual.yaml b/bifrost/playbooks/opnfv-virtual.yaml index cfcb71a1..2ebf86f8 100644 --- a/bifrost/playbooks/opnfv-virtual.yaml +++ b/bifrost/playbooks/opnfv-virtual.yaml @@ -33,13 +33,13 @@ become: yes - name: Download the {{ xci_distro }} image checksum file get_url: - dest: /httpboot/{{ xci_distro }}.qcow2.sha256.txt + dest: /httpboot/deployment_image.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 + shell: awk '{print $1}' /httpboot/deployment_image.qcow2.sha256.txt register: _image_checksum - fail: msg: "Failed to get image checksum" diff --git a/bifrost/scripts/bifrost-provision.sh b/bifrost/scripts/bifrost-provision.sh index 5ebe2031..dccb3231 100755 --- a/bifrost/scripts/bifrost-provision.sh +++ b/bifrost/scripts/bifrost-provision.sh @@ -77,6 +77,12 @@ export DIB_OS_PACKAGES=${DIB_OS_PACKAGES:-"vlan,vim,less,bridge-utils,language-p # Additional dib elements export EXTRA_DIB_ELEMENTS=${EXTRA_DIB_ELEMENTS:-"openssh-server"} +# Copy the OS images if found +if [[ -e ${XCI_PATH}/deployment_image.qcow2 ]]; then + sudo mkdir -p /httpboot + sudo mv ${XCI_PATH}/deployment_image.qcow2* /httpboot/ +fi + if [ ${USE_VENV} = "true" ]; then export VENV=/opt/stack/bifrost $SCRIPT_HOME/env-setup.sh &>/dev/null diff --git a/xci/scripts/vm/start-new-vm.sh b/xci/scripts/vm/start-new-vm.sh index e2a918b3..868de6c3 100755 --- a/xci/scripts/vm/start-new-vm.sh +++ b/xci/scripts/vm/start-new-vm.sh @@ -180,6 +180,8 @@ sudo rm -f ${BASE_PATH}/${OS}.qcow2 sudo chmod 777 -R $XCI_CACHE_DIR/clean_vm/images/ sudo chown $uid:$gid -R $XCI_CACHE_DIR/clean_vm/images/ cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2* ${BASE_PATH}/ +cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2.sha256.txt ${BASE_PATH}/deployment_image.qcow2.sha256.txt +cp ${XCI_CACHE_DIR}/clean_vm/images/${OS}.qcow2 ${BASE_PATH}/deployment_image.qcow2 declare -r OS_IMAGE_FILE=${OS}.qcow2 [[ ! -e ${OS_IMAGE_FILE} ]] && echo "${OS_IMAGE_FILE} not found! This should never happen!" && exit 1 @@ -324,6 +326,7 @@ EOF do_copy() { rsync -a \ --exclude "${VM_NAME}*" \ + --exclude "${OS}*" \ --exclude "build.log" \ -e "$vm_ssh" ${BASE_PATH}/ ${VM_NAME}:~/releng-xci/ } @@ -338,10 +341,6 @@ $vm_ssh ${VM_NAME} "sudo mv /home/devuser/releng-xci/vm_hosts.txt /etc/hosts" # Disable 3-level nested virtualization since it makes things terribly slow $vm_ssh ${VM_NAME} "sudo bash -c 'echo \"options kvm_intel nested=0\" > /etc/modprobe.d/qemu-system-x86.conf'" $vm_ssh ${VM_NAME} "sudo modprobe -r kvm_intel && sudo modprobe -a kvm_intel" -# Copy image files over -$vm_ssh ${VM_NAME} "sudo mkdir /httpboot" -$vm_ssh ${VM_NAME} "sudo mv /home/devuser/releng-xci/${OS}.qcow2.sha256.txt /httpboot" -$vm_ssh ${VM_NAME} "sudo mv /home/devuser/releng-xci/${OS}.qcow2 /httpboot/deployment_image.qcow2" set +e