summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorCody Herriges <cody@herriges.org>2015-08-04 11:53:56 -0700
committerSebastien Badia <sbadia@redhat.com>2015-08-18 14:30:54 +0200
commite879bb607009ecf7f7d48e5210409408e5a17f44 (patch)
treec9d883aaa4d01d6a4cbd097c79a79539d7d5c176 /spec
parent4ba15f8918ea34a2de49f68ab66229d5c30adaf9 (diff)
Initial msync run for all Puppet OpenStack modules
This patch is the initial modulesync run, it impacts: * gitignore: just a sync between projects * gemfile: - update and allow to setup facter version and gem source - split beaker gems with a dedicated group - switch to rspec-puppet 2.2.0 * rakefile: - use the new syntax for lint configuration - add a acceptance target * acceptance: - sync nodesets - update tests in order to use zuul-cloner * spec: added rspec coverage report Change-Id: Iadefbe2cc0525224e9917c6712712c67ce1e0fff
Diffstat (limited to 'spec')
-rw-r--r--spec/acceptance/nodesets/centos-70-x64.yml11
-rw-r--r--spec/acceptance/nodesets/default.yml11
-rw-r--r--spec/acceptance/nodesets/nodepool-centos7.yml10
-rw-r--r--spec/acceptance/nodesets/nodepool-trusty.yml10
-rw-r--r--spec/acceptance/nodesets/ubuntu-server-1404-x64.yml11
-rw-r--r--spec/spec_helper.rb3
-rw-r--r--spec/spec_helper_acceptance.rb56
7 files changed, 112 insertions, 0 deletions
diff --git a/spec/acceptance/nodesets/centos-70-x64.yml b/spec/acceptance/nodesets/centos-70-x64.yml
new file mode 100644
index 0000000..5f097e9
--- /dev/null
+++ b/spec/acceptance/nodesets/centos-70-x64.yml
@@ -0,0 +1,11 @@
+HOSTS:
+ centos-server-70-x64:
+ roles:
+ - master
+ platform: el-7-x86_64
+ box: puppetlabs/centos-7.0-64-nocm
+ box_url: https://vagrantcloud.com/puppetlabs/centos-7.0-64-nocm
+ hypervisor: vagrant
+CONFIG:
+ log_level: debug
+ type: foss
diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml
new file mode 100644
index 0000000..3bb3e62
--- /dev/null
+++ b/spec/acceptance/nodesets/default.yml
@@ -0,0 +1,11 @@
+HOSTS:
+ ubuntu-server-1404-x64:
+ roles:
+ - master
+ platform: ubuntu-14.04-amd64
+ box: puppetlabs/ubuntu-14.04-64-nocm
+ box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
+ hypervisor: vagrant
+CONFIG:
+ log_level: debug
+ type: git
diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml
new file mode 100644
index 0000000..c552874
--- /dev/null
+++ b/spec/acceptance/nodesets/nodepool-centos7.yml
@@ -0,0 +1,10 @@
+HOSTS:
+ centos-70-x64:
+ roles:
+ - master
+ platform: el-7-x86_64
+ hypervisor: none
+ ip: 127.0.0.1
+CONFIG:
+ type: foss
+ set_env: false
diff --git a/spec/acceptance/nodesets/nodepool-trusty.yml b/spec/acceptance/nodesets/nodepool-trusty.yml
new file mode 100644
index 0000000..7f503ca
--- /dev/null
+++ b/spec/acceptance/nodesets/nodepool-trusty.yml
@@ -0,0 +1,10 @@
+HOSTS:
+ ubuntu-1404-x64:
+ roles:
+ - master
+ platform: ubuntu-14.04-amd64
+ hypervisor: none
+ ip: 127.0.0.1
+CONFIG:
+ type: foss
+ set_env: false
diff --git a/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml b/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
new file mode 100644
index 0000000..3bb3e62
--- /dev/null
+++ b/spec/acceptance/nodesets/ubuntu-server-1404-x64.yml
@@ -0,0 +1,11 @@
+HOSTS:
+ ubuntu-server-1404-x64:
+ roles:
+ - master
+ platform: ubuntu-14.04-amd64
+ box: puppetlabs/ubuntu-14.04-64-nocm
+ box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
+ hypervisor: vagrant
+CONFIG:
+ log_level: debug
+ type: git
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 0171d5d..700be6a 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,6 @@
require 'puppetlabs_spec_helper/module_spec_helper'
require 'shared_examples'
+require 'webmock/rspec'
RSpec.configure do |c|
c.alias_it_should_behave_like_to :it_configures, 'configures'
@@ -14,3 +15,5 @@ RSpec.configure do |c|
:uniqueid => '123'
}
end
+
+at_exit { RSpec::Puppet::Coverage.report! }
diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
new file mode 100644
index 0000000..429e807
--- /dev/null
+++ b/spec/spec_helper_acceptance.rb
@@ -0,0 +1,56 @@
+require 'beaker-rspec'
+require 'beaker/puppet_install_helper'
+
+run_puppet_install_helper
+
+RSpec.configure do |c|
+ # Project root
+ proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
+ modname = JSON.parse(open('metadata.json').read)['name'].split('-')[1]
+
+ # Readable test descriptions
+ c.formatter = :documentation
+
+ # Configure all nodes in nodeset
+ c.before :suite do
+ # Install module and dependencies
+ hosts.each do |host|
+
+ # install git
+ install_package host, 'git'
+
+ zuul_ref = ENV['ZUUL_REF']
+ zuul_branch = ENV['ZUUL_BRANCH']
+ zuul_url = ENV['ZUUL_URL']
+
+ repo = 'openstack/puppet-openstack-integration'
+
+ # Start out with clean moduledir, don't trust r10k to purge it
+ on host, "rm -rf /etc/puppet/modules/*"
+ # Install dependent modules via git or zuul
+ r = on host, "test -e /usr/zuul-env/bin/zuul-cloner", { :acceptable_exit_codes => [0,1] }
+ if r.exit_code == 0
+ zuul_clone_cmd = '/usr/zuul-env/bin/zuul-cloner '
+ zuul_clone_cmd += '--cache-dir /opt/git '
+ zuul_clone_cmd += "--zuul-ref #{zuul_ref} "
+ zuul_clone_cmd += "--zuul-branch #{zuul_branch} "
+ zuul_clone_cmd += "--zuul-url #{zuul_url} "
+ zuul_clone_cmd += "git://git.openstack.org #{repo}"
+ on host, zuul_clone_cmd
+ else
+ on host, "git clone https://git.openstack.org/#{repo} #{repo}"
+ end
+
+ on host, "ZUUL_REF=#{zuul_ref} ZUUL_BRANCH=#{zuul_branch} ZUUL_URL=#{zuul_url} bash #{repo}/install_modules.sh"
+
+ # Install the module being tested
+ on host, "rm -fr /etc/puppet/modules/#{modname}"
+ puppet_module_install(:source => proj_root, :module_name => modname)
+
+ on host, "rm -fr #{repo}"
+
+ # List modules installed to help with debugging
+ on host, puppet('module','list'), { :acceptable_exit_codes => 0 }
+ end
+ end
+end