summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <mchandras@suse.de>2018-03-08 11:39:42 +0000
committerMarkos Chandras <mchandras@suse.de>2018-03-08 12:24:02 +0000
commit20b01a6b7163971201a5aa0d6db354d80657d17f (patch)
tree43b4c80749ffa9e2f02064573af5974a8a8448ac
parente66847184999a84c472648e78d71e12b7c5b23d2 (diff)
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 <mchandras@suse.de>
-rw-r--r--bifrost/playbooks/opnfv-virtual.yaml4
-rwxr-xr-xbifrost/scripts/bifrost-provision.sh6
-rwxr-xr-xxci/scripts/vm/start-new-vm.sh7
3 files changed, 11 insertions, 6 deletions
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