From 48a509d98d0b0cd484bb872e00c606500060158b Mon Sep 17 00:00:00 2001 From: lingyu1 Date: Wed, 9 Dec 2015 01:09:05 +0800 Subject: [PATCH] Implement: Fuel install QEMU Closes-Bug:#1507878 Change-Id: I5762f236e6a040836f26bcc13ee96f76a2c2c33f Signed-off-by: lingyu1 --- .../puppet/manifests/qemu-install.pp | 31 +++++++++++++++---- pre_build_hook | 19 ++++++++++++ qemu_package/ubuntu/dependencies.txt | 2 ++ tasks.yaml | 2 +- 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 qemu_package/ubuntu/dependencies.txt diff --git a/deployment_scripts/puppet/manifests/qemu-install.pp b/deployment_scripts/puppet/manifests/qemu-install.pp index 0a298d8..104e6e8 100644 --- a/deployment_scripts/puppet/manifests/qemu-install.pp +++ b/deployment_scripts/puppet/manifests/qemu-install.pp @@ -5,17 +5,36 @@ if $operatingsystem == 'Ubuntu' { } package { 'qemu-utils': ensure => "${qemu_version}", - require => Package['qemu-block-extra'], } - package { 'qemu-system': + package { 'qemu-system-common': + ensure => "${qemu_version}", + } + package { 'qemu-system-arm': + ensure => "${qemu_version}", + } + package { 'qemu-system-mips': + ensure => "${qemu_version}", + } + package { 'qemu-system-misc': + ensure => "${qemu_version}", + } + package { 'qemu-system-sparc': + ensure => "${qemu_version}", + } + package { 'qemu-system-x86': + ensure => "${qemu_version}", + } + package { 'qemu-system-ppc': ensure => "${qemu_version}", } package { 'qemu-user': ensure => "${qemu_version}", } - package { 'qemu': - ensure => "${qemu_version}", - require => Package['qemu-utils','qemu-system','qemu-user'], - } + package { 'qemu-system': + ensure => "${qemu_version}", + } + package { 'qemu': + ensure => "${qemu_version}", + } } elsif $operatingsystem == 'CentOS' { } diff --git a/pre_build_hook b/pre_build_hook index 3c0f759..3c34414 100755 --- a/pre_build_hook +++ b/pre_build_hook @@ -5,9 +5,21 @@ set -eux BUILD_FOR=${BUILD_FOR:-ubuntu} DIR="$(dirname `readlink -f $0`)" +INCLUDE_DEPENDENCIES=${INCLUDE_DEPENDENCIES:-true} + +function download_dependencies { + if [ "$INCLUDE_DEPENDENCIES" = true ] + then + wget --content-disposition -N -i "${DIR}/qemu_package/${1}/dependencies.txt" + fi +} + function build_pkg { case $1 in ubuntu) + pushd "${DIR}/repositories/${1}/" + download_dependencies ${1} + popd cd ${DIR}/qemu sudo docker build -t qemu . container_id=`sudo docker run -d qemu` @@ -16,6 +28,13 @@ function build_pkg { sudo docker cp $container_id:/qemu-utils_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ sudo docker cp $container_id:/qemu_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ sudo docker cp $container_id:/qemu-user_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-arm_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-common_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-mips_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-misc_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-ppc_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-sparc_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ + sudo docker cp $container_id:/qemu-system-x86_2.4+dfsg-4ubuntu1_amd64.deb ${DIR}/repositories/ubuntu/ ;; *) echo "Not supported system"; exit 1;; esac diff --git a/qemu_package/ubuntu/dependencies.txt b/qemu_package/ubuntu/dependencies.txt new file mode 100644 index 0000000..e6b30bc --- /dev/null +++ b/qemu_package/ubuntu/dependencies.txt @@ -0,0 +1,2 @@ +http://archive.ubuntu.com/ubuntu/pool/main/s/seabios/seabios_1.7.5-1ubuntu1_all.deb +http://archive.ubuntu.com/ubuntu/pool/main/s/slof/qemu-slof_20140630+dfsg-1ubuntu1~14.04_all.deb diff --git a/tasks.yaml b/tasks.yaml index 635888a..6a5396c 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -1,5 +1,5 @@ - id: qemu_install - role: '*' + role: ['compute'] stage: pre_deployment type: puppet parameters: