mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Patch from Adam Grochowski: errorchecking for basebox build
This commit is contained in:
parent
ad2b8d7579
commit
b77e26a9b1
@ -19,51 +19,79 @@
|
||||
# Assumes that rvm is installed and you have ruby 1.9.2 installed
|
||||
# Assumes that you have virtual box installed
|
||||
# Assumes that you have wget installed
|
||||
set -x
|
||||
PROGNAME=$(basename $0)
|
||||
function error_exit {
|
||||
|
||||
mkdir ~/builddevcloud
|
||||
cd ~/builddevcloud
|
||||
git clone https://github.com/jedi4ever/veewee.git
|
||||
# Display error message and exit
|
||||
echo "${PROGNAME}: $*" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
# Load RVM into a shell session *as a function*
|
||||
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
|
||||
# First try to load from a user install
|
||||
source "$HOME/.rvm/scripts/rvm"
|
||||
|
||||
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
||||
|
||||
# Then try to load from a root install
|
||||
source "/usr/local/rvm/scripts/rvm"
|
||||
|
||||
else
|
||||
|
||||
printf "ERROR: An RVM installation was not found.\n"
|
||||
|
||||
fi
|
||||
|
||||
mkdir ~/builddevcloud || error_exit
|
||||
cd ~/builddevcloud || error_exit
|
||||
git clone https://github.com/jedi4ever/veewee.git || error_exit
|
||||
#TODO: We need to get this patched version of Vagrant to the upstream project
|
||||
# or implement the desired changes to Vagrant as plugin modules and
|
||||
# host it within the ASF git repo
|
||||
git clone https://github.com/chipchilders/vagrant.git
|
||||
export rvm_trust_rvmrcs_flag=1
|
||||
cd vagrant
|
||||
bundle install
|
||||
rake install
|
||||
cd ~/builddevcloud/veewee
|
||||
bundle install
|
||||
rake install
|
||||
bundle exec vagrant basebox define 'devcloudbase' 'ubuntu-12.04-server-i386'
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/definition.rb "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/veewee/definition.rb;hb=HEAD"
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/postinstall.sh "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/veewee/postinstall.sh;hb=HEAD"
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/preseed.cfg "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/veewee/preseed.cfg;hb=HEAD"
|
||||
bundle exec vagrant basebox build 'devcloudbase' -f -a -n
|
||||
git clone https://github.com/chipchilders/vagrant.git || error_exit
|
||||
export rvm_trust_rvmrcs_flag=1 || error_exit
|
||||
cd vagrant || error_exit
|
||||
bundle install || error_exit "could not bundle install vagrant"
|
||||
rake install || error_exit "could not rake vagrant"
|
||||
cd ~/builddevcloud/veewee || error_exit
|
||||
bundle install || error_exit
|
||||
rake install || error_exit
|
||||
bundle exec vagrant basebox define 'devcloudbase' 'ubuntu-12.04-server-i386' || error_exit "couldn't basebox define"
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/definition.rb https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/definition.rb\;hb\=HEAD || error_exit "couldn't get file"
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/postinstall.sh https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/postinstall.sh\;hb\=HEAD || error_exit "couldn't get file"
|
||||
wget --no-check-certificate -O ./definitions/devcloudbase/preseed.cfg https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/preseed.cfg\;hb\=HEAD || error_exit "couldn't get file"
|
||||
bundle exec vagrant basebox build 'devcloudbase' -f -a -n || error_exit "couldn't basebox build"
|
||||
# possibly use -r here too ^
|
||||
bundle exec vagrant basebox export 'devcloudbase' -f
|
||||
bundle exec vagrant basebox destroy 'devcloudbase' -f
|
||||
bundle exec vagrant box add 'devcloudbase' 'devcloudbase.box' -f
|
||||
rm -f devcloudbase.box
|
||||
cd ~/builddevcloud/vagrant
|
||||
mkdir devcloudbase
|
||||
cd devcloudbase
|
||||
mkdir puppet-devcloudinitial
|
||||
mkdir puppet-devcloudinitial/files
|
||||
mkdir puppet-devcloudinitial/manifests
|
||||
wget --no-check-certificate -O Vagrantfile "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/Vagrantfile;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/init.pp "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/init.pp;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/Modulefile "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/Modulefile;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/grub "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/grub;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/interfaces "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/interfaces;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/network.conf "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/network.conf;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/xen-defaults "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xen-defaults;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/xend "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xend;hb=HEAD"
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/manifests/init.pp "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/manifests/init.pp;hb=HEAD"
|
||||
|
||||
vagrant up
|
||||
vagrant halt
|
||||
vagrant package default --output ~/devcloud.box
|
||||
vagrant destroy -f
|
||||
vagrant box remove devcloudbase virtualbox
|
||||
bundle exec vagrant basebox export 'devcloudbase' -f || error_exit "couldn't basebox export"
|
||||
bundle exec vagrant basebox destroy 'devcloudbase' -f || error_exit "couldn't basebox destroy"
|
||||
bundle exec vagrant box add 'devcloudbase' 'devcloudbase.box' -f || error_exit "couldn't basebox add"
|
||||
rm -f devcloudbase.box || error_exit
|
||||
cd ~/builddevcloud/vagrant || error_exit
|
||||
mkdir devcloudbase || error_exit
|
||||
cd devcloudbase || error_exit
|
||||
mkdir puppet-devcloudinitial || error_exit
|
||||
mkdir puppet-devcloudinitial/files || error_exit
|
||||
mkdir puppet-devcloudinitial/manifests || error_exit
|
||||
wget --no-check-certificate -O Vagrantfile "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/Vagrantfile;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/init.pp "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/init.pp;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/Modulefile "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/Modulefile;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/grub "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/grub;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/interfaces "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/interfaces;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/network.conf "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/network.conf;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/xen-defaults "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xen-defaults;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/files/xend "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xend;hb=HEAD" || error_exit
|
||||
wget --no-check-certificate -O puppet-devcloudinitial/manifests/init.pp "https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/manifests/init.pp;hb=HEAD" || error_exit
|
||||
cd ~/builddevcloud/vagrant/
|
||||
bundle install || error_exit
|
||||
rake install || error_exit
|
||||
cd ~/builddevcloud/vagrant/devcloudbase/
|
||||
bundle exec vagrant up || error_exit "vagrant up failed"
|
||||
bundle exec vagrant halt || error_exit "vagrant halt failed"
|
||||
bundle exec vagrant package default --output ~/devcloud.box || error_exit "vagrant package failed"
|
||||
bundle exec vagrant destroy -f || error_exit "vagrant destroy failed"
|
||||
bundle exec vagrant box remove devcloudbase virtualbox || error_exit "vagrant box remove failed"
|
||||
|
||||
echo "Your new devcloud base box is stored in ~/devcloud.box"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user