cloud-certification-team team mailing list archive
-
cloud-certification-team team
-
Mailing list archive
-
Message #00031
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
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"
+
Follow ups
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: noreply, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
Re: lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
Re: lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
Re: lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Lane, 2013-11-27
-
lp:~jeffmarcom/cloud-testing/add-vagrant-bootstrap-testing-node into lp:cloud-testing/cloudbox
From: Jeff Marcom, 2013-10-16