From c0e89882e5bf9c6ab32f739335bdfb10ee02a770 Mon Sep 17 00:00:00 2001 From: Jan Klare Date: Wed, 29 Apr 2015 10:42:03 +0200 Subject: [PATCH] move from bundler to chefdk - deprecated Gemfile - updated TESTING and README - updated Rakefile to use chef exec instead of bundle exec - replaces Runner by SoloRunner in specs Change-Id: Idb2180fb0cfd48b2c2c22e531b1f1320a0ab247b --- Gemfile | 4 ++++ README.md | 1 + Rakefile | 21 +++++++-------------- TESTING.md | 17 +++++++++-------- spec/api-cfn-redhat_spec.rb | 2 +- spec/api-cloudwatch-redhat_spec.rb | 2 +- spec/api-redhat_spec.rb | 2 +- spec/client-redhat_spec.rb | 2 +- spec/client_spec.rb | 2 +- spec/common-redhat_spec.rb | 2 +- spec/common_spec.rb | 2 +- spec/engine-redhat_spec.rb | 2 +- spec/identity_registration_spec.rb | 2 +- 13 files changed, 30 insertions(+), 31 deletions(-) diff --git a/Gemfile b/Gemfile index 1299374..31c90b5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,7 @@ +## THIS GEMFILE IS DEPRECATED AND WILL BE REMOVED AFTER THE NEXT RELEASE +## THERE WON'T BE ANY UPDATES TO THIS FILE DURING THIS RELEASE CYCLE +## WE SWITCHED TO CHEFDK AS THE BUNDLE FOR THE NEEDED GEMS + source 'https://rubygems.org' gem 'chef', '~> 11.18.6' diff --git a/README.md b/README.md index b783e28..ead4ac0 100644 --- a/README.md +++ b/README.md @@ -209,6 +209,7 @@ License and Author | **Author** | Chen Zhiwei () | | **Author** | Ionut Artarisi () | | **Author** | Mark Vanderwiel () | +| **Author** | Jan Klare () | | | | | **Copyright** | Copyright (c) 2013-2014, IBM Corp. | | **Copyright** | Copyright (c) 2014, SUSE Linux, GmbH. | diff --git a/Rakefile b/Rakefile index e9952df..357a6c0 100644 --- a/Rakefile +++ b/Rakefile @@ -2,32 +2,25 @@ task default: ["test"] task :test => [:lint, :style, :unit] -task :bundler_prep do - mkdir_p '.bundle' - sh %{bundle install --path=.bundle --jobs 1 --retry 3 --verbose} +task :berks_prep do + sh %{chef exec berks vendor} end -task :berks_prep => :bundler_prep do - sh %{bundle exec berks vendor} +task :lint do + sh %{chef exec foodcritic --epic-fail any --tags ~FC003 --tags ~FC023 .} end -task :lint => :bundler_prep do - sh %{bundle exec foodcritic --epic-fail any --tags ~FC003 --tags ~FC023 .} -end - -task :style => :bundler_prep do - sh %{bundle exec rubocop} +task :style do + sh %{chef exec rubocop} end task :unit => :berks_prep do - sh %{bundle exec rspec --format documentation} + sh %{chef exec rspec --format documentation} end task :clean do rm_rf [ - '.bundle', 'berks-cookbooks', - 'Gemfile.lock', 'Berksfile.lock' ] end diff --git a/TESTING.md b/TESTING.md index fa2e9c1..10f1fe3 100644 --- a/TESTING.md +++ b/TESTING.md @@ -1,18 +1,18 @@ # Testing the Cookbook # -This cookbook uses [bundler](http://gembundler.com/) and [berkshelf](http://berkshelf.com/) to isolate dependencies. Make sure you have `ruby 1.9.x`, `bundler`, `rake`, build essentials and the header files for `gecode` installed before continuing. Make sure that you're using gecode version 3. More info [here](https://github.com/opscode/dep-selector-libgecode/tree/0bad63fea305ede624c58506423ced697dd2545e#using-a-system-gecode-instead). +This cookbook uses [chefdk](https://downloads.chef.io/chef-dk/) and [berkshelf](http://berkshelf.com/) to isolate dependencies. Make sure you have chefdk and the header files for `gecode` installed before continuing. Make sure that you're using gecode version 3. More info [here](https://github.com/opscode/dep-selector-libgecode/tree/0bad63fea305ede624c58506423ced697dd2545e#using-a-system-gecode-instead). For more detailed information on what needs to be installed, you can have a quick look into the bootstrap.sh file in this repository, which does install all the needed things to get going on ubuntu trusty. The tests defined in the Rakefile include lint, style and unit. For integration testing please refere to the [openstack-chef-repo](https://github.com/stackforge/openstack-chef-repo). -We have three test suites which you can run individually (there are three rake tasks): +We have three test suites which you can run either, individually (there are three rake tasks): - $ rake lint - $ rake style - $ rake unit + $ chef exec rake lint + $ chef exec rake style + $ chef exec rake unit or altogether: - $ rake test + $ chef exec rake -The `rake` tasks will take care of installing the needed gem dependencies and cookbooks with `berkshelf`. +The `rake` tasks will take care of installing the needed cookbooks with `berkshelf`. ## Rubocop ## @@ -27,4 +27,5 @@ The `rake` tasks will take care of installing the needed gem dependencies and co ## Chefspec -[ChefSpec](https://github.com/sethvargo/chefspec/) is a unit testing framework for testing Chef cookbooks. ChefSpec makes it easy to write examples and get fast feedback on cookbook changes without the need for virtual machines or cloud servers. +[ChefSpec](https://github.com/sethvargo/chefspec) is a unit testing framework for testing Chef cookbooks. ChefSpec makes it easy to write examples and get fast feedback on cookbook changes without the need for virtual machines or cloud servers. + diff --git a/spec/api-cfn-redhat_spec.rb b/spec/api-cfn-redhat_spec.rb index 173b4b6..e62bb48 100644 --- a/spec/api-cfn-redhat_spec.rb +++ b/spec/api-cfn-redhat_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::api-cfn' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/api-cloudwatch-redhat_spec.rb b/spec/api-cloudwatch-redhat_spec.rb index 323295e..61ca06d 100644 --- a/spec/api-cloudwatch-redhat_spec.rb +++ b/spec/api-cloudwatch-redhat_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::api-cloudwatch' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/api-redhat_spec.rb b/spec/api-redhat_spec.rb index 5fd15a7..2fc997a 100644 --- a/spec/api-redhat_spec.rb +++ b/spec/api-redhat_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::api' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/client-redhat_spec.rb b/spec/client-redhat_spec.rb index 2c545fc..c15c57b 100644 --- a/spec/client-redhat_spec.rb +++ b/spec/client-redhat_spec.rb @@ -4,7 +4,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::client' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:chef_run) { runner.converge(described_recipe) } it 'installs packages' do diff --git a/spec/client_spec.rb b/spec/client_spec.rb index 4805475..da74112 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -4,7 +4,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::client' do describe 'ubuntu' do - let(:runner) { ChefSpec::Runner.new(UBUNTU_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) } let(:chef_run) { runner.converge(described_recipe) } it 'installs packages' do diff --git a/spec/common-redhat_spec.rb b/spec/common-redhat_spec.rb index a0b6db9..c6f4946 100644 --- a/spec/common-redhat_spec.rb +++ b/spec/common-redhat_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::common' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/common_spec.rb b/spec/common_spec.rb index 64d2a33..8f92d5f 100644 --- a/spec/common_spec.rb +++ b/spec/common_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::common' do describe 'ubuntu' do - let(:runner) { ChefSpec::Runner.new(UBUNTU_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/engine-redhat_spec.rb b/spec/engine-redhat_spec.rb index f893112..48ceba6 100644 --- a/spec/engine-redhat_spec.rb +++ b/spec/engine-redhat_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::engine' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) } diff --git a/spec/identity_registration_spec.rb b/spec/identity_registration_spec.rb index 0abcb4b..89524aa 100644 --- a/spec/identity_registration_spec.rb +++ b/spec/identity_registration_spec.rb @@ -3,7 +3,7 @@ require_relative 'spec_helper' describe 'openstack-orchestration::identity_registration' do describe 'redhat' do - let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) } + let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) } let(:node) { runner.node } let(:chef_run) { runner.converge(described_recipe) }