From eddb3dfc92824f13507ffad283942b170575acd3 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Fri, 14 Dec 2012 19:26:00 -0800 Subject: [PATCH] devcloud: Move build scripts to src/, fix README and rm Gemfile.lock - Move build scripts to src/ - Fix README.md - Remove and ignore Gemfile.lock - Fix tabs in boxer.sh - Move to src/ Signed-off-by: Rohit Yadav --- .gitignore | 1 + tools/devcloud/README.md | 78 +++++--- tools/devcloud/deps/boxer.sh | 176 ------------------ .../deps/boxes/basebox-build/Gemfile.lock | 148 --------------- .../deps/boxes/xenbox-build/Gemfile.lock | 34 ---- tools/devcloud/{ => src}/Gemfile | 0 tools/devcloud/{ => src}/Vagrantfile | 0 tools/devcloud/{ => src}/boxit.sh | 0 tools/devcloud/src/deps/boxer.sh | 168 +++++++++++++++++ .../{ => src}/deps/boxes/basebox-build/.rvmrc | 0 .../deps/boxes/basebox-build/Gemfile | 0 .../deps/boxes/basebox-build/Vagrantfile | 0 .../deps/boxes/basebox-build/definition.rb | 0 .../deps/boxes/basebox-build/postinstall.sh | 0 .../deps/boxes/basebox-build/preseed.cfg | 0 .../{ => src}/deps/boxes/xenbox-build/.rvmrc | 0 .../{ => src}/deps/boxes/xenbox-build/Gemfile | 0 .../deps/boxes/xenbox-build/Vagrantfile | 0 .../xenbox-build/puppet/manifests/site.pp | 0 .../manifests/vagrant-devcloudinitial.pp | 0 .../puppet/modules/devcloudinitial/Modulefile | 0 .../puppet/modules/devcloudinitial/files/grub | 0 .../modules/devcloudinitial/files/interfaces | 0 .../devcloudinitial/files/iptables.save | 0 .../devcloudinitial/files/network.conf | 0 .../devcloudinitial/files/xen-defaults | 0 .../puppet/modules/devcloudinitial/files/xend | 0 .../modules/devcloudinitial/manifests/init.pp | 0 .../puppet/manifests/vagrant-devcloud.pp | 0 .../puppet/modules/devcloud/Modulefile | 0 .../puppet/modules/devcloud/files/compare.sh | 0 .../modules/devcloud/files/configebtables.sh | 0 .../devcloud/files/configlocalstorage.sh | 0 .../modules/devcloud/files/configvnc.sh | 0 .../puppet/modules/devcloud/files/exports | 0 .../modules/devcloud/files/installmaven.sh | 0 .../modules/devcloud/files/startdevcloud.sh | 0 .../modules/devcloud/files/updatecode.sh | 0 .../modules/devcloud/lib/facter/xeninfo.rb | 0 .../manifests/functions/httpdownload.pp | 0 .../puppet/modules/devcloud/manifests/init.pp | 0 .../modules/devcloud/manifests/params.pp | 3 - .../devcloud/templates/buildcloudstack.sh.erb | 0 .../devcloud/templates/startcloudstack.sh.erb | 0 tools/devcloud/{ => src}/waitforxe.sh | 0 45 files changed, 223 insertions(+), 385 deletions(-) delete mode 100755 tools/devcloud/deps/boxer.sh delete mode 100644 tools/devcloud/deps/boxes/basebox-build/Gemfile.lock delete mode 100644 tools/devcloud/deps/boxes/xenbox-build/Gemfile.lock rename tools/devcloud/{ => src}/Gemfile (100%) rename tools/devcloud/{ => src}/Vagrantfile (100%) rename tools/devcloud/{ => src}/boxit.sh (100%) create mode 100755 tools/devcloud/src/deps/boxer.sh rename tools/devcloud/{ => src}/deps/boxes/basebox-build/.rvmrc (100%) rename tools/devcloud/{ => src}/deps/boxes/basebox-build/Gemfile (100%) rename tools/devcloud/{ => src}/deps/boxes/basebox-build/Vagrantfile (100%) rename tools/devcloud/{ => src}/deps/boxes/basebox-build/definition.rb (100%) rename tools/devcloud/{ => src}/deps/boxes/basebox-build/postinstall.sh (100%) rename tools/devcloud/{ => src}/deps/boxes/basebox-build/preseed.cfg (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/.rvmrc (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/Gemfile (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/Vagrantfile (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/manifests/site.pp (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/manifests/vagrant-devcloudinitial.pp (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/Modulefile (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/grub (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/interfaces (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/iptables.save (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/network.conf (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xen-defaults (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xend (100%) rename tools/devcloud/{ => src}/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp (100%) rename tools/devcloud/{ => src}/puppet/manifests/vagrant-devcloud.pp (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/Modulefile (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/compare.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/configebtables.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/configlocalstorage.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/configvnc.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/exports (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/installmaven.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/startdevcloud.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/files/updatecode.sh (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/lib/facter/xeninfo.rb (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/manifests/functions/httpdownload.pp (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/manifests/init.pp (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/manifests/params.pp (99%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/templates/buildcloudstack.sh.erb (100%) rename tools/devcloud/{ => src}/puppet/modules/devcloud/templates/startcloudstack.sh.erb (100%) rename tools/devcloud/{ => src}/waitforxe.sh (100%) diff --git a/.gitignore b/.gitignore index aa503c4d337..9511e9ede2f 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ docs/tmp docs/publish docs/runbook/tmp docs/runbook/publish +Gemfile.lock diff --git a/tools/devcloud/README.md b/tools/devcloud/README.md index 7872bb849b0..410c36f5ea5 100644 --- a/tools/devcloud/README.md +++ b/tools/devcloud/README.md @@ -21,52 +21,82 @@ NOTE - This folder is a work in progress. The project has not determined how to best establish a nightly DevCloud build process, or how to distribute the image. - =========================================================== -# How to use devcloud -Install RVM with the latest ruby 1.9.3 patch set (not documented) +# Setting up Tools and Environment + - Install [RVM](https://rvm.io/rvm/install) + - Setup paths: + export PATH=~/.rvm/bin:$PATH + - Install Ruby 1.9.3, if it installed some other version: + rvm install 1.9.3 -cd deps +All the dependencies will be fetched automatically. - cd deps/ - #cleans up any old stuff - ./boxer.sh -c all - #builds the dependent vms - ./boxer.sh -b all +Vagrant: https://github.com/chipchilders/vagrant.git +Veewee: https://github.com/jedi4ever/veewee.git +devcloudbase/Ubuntu: http://releases.ubuntu.com/12.04/ubuntu-12.04.1-server-i386.iso -After that is complete +To save some time if you've downloaded iso of your distro, put the isos in: +tools/devcloud/deps/boxes/basebox-build/iso/ - #go back to the devcloud homedir - cd ../ - #bring up the devcloud vm - vagrant up +Note, gem would require gcc-4.2, make sure link exists: + + sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 + +# How to build DevCloud + +DevCloud build scripts are in src/ +Move to src/deps/ to start the build process: + + cd src/deps/ + +Clean up any old stuff: + + ./boxer.sh -c all + +Build the dependent vms: + + ./boxer.sh -b all + +Now, start DevCloud: + + # Go back to the devcloud homedir + cd ../ + # Bring up the devcloud vm + vagrant up If you get a vagrant error, at that point, try: - source .rvmrc - vagrant up + source .rvmrc + vagrant up + +# CloudStack Build Automation in DevCloud If you want to compile cloudstack in the devcloud vm: - vim puppet/modules/devcloud/manifests/params.pp + vim puppet/modules/devcloud/manifests/params.pp and set - $build_cloudstack = true + $build_cloudstack = true alternately, if you do not want to build cloudstack in the devcloud vm, set: - $build_cloudstack = false + $build_cloudstack = false -It will now bring up the devcloud vm for this first time. Note that it will attempt to download the SSVM and CPVM templates so it will take a long time to launch initially. It will also git clone the cloudstack repository and attempt to build an launch it. +It will now bring up the devcloud vm for this first time. Note that it will +attempt to download the SSVM and CPVM templates so it will take a long time to +launch initially. It will also git clone the cloudstack repository and attempt +to build an launch it. -You can optionally speed things up by packaging a successful devcloud instance build. This will make subsequent launches must faster since it won't have to re-downoad the SSVM and CPVM. Once it has successfully been built, you can run: +You can optionally speed things up by packaging a successful devcloud instance +build. This will make subsequent launches must faster since it won't have to +re-downoad the SSVM and CPVM. Once it has successfully been built, you can run: #exports the devcloud vagrant instance and adds it as "devcloud" to vagrant boxlist - ./boxit.sh - #modifies the Vagrant file to use this newly added instance - sed -i 's,devcloudbase-xen,devcloud,g' Vagrantfile + ./boxit.sh + #modifies the Vagrant file to use this newly added instance + sed -i 's,devcloudbase-xen,devcloud,g' Vagrantfile diff --git a/tools/devcloud/deps/boxer.sh b/tools/devcloud/deps/boxer.sh deleted file mode 100755 index 1b7bd101daf..00000000000 --- a/tools/devcloud/deps/boxer.sh +++ /dev/null @@ -1,176 +0,0 @@ -#! /bin/bash - - -# 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 - -BASEDIR=$PWD/boxes -DEVCLOUD_BASEBUILD_DIR=$BASEDIR/basebox-build -echo $DEVCLOUD_BASEBUILD_DIR -DEVCLOUD_XEN_BASEBUILD_DIR=$BASEDIR/xenbox-build -DEVCLOUD_BASE_NAME='devcloudbase' -DEVCLOUD_XEN_BASE_NAME='devcloudbase-xen' -OS='ubuntu-12.04.1-server-i386' - - -basebox() { - set +x - rvm rvmrc trust $DEVCLOUD_BASEBUILD_DIR/ - case "$1" in - build) - cd $DEVCLOUD_BASEBUILD_DIR/ - set -ex - vagrant basebox define $DEVCLOUD_BASE_NAME $OS - cp definition.rb postinstall.sh preseed.cfg definitions/$DEVCLOUD_BASE_NAME/ - vagrant basebox build $DEVCLOUD_BASE_NAME -f -a -n -r - vagrant basebox export $DEVCLOUD_BASE_NAME -f - set +ex - cd $DEVCLOUD_XEN_BASEBUILD_DIR - set -ex - vagrant box add $DEVCLOUD_BASE_NAME $DEVCLOUD_BASEBUILD_DIR/${DEVCLOUD_BASE_NAME}.box -f - ;; - clean) - cd $DEVCLOUD_BASEBUILD_DIR/ - set -x - rm -f iso/*.iso - vagrant -f basebox destroy $DEVCLOUD_BASE_NAME #-f - vagrant basebox undefine $DEVCLOUD_BASE_NAME - #hackery to inherit the proper rvmrc for the hacked vagrant - set +x - cd $BAS$DEVCLOUD_XEN_BASEBUILD_DIR - set -x - vagrant -f box remove $DEVCLOUD_BASE_NAME virtualbox - set +x - cd $DEVCLOUD_BASEBUILD_DIR - set -x - rm -f ${DEVCLOUD_BASE_NAME}.box - set +x - cd $BASEDIR - #rvm --force gemset delete vagrant-release-cloudstack - ;; - esac -} - -xenbox() { - - set +x - rvm rvmrc trust $DEVCLOUD_XEN_BASEBUILD_DIR/ - case "$1" in - build) - cd $DEVCLOUD_XEN_BASEBUILD_DIR - - #adding it here because it needs to be added into the $VAGRANT_HOME of - #the hacked vagrant - set -ex - vagrant up - vagrant halt - vagrant package default --output ${DEVCLOUD_XEN_BASE_NAME}.box - vagrant box add $DEVCLOUD_XEN_BASE_NAME ${DEVCLOUD_XEN_BASE_NAME}.box -f - ;; - clean) - cd $DEVCLOUD_XEN_BASEBUILD_DIR - set -x - vagrant -f box remove $DEVCLOUD_XEN_BASE_NAME virtualbox - vagrant destroy -f - rm -f ${DEVCLOUD_XEN_BASE_NAME}.box - set +x - #rvm --force gemset delete vagrant-xen-cloudstack - set -x - ;; - esac -} -usage() { - -cat <&2 - echo "$usage" >&2 - exit 1 - ;; - esac -done -shift $((OPTIND - 1)) - -posargs=$@ - -#removes duplicate positionals - -posargs=$(echo "$posargs" | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-) - - - -for arg in $posargs; do - - case "$arg" in - basebox) - true - ;; - xenbox) - true - ;; - all) - true - ;; - *) - usage - exit 1 - ;; - esac - -done - - -cd $BASEDIR - - -for arg in $posargs; do - case "$1" in - "all") - case "$action" in - clean) - xenbox $action - basebox $action - ;; - build) - basebox $action - xenbox $action - ;; - esac - ;; - $arg) - $arg $action - ;; - esac -done diff --git a/tools/devcloud/deps/boxes/basebox-build/Gemfile.lock b/tools/devcloud/deps/boxes/basebox-build/Gemfile.lock deleted file mode 100644 index 4550837da27..00000000000 --- a/tools/devcloud/deps/boxes/basebox-build/Gemfile.lock +++ /dev/null @@ -1,148 +0,0 @@ -GIT - remote: https://github.com/jedi4ever/veewee.git - revision: b766b90aa1903b4bf7f28f0ea4922dce4471cd03 - specs: - veewee (0.3.1) - ansi (~> 1.3.0) - childprocess - cucumber (>= 1.0.0) - fission (= 0.4.0) - fog (~> 1.4) - grit - highline - i18n - net-ssh (~> 2.2.0) - popen4 (~> 0.1.2) - progressbar - rspec (~> 2.5) - ruby-vnc (~> 1.0.0) - thor (~> 0.15) - vagrant (>= 0.9) - -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (2.0.17) - libxml-ruby (>= 1.1.0) - rake (>= 0.7.0) - Platform (0.4.0) - akami (1.2.0) - gyoku (>= 0.4.0) - nokogiri (>= 1.4.0) - ansi (1.3.0) - archive-tar-minitar (0.5.2) - builder (3.1.4) - childprocess (0.3.6) - ffi (~> 1.0, >= 1.0.6) - cucumber (1.2.1) - builder (>= 2.1.2) - diff-lcs (>= 1.1.3) - gherkin (~> 2.11.0) - json (>= 1.4.6) - diff-lcs (1.1.3) - em-winrm (0.5.4) - eventmachine (= 1.0.0.beta.3) - mixlib-log (>= 1.3.0) - uuidtools (~> 2.1.1) - winrm (~> 1.1.0) - erubis (2.7.0) - eventmachine (1.0.0.beta.3) - excon (0.16.10) - ffi (1.2.0) - fission (0.4.0) - CFPropertyList (~> 2.0.17) - fog (1.7.0) - builder - excon (~> 0.14) - formatador (~> 0.2.0) - mime-types - multi_json (~> 1.0) - net-scp (~> 1.0.4) - net-ssh (>= 2.1.3) - nokogiri (~> 1.5.0) - ruby-hmac - formatador (0.2.4) - gherkin (2.11.5) - json (>= 1.4.6) - grit (2.5.0) - diff-lcs (~> 1.1) - mime-types (~> 1.15) - posix-spawn (~> 0.3.6) - gssapi (1.0.3) - ffi (>= 1.0.1) - gyoku (0.4.6) - builder (>= 2.1.2) - highline (1.6.15) - httpclient (2.2.0.2) - httpi (0.9.7) - rack - i18n (0.6.1) - json (1.5.4) - libxml-ruby (2.3.3) - little-plugger (1.1.3) - log4r (1.1.10) - logging (1.6.2) - little-plugger (>= 1.1.3) - mime-types (1.19) - mixlib-log (1.4.1) - multi_json (1.3.7) - net-scp (1.0.4) - net-ssh (>= 1.99.1) - net-ssh (2.2.2) - nokogiri (1.5.5) - nori (1.1.3) - open4 (1.3.0) - popen4 (0.1.2) - Platform (>= 0.4.0) - open4 (>= 0.4.0) - posix-spawn (0.3.6) - progressbar (0.11.0) - rack (1.4.1) - rake (10.0.2) - rspec (2.12.0) - rspec-core (~> 2.12.0) - rspec-expectations (~> 2.12.0) - rspec-mocks (~> 2.12.0) - rspec-core (2.12.0) - rspec-expectations (2.12.0) - diff-lcs (~> 1.1.3) - rspec-mocks (2.12.0) - ruby-hmac (0.4.0) - ruby-vnc (1.0.1) - rubyntlm (0.1.1) - savon (0.9.5) - akami (~> 1.0) - builder (>= 2.1.2) - gyoku (>= 0.4.0) - httpi (~> 0.9) - nokogiri (>= 1.4.0) - nori (~> 1.0) - wasabi (~> 1.0) - thor (0.16.0) - uuidtools (2.1.3) - vagrant (1.0.5) - archive-tar-minitar (= 0.5.2) - childprocess (~> 0.3.1) - erubis (~> 2.7.0) - i18n (~> 0.6.0) - json (~> 1.5.1) - log4r (~> 1.1.9) - net-scp (~> 1.0.4) - net-ssh (~> 2.2.2) - wasabi (1.0.0) - nokogiri (>= 1.4.0) - winrm (1.1.2) - gssapi (~> 1.0.0) - httpclient (~> 2.2.0.2) - logging (~> 1.6.1) - nokogiri (~> 1.5.0) - rubyntlm (~> 0.1.1) - savon (= 0.9.5) - uuidtools (~> 2.1.2) - -PLATFORMS - ruby - -DEPENDENCIES - em-winrm - veewee! diff --git a/tools/devcloud/deps/boxes/xenbox-build/Gemfile.lock b/tools/devcloud/deps/boxes/xenbox-build/Gemfile.lock deleted file mode 100644 index e63bbc6bb1b..00000000000 --- a/tools/devcloud/deps/boxes/xenbox-build/Gemfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -GIT - remote: https://github.com/chipchilders/vagrant - revision: 781b2d974108a5421765883034fc27dd9857e9c0 - specs: - vagrant (1.1.0.dev) - archive-tar-minitar (= 0.5.2) - childprocess (~> 0.3.1) - erubis (~> 2.7.0) - i18n (~> 0.6.0) - json (~> 1.6.6) - log4r (~> 1.1.9) - net-scp (~> 1.0.4) - net-ssh (~> 2.2.2) - -GEM - remote: https://rubygems.org/ - specs: - archive-tar-minitar (0.5.2) - childprocess (0.3.6) - ffi (~> 1.0, >= 1.0.6) - erubis (2.7.0) - ffi (1.2.0) - i18n (0.6.1) - json (1.6.7) - log4r (1.1.10) - net-scp (1.0.4) - net-ssh (>= 1.99.1) - net-ssh (2.2.2) - -PLATFORMS - ruby - -DEPENDENCIES - vagrant! diff --git a/tools/devcloud/Gemfile b/tools/devcloud/src/Gemfile similarity index 100% rename from tools/devcloud/Gemfile rename to tools/devcloud/src/Gemfile diff --git a/tools/devcloud/Vagrantfile b/tools/devcloud/src/Vagrantfile similarity index 100% rename from tools/devcloud/Vagrantfile rename to tools/devcloud/src/Vagrantfile diff --git a/tools/devcloud/boxit.sh b/tools/devcloud/src/boxit.sh similarity index 100% rename from tools/devcloud/boxit.sh rename to tools/devcloud/src/boxit.sh diff --git a/tools/devcloud/src/deps/boxer.sh b/tools/devcloud/src/deps/boxer.sh new file mode 100755 index 00000000000..29b3cb2a5f4 --- /dev/null +++ b/tools/devcloud/src/deps/boxer.sh @@ -0,0 +1,168 @@ +#! /bin/bash + +# 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 + +BASEDIR=$PWD/boxes +DEVCLOUD_BASEBUILD_DIR=$BASEDIR/basebox-build +echo $DEVCLOUD_BASEBUILD_DIR +DEVCLOUD_XEN_BASEBUILD_DIR=$BASEDIR/xenbox-build +DEVCLOUD_BASE_NAME='devcloudbase' +DEVCLOUD_XEN_BASE_NAME='devcloudbase-xen' +OS='ubuntu-12.04.1-server-i386' + + +basebox() { + set +x + rvm rvmrc trust $DEVCLOUD_BASEBUILD_DIR/ + case "$1" in + build) + cd $DEVCLOUD_BASEBUILD_DIR/ + set -ex + vagrant basebox define $DEVCLOUD_BASE_NAME $OS + cp definition.rb postinstall.sh preseed.cfg definitions/$DEVCLOUD_BASE_NAME/ + vagrant basebox build $DEVCLOUD_BASE_NAME -f -a -n -r + vagrant basebox export $DEVCLOUD_BASE_NAME -f + set +ex + cd $DEVCLOUD_XEN_BASEBUILD_DIR + set -ex + vagrant box add $DEVCLOUD_BASE_NAME $DEVCLOUD_BASEBUILD_DIR/${DEVCLOUD_BASE_NAME}.box -f + ;; + clean) + cd $DEVCLOUD_BASEBUILD_DIR/ + set -x + rm -f iso/*.iso + vagrant -f basebox destroy $DEVCLOUD_BASE_NAME #-f + vagrant basebox undefine $DEVCLOUD_BASE_NAME + #hackery to inherit the proper rvmrc for the hacked vagrant + set +x + cd $BAS$DEVCLOUD_XEN_BASEBUILD_DIR + set -x + vagrant -f box remove $DEVCLOUD_BASE_NAME virtualbox + set +x + cd $DEVCLOUD_BASEBUILD_DIR + set -x + rm -f ${DEVCLOUD_BASE_NAME}.box + set +x + cd $BASEDIR + #rvm --force gemset delete vagrant-release-cloudstack + ;; + esac +} + +xenbox() { + + set +x + rvm rvmrc trust $DEVCLOUD_XEN_BASEBUILD_DIR/ + case "$1" in + build) + cd $DEVCLOUD_XEN_BASEBUILD_DIR + + #adding it here because it needs to be added into the $VAGRANT_HOME of + #the hacked vagrant + set -ex + vagrant up + vagrant halt + vagrant package default --output ${DEVCLOUD_XEN_BASE_NAME}.box + vagrant box add $DEVCLOUD_XEN_BASE_NAME ${DEVCLOUD_XEN_BASE_NAME}.box -f + ;; + clean) + cd $DEVCLOUD_XEN_BASEBUILD_DIR + set -x + vagrant -f box remove $DEVCLOUD_XEN_BASE_NAME virtualbox + vagrant destroy -f + rm -f ${DEVCLOUD_XEN_BASE_NAME}.box + set +x + #rvm --force gemset delete vagrant-xen-cloudstack + set -x + ;; + esac +} +usage() { + +cat <&2 + echo "$usage" >&2 + exit 1 + ;; + esac +done +shift $((OPTIND - 1)) + +posargs=$@ + +#removes duplicate positionals + +posargs=$(echo "$posargs" | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-) + + + +for arg in $posargs; do + + case "$arg" in + basebox) + true + ;; + xenbox) + true + ;; + all) + true + ;; + *) + usage + exit 1 + ;; + esac + +done + +cd $BASEDIR + +for arg in $posargs; do + case "$1" in + "all") + case "$action" in + clean) + xenbox $action + basebox $action + ;; + build) + basebox $action + xenbox $action + ;; + esac + ;; + $arg) + $arg $action + ;; + esac +done diff --git a/tools/devcloud/deps/boxes/basebox-build/.rvmrc b/tools/devcloud/src/deps/boxes/basebox-build/.rvmrc similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/.rvmrc rename to tools/devcloud/src/deps/boxes/basebox-build/.rvmrc diff --git a/tools/devcloud/deps/boxes/basebox-build/Gemfile b/tools/devcloud/src/deps/boxes/basebox-build/Gemfile similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/Gemfile rename to tools/devcloud/src/deps/boxes/basebox-build/Gemfile diff --git a/tools/devcloud/deps/boxes/basebox-build/Vagrantfile b/tools/devcloud/src/deps/boxes/basebox-build/Vagrantfile similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/Vagrantfile rename to tools/devcloud/src/deps/boxes/basebox-build/Vagrantfile diff --git a/tools/devcloud/deps/boxes/basebox-build/definition.rb b/tools/devcloud/src/deps/boxes/basebox-build/definition.rb similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/definition.rb rename to tools/devcloud/src/deps/boxes/basebox-build/definition.rb diff --git a/tools/devcloud/deps/boxes/basebox-build/postinstall.sh b/tools/devcloud/src/deps/boxes/basebox-build/postinstall.sh similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/postinstall.sh rename to tools/devcloud/src/deps/boxes/basebox-build/postinstall.sh diff --git a/tools/devcloud/deps/boxes/basebox-build/preseed.cfg b/tools/devcloud/src/deps/boxes/basebox-build/preseed.cfg similarity index 100% rename from tools/devcloud/deps/boxes/basebox-build/preseed.cfg rename to tools/devcloud/src/deps/boxes/basebox-build/preseed.cfg diff --git a/tools/devcloud/deps/boxes/xenbox-build/.rvmrc b/tools/devcloud/src/deps/boxes/xenbox-build/.rvmrc similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/.rvmrc rename to tools/devcloud/src/deps/boxes/xenbox-build/.rvmrc diff --git a/tools/devcloud/deps/boxes/xenbox-build/Gemfile b/tools/devcloud/src/deps/boxes/xenbox-build/Gemfile similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/Gemfile rename to tools/devcloud/src/deps/boxes/xenbox-build/Gemfile diff --git a/tools/devcloud/deps/boxes/xenbox-build/Vagrantfile b/tools/devcloud/src/deps/boxes/xenbox-build/Vagrantfile similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/Vagrantfile rename to tools/devcloud/src/deps/boxes/xenbox-build/Vagrantfile diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/manifests/site.pp b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/manifests/site.pp similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/manifests/site.pp rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/manifests/site.pp diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/manifests/vagrant-devcloudinitial.pp b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/manifests/vagrant-devcloudinitial.pp similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/manifests/vagrant-devcloudinitial.pp rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/manifests/vagrant-devcloudinitial.pp diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/Modulefile b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/Modulefile similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/Modulefile rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/Modulefile diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/grub b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/grub similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/grub rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/grub diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/interfaces b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/interfaces similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/interfaces rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/interfaces diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/iptables.save b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/iptables.save similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/iptables.save rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/iptables.save diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/network.conf b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/network.conf similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/network.conf rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/network.conf diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xen-defaults b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xen-defaults similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xen-defaults rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xen-defaults diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xend b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xend similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xend rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/files/xend diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp b/tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp similarity index 100% rename from tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp rename to tools/devcloud/src/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp diff --git a/tools/devcloud/puppet/manifests/vagrant-devcloud.pp b/tools/devcloud/src/puppet/manifests/vagrant-devcloud.pp similarity index 100% rename from tools/devcloud/puppet/manifests/vagrant-devcloud.pp rename to tools/devcloud/src/puppet/manifests/vagrant-devcloud.pp diff --git a/tools/devcloud/puppet/modules/devcloud/Modulefile b/tools/devcloud/src/puppet/modules/devcloud/Modulefile similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/Modulefile rename to tools/devcloud/src/puppet/modules/devcloud/Modulefile diff --git a/tools/devcloud/puppet/modules/devcloud/files/compare.sh b/tools/devcloud/src/puppet/modules/devcloud/files/compare.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/compare.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/compare.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/configebtables.sh b/tools/devcloud/src/puppet/modules/devcloud/files/configebtables.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/configebtables.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/configebtables.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/configlocalstorage.sh b/tools/devcloud/src/puppet/modules/devcloud/files/configlocalstorage.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/configlocalstorage.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/configlocalstorage.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/configvnc.sh b/tools/devcloud/src/puppet/modules/devcloud/files/configvnc.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/configvnc.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/configvnc.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/exports b/tools/devcloud/src/puppet/modules/devcloud/files/exports similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/exports rename to tools/devcloud/src/puppet/modules/devcloud/files/exports diff --git a/tools/devcloud/puppet/modules/devcloud/files/installmaven.sh b/tools/devcloud/src/puppet/modules/devcloud/files/installmaven.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/installmaven.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/installmaven.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/startdevcloud.sh b/tools/devcloud/src/puppet/modules/devcloud/files/startdevcloud.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/startdevcloud.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/startdevcloud.sh diff --git a/tools/devcloud/puppet/modules/devcloud/files/updatecode.sh b/tools/devcloud/src/puppet/modules/devcloud/files/updatecode.sh similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/files/updatecode.sh rename to tools/devcloud/src/puppet/modules/devcloud/files/updatecode.sh diff --git a/tools/devcloud/puppet/modules/devcloud/lib/facter/xeninfo.rb b/tools/devcloud/src/puppet/modules/devcloud/lib/facter/xeninfo.rb similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/lib/facter/xeninfo.rb rename to tools/devcloud/src/puppet/modules/devcloud/lib/facter/xeninfo.rb diff --git a/tools/devcloud/puppet/modules/devcloud/manifests/functions/httpdownload.pp b/tools/devcloud/src/puppet/modules/devcloud/manifests/functions/httpdownload.pp similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/manifests/functions/httpdownload.pp rename to tools/devcloud/src/puppet/modules/devcloud/manifests/functions/httpdownload.pp diff --git a/tools/devcloud/puppet/modules/devcloud/manifests/init.pp b/tools/devcloud/src/puppet/modules/devcloud/manifests/init.pp similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/manifests/init.pp rename to tools/devcloud/src/puppet/modules/devcloud/manifests/init.pp diff --git a/tools/devcloud/puppet/modules/devcloud/manifests/params.pp b/tools/devcloud/src/puppet/modules/devcloud/manifests/params.pp similarity index 99% rename from tools/devcloud/puppet/modules/devcloud/manifests/params.pp rename to tools/devcloud/src/puppet/modules/devcloud/manifests/params.pp index c6bd9f6fd48..836263a9a45 100644 --- a/tools/devcloud/puppet/modules/devcloud/manifests/params.pp +++ b/tools/devcloud/src/puppet/modules/devcloud/manifests/params.pp @@ -10,9 +10,6 @@ # class devcloud::params { - - - $cs_dir = '/opt/cloudstack' $storage_dir = '/opt/storage' $tomcat_version = '6.0.32' diff --git a/tools/devcloud/puppet/modules/devcloud/templates/buildcloudstack.sh.erb b/tools/devcloud/src/puppet/modules/devcloud/templates/buildcloudstack.sh.erb similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/templates/buildcloudstack.sh.erb rename to tools/devcloud/src/puppet/modules/devcloud/templates/buildcloudstack.sh.erb diff --git a/tools/devcloud/puppet/modules/devcloud/templates/startcloudstack.sh.erb b/tools/devcloud/src/puppet/modules/devcloud/templates/startcloudstack.sh.erb similarity index 100% rename from tools/devcloud/puppet/modules/devcloud/templates/startcloudstack.sh.erb rename to tools/devcloud/src/puppet/modules/devcloud/templates/startcloudstack.sh.erb diff --git a/tools/devcloud/waitforxe.sh b/tools/devcloud/src/waitforxe.sh similarity index 100% rename from tools/devcloud/waitforxe.sh rename to tools/devcloud/src/waitforxe.sh