Jeff Marcom has proposed merging lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox.
Requested reviews: Cloud Certification (cloud-certification-team) For more details, see: https://code.launchpad.net/~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node/+merge/191094 This adds another Vagrant VM provisioning process to cloudbox source tree. The idea is that this (as of now will just install the cloudbox package for testing). A future merge request will include running a test case that adds the Vagrant VM as a node in a pre-installed/configured MAAS deployment, which will in turn function as the the juju bootstrap node for testing purposes. Usage: For cloudbox development with devstack simply: vagrant up cloudbox_development For a base testing VM/bootstrap Node: vagrant up ubuntu_cloud_testing. -- https://code.launchpad.net/~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node/+merge/191094 Your team Cloud Certification is requested to review the proposed merge of lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox.
=== modified file 'Vagrantfile' --- Vagrantfile 2013-08-20 04:36:18 +0000 +++ Vagrantfile 2013-10-15 04:02:11 +0000 @@ -6,98 +6,28 @@ # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. - config.vm.share_folder "cloudbox", "/tmp/source", "../cloudbox" - config.vm.customize ["modifyvm", :id, "--memory", 4096] - config.vm.customize ["modifyvm", :id, "--cpus", 4] - # Every Vagrant virtual environment requires a box to build off of. - config.vm.box = "cloudbox" - config.vm.provision :shell, :path => "vagrant_test.sh" - - # The url from where the 'config.vm.box' box will be fetched if it - # doesn't already exist on the user's system. - config.vm.box_url = "http://files.vagrantup.com/precise64.box" - - # Boot with a GUI so you can see the screen. (Default is headless) - # config.vm.boot_mode = :gui - - # Assign this VM to a host-only network IP, allowing you to access it - # via the IP. Host-only networks can talk to the host machine as well as - # any other machines on the same network, but cannot be accessed (through this - # network interface) by any external networks. - # config.vm.network :hostonly, "192.168.33.10" - - # Assign this VM to a bridged network, allowing you to connect directly to a - # network using the host's network device. This makes the VM appear as another - # physical device on your network. - config.vm.network :bridged - - # Forward a port from the guest to the host, which allows for outside - # computers to access the VM, whereas host only networking does not. - # config.vm.forward_port 80, 8080 - - # Share an additional folder to the guest VM. The first argument is - # an identifier, the second is the path on the guest to mount the - # folder, and the third is the path on the host to the actual folder. - # config.vm.share_folder "v-data", "/vagrant_data", "../data" - - # Enable provisioning with Puppet stand alone. Puppet manifests - # are contained in a directory path relative to this Vagrantfile. - # You will need to create the manifests directory and a manifest in - # the file cloudbox.pp in the manifests_path directory. - # - # An example Puppet manifest to provision the message of the day: - # - # # group { "puppet": - # # ensure => "present", - # # } - # # - # # File { owner => 0, group => 0, mode => 0644 } - # # - # # file { '/etc/motd': - # # content => "Welcome to your Vagrant-built virtual machine! - # # Managed by Puppet.\n" - # # } - # - # config.vm.provision :puppet do |puppet| - # puppet.manifests_path = "manifests" - # puppet.manifest_file = "cloudbox.pp" - # end - - # Enable provisioning with chef solo, specifying a cookbooks path, roles - # path, and data_bags path (all relative to this Vagrantfile), and adding - # some recipes and/or roles. - # - # config.vm.provision :chef_solo do |chef| - # chef.cookbooks_path = "../my-recipes/cookbooks" - # chef.roles_path = "../my-recipes/roles" - # chef.data_bags_path = "../my-recipes/data_bags" - # chef.add_recipe "mysql" - # chef.add_role "web" - # - # # You may also specify custom JSON attributes: - # chef.json = { :mysql_password => "foo" } - # end - - # Enable provisioning with chef server, specifying the chef server URL, - # and the path to the validation key (relative to this Vagrantfile). - # - # The Opscode Platform uses HTTPS. Substitute your organization for - # ORGNAME in the URL and validation key. - # - # If you have your own Chef Server, use the appropriate URL, which may be - # HTTP instead of HTTPS depending on your configuration. Also change the - # validation key to validation.pem. - # - # config.vm.provision :chef_client do |chef| - # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME" - # chef.validation_key_path = "ORGNAME-validator.pem" - # end - # - # If you're using the Opscode platform, your validator client is - # ORGNAME-validator, replacing ORGNAME with your organization name. - # - # IF you have your own Chef Server, the default validation client name is - # chef-validator, unless you changed the configuration. - # - # chef.validation_client_name = "ORGNAME-validator" + # Define an environment for devstack + config.vm.define :cloudbox_development do |cloudbox_development| + cloudbox_development.vm.share_folder "cloudbox", "/tmp/source", "../cloudbox" + cloudbox_development.vm.customize ["modifyvm", :id, "--memory", 4096] + cloudbox_development.vm.customize ["modifyvm", :id, "--cpus", 4] + + cloudbox_development.vm.box = "cloudbox_development" + cloudbox_development.vm.provision :shell, :path => "test_with_devstack.sh" + cloudbox_development.vm.box_url = "http://files.vagrantup.com/precise64.box" + + cloudbox_development.vm.network :bridged + end + # Define an environment for Ubuntu Cloud Test Suite + config.vm.define :ubuntu_cloud_testing do |ubuntu_cloud_testing| + ubuntu_cloud_testing.vm.share_folder "cloudbox", "/tmp/source", "../cloudbox" + ubuntu_cloud_testing.vm.customize ["modifyvm", :id, "--memory", 4096] + ubuntu_cloud_testing.vm.customize ["modifyvm", :id, "--cpus", 4] + + ubuntu_cloud_testing.vm.box = "ubuntu_cloud_testing" + ubuntu_cloud_testing.vm.provision :shell, :path => "ubuntu_cloud_testing.sh" + ubuntu_cloud_testing.vm.box_url = "http://files.vagrantup.com/precise64.box" + + config.vm.network :bridged + end end === renamed file 'vagrant_test.sh' => 'test_with_devstack.sh' === added file 'ubuntu_cloud_testing.sh' --- ubuntu_cloud_testing.sh 1970-01-01 00:00:00 +0000 +++ ubuntu_cloud_testing.sh 2013-10-15 04:02:11 +0000 @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +apt-get update + +install_toolset(){ + echo "Installing toolset" + apt-get install git bzr dpkg-dev expect python-software-properties vim -y +} + +install_cloudbox(){ + cp -r /tmp/source /cloudbox + cd /cloudbox + + # Install ppa for dependencies + add-apt-repository ppa:cloud-certification-team/cloud-testing-ppa -y + apt-get update + + # Get build dependencies + apt-get install dh-translations po-debconf python-distutils-extra python-setuptools python3-setuptools python3-all python3-distutils-extra python3-gi python3-pkg-resources -y + dpkg-buildpackage + dpkg -i install ../cloudbox*deb + apt-get install -f -y + cd - +} + +install_toolset +install_cloudbox +echo "Finished bootstrap" +
-- Mailing list: https://launchpad.net/~cloud-certification-team Post to : cloud-certification-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~cloud-certification-team More help : https://help.launchpad.net/ListHelp