cuken 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -1
- data/Gemfile.lock +8 -8
- data/VERSION +1 -1
- data/cuken.gemspec +19 -5
- data/features/about.md +110 -27
- data/features/chef_examples/cookbooks_cookbook.feature +2 -2
- data/features/chef_examples/zenoss/01_chef_server_setup.feature +205 -0
- data/features/chef_examples/zenoss/02_monitor_vm_setup.feature +139 -0
- data/features/chef_examples/zenoss/03_monitor_chef_setup.feature +109 -0
- data/features/step_definitions/cuken_steps.rb +16 -0
- data/features/support/env.rb +1 -0
- data/lib/cuken/api/chef/common.rb +20 -0
- data/lib/cuken/api/chef/cookbook.rb +62 -1
- data/lib/cuken/api/chef/data_bag.rb +89 -0
- data/lib/cuken/api/chef/knife.rb +16 -0
- data/lib/cuken/api/chef/role.rb +71 -0
- data/lib/cuken/api/chef.rb +51 -9
- data/lib/cuken/api/file.rb +68 -0
- data/lib/cuken/api/vagrant/common.rb +85 -0
- data/lib/cuken/api/vagrant/v_m.rb +125 -0
- data/lib/cuken/api/vagrant.rb +83 -0
- data/lib/cuken/chef.rb +16 -0
- data/lib/cuken/cucumber/chef/common.rb +4 -0
- data/lib/cuken/cucumber/chef/cookbook.rb +16 -2
- data/lib/cuken/cucumber/chef/data_bag.rb +48 -16
- data/lib/cuken/cucumber/chef/role.rb +30 -0
- data/lib/cuken/cucumber/chef.rb +16 -5
- data/lib/cuken/cucumber/cmd.rb +16 -0
- data/lib/cuken/cucumber/common.rb +16 -0
- data/lib/cuken/cucumber/file.rb +52 -0
- data/lib/cuken/cucumber/git/hooks.rb +28 -0
- data/lib/cuken/cucumber/rvm.rb +16 -0
- data/lib/cuken/cucumber/ssh/hooks.rb +31 -0
- data/lib/cuken/cucumber/ssh.rb +16 -0
- data/lib/cuken/cucumber/vagrant/common.rb +93 -0
- data/lib/cuken/cucumber/vagrant/hooks.rb +35 -0
- data/lib/cuken/cucumber/vagrant.rb +26 -0
- data/lib/cuken/vagrant.rb +19 -0
- metadata +18 -4
@@ -0,0 +1,28 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
Before('@git_quick') do
|
18
|
+
::Grit::Git.git_timeout = 20
|
19
|
+
end
|
20
|
+
Before('@git_slow') do
|
21
|
+
::Grit::Git.git_timeout = 60
|
22
|
+
end
|
23
|
+
Before('@git_glacial') do
|
24
|
+
::Grit::Git.git_timeout = 600
|
25
|
+
end
|
26
|
+
Before('@git_cosmic') do
|
27
|
+
::Grit::Git.git_timeout = 3600
|
28
|
+
end
|
data/lib/cuken/cucumber/rvm.rb
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
1
17
|
load 'aruba/cucumber.rb' unless defined? ::Aruba
|
2
18
|
|
3
19
|
World(::Cuken::Api::Rvm)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
Before('@ssh_local') do
|
18
|
+
@aruba_io_wait_seconds.nil? || @aruba_io_wait_seconds < 0.3 ? @aruba_io_wait_seconds = 0.3 : @aruba_io_wait_seconds
|
19
|
+
end
|
20
|
+
|
21
|
+
Before('@ssh_remote') do
|
22
|
+
@aruba_io_wait_seconds.nil? || @aruba_io_wait_seconds < 1 ? @aruba_io_wait_seconds = 1 : @aruba_io_wait_seconds
|
23
|
+
end
|
24
|
+
|
25
|
+
Before('@ssh_pigeon') do
|
26
|
+
@aruba_io_wait_seconds.nil? || @aruba_io_wait_seconds < 3 ? @aruba_io_wait_seconds = 3 : @aruba_io_wait_seconds
|
27
|
+
end
|
28
|
+
|
29
|
+
Before('@ssh_dodo') do
|
30
|
+
@aruba_io_wait_seconds.nil? || @aruba_io_wait_seconds < 10 ? @aruba_io_wait_seconds = 10 : @aruba_io_wait_seconds
|
31
|
+
end
|
data/lib/cuken/cucumber/ssh.rb
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
1
17
|
load 'aruba/cucumber.rb' unless defined? ::Aruba
|
2
18
|
|
3
19
|
World(::Cuken::Api::Ssh)
|
@@ -0,0 +1,93 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
World(::Cuken::Api::Vagrant)
|
18
|
+
|
19
|
+
########################################################################################################################
|
20
|
+
#
|
21
|
+
# Generic (Given, When or Then)
|
22
|
+
#
|
23
|
+
########################################################################################################################
|
24
|
+
|
25
|
+
########################################################################################################################
|
26
|
+
#
|
27
|
+
# Given
|
28
|
+
#
|
29
|
+
########################################################################################################################
|
30
|
+
|
31
|
+
########################################################################################################################
|
32
|
+
#
|
33
|
+
# When
|
34
|
+
#
|
35
|
+
########################################################################################################################
|
36
|
+
|
37
|
+
########################################################################################################################
|
38
|
+
#
|
39
|
+
# Then
|
40
|
+
#
|
41
|
+
########################################################################################################################
|
42
|
+
|
43
|
+
And /^I switch Vagrant environment$/ do
|
44
|
+
switch_vagrant_environment
|
45
|
+
end
|
46
|
+
|
47
|
+
And /^the state of VM "([^"]*)" is "([^"]*)"$/ do |name, state|
|
48
|
+
check_vm_state(name, state.to_sym)
|
49
|
+
end
|
50
|
+
|
51
|
+
And /^the state of VM "([^"]*)" is not "([^"]*)"$/ do |name, state|
|
52
|
+
check_vm_state(name, state.to_sym, false)
|
53
|
+
end
|
54
|
+
|
55
|
+
When /^I ssh to VM "([^\"]*)"$/ do |boxname|
|
56
|
+
establish_vm_interactive_ssh(boxname)
|
57
|
+
end
|
58
|
+
|
59
|
+
And /^the Vagrantfile "([^\"]*)" exists$/ do |path|
|
60
|
+
check_vagrant_file_presence(path)
|
61
|
+
end
|
62
|
+
|
63
|
+
And /^the Vagrantfile "([^\"]*)" does not exist$/ do |path|
|
64
|
+
check_vagrant_file_presence(path, false)
|
65
|
+
end
|
66
|
+
|
67
|
+
When /^I launch the VM "([^"]*)"$/ do |vm_name|
|
68
|
+
run_vm_manager_command(:up, vm_name)
|
69
|
+
end
|
70
|
+
|
71
|
+
When /^I halt the VM "([^"]*)"$/ do |vm_name|
|
72
|
+
run_vm_manager_command(:halt, vm_name)
|
73
|
+
end
|
74
|
+
|
75
|
+
When /^I destroy the VM "([^"]*)"$/ do |vm_name|
|
76
|
+
run_vm_manager_command(:destroy, vm_name)
|
77
|
+
end
|
78
|
+
|
79
|
+
When /^I provision the VM "([^"]*)"$/ do |vm_name|
|
80
|
+
run_vm_manager_command(:provision, vm_name)
|
81
|
+
end
|
82
|
+
|
83
|
+
When /^I suspend the VM "([^"]*)"$/ do |vm_name|
|
84
|
+
run_vm_manager_command(:suspend, vm_name)
|
85
|
+
end
|
86
|
+
|
87
|
+
When /^I resume the VM "([^"]*)"$/ do |vm_name|
|
88
|
+
run_vm_manager_command(:resume, vm_name)
|
89
|
+
end
|
90
|
+
|
91
|
+
When /^I reload the VM "([^"]*)"$/ do |vm_name|
|
92
|
+
run_vm_manager_command(:reload, vm_name)
|
93
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
Before('@fast') do
|
19
|
+
@aruba_timeout_seconds.nil? || @aruba_timeout_seconds < 6 ? @aruba_timeout_seconds = 6 : @aruba_timeout_seconds
|
20
|
+
end
|
21
|
+
Before('@quick') do
|
22
|
+
@aruba_timeout_seconds.nil? || @aruba_timeout_seconds < 20 ? @aruba_timeout_seconds = 20 : @aruba_timeout_seconds
|
23
|
+
end
|
24
|
+
Before('@slow') do
|
25
|
+
@aruba_timeout_seconds.nil? || @aruba_timeout_seconds < 60 ? @aruba_timeout_seconds = 60 : @aruba_timeout_seconds
|
26
|
+
end
|
27
|
+
Before('@glacial') do
|
28
|
+
@aruba_timeout_seconds.nil? || @aruba_timeout_seconds < 600 ? @aruba_timeout_seconds = 600 : @aruba_timeout_seconds
|
29
|
+
end
|
30
|
+
# Some VM builds can take a while, depending on package repository speeds etc.
|
31
|
+
# Note:
|
32
|
+
# In a genuine disaster scenario you are more likely to, eventually, trying throwing this at the top of a feature file :(
|
33
|
+
Before('@cosmic') do
|
34
|
+
@aruba_timeout_seconds.nil? || @aruba_timeout_seconds < 3600 ? @aruba_timeout_seconds = 3600 : @aruba_timeout_seconds
|
35
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
load 'aruba/cucumber.rb' unless defined? ::Aruba
|
18
|
+
require 'grit'
|
19
|
+
|
20
|
+
World(::Cuken::Api::Vagrant)
|
21
|
+
|
22
|
+
require 'cuken/cucumber/git/hooks'
|
23
|
+
require 'cuken/cucumber/ssh/hooks'
|
24
|
+
|
25
|
+
require 'cuken/cucumber/vagrant/hooks'
|
26
|
+
require 'cuken/cucumber/vagrant/common'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Hedgehog (<hedgehogshiatus@gmail.com>)
|
3
|
+
# Copyright:: Copyright (c) 2011 Hedgehog.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
require 'cuken/common'
|
18
|
+
require 'cuken/api/vagrant'
|
19
|
+
require 'cuken/cucumber/vagrant'
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: cuken
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.12
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Hedgehog
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-03 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: aruba
|
@@ -41,7 +41,7 @@ dependencies:
|
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 0.10.0
|
44
|
+
version: 0.10.0
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
47
|
version_requirements: *id003
|
@@ -231,6 +231,9 @@ files:
|
|
231
231
|
- features/chef_examples/cookbooks_repo.feature
|
232
232
|
- features/chef_examples/knife_admin_client.feature
|
233
233
|
- features/chef_examples/knife_client_create.feature
|
234
|
+
- features/chef_examples/zenoss/01_chef_server_setup.feature
|
235
|
+
- features/chef_examples/zenoss/02_monitor_vm_setup.feature
|
236
|
+
- features/chef_examples/zenoss/03_monitor_chef_setup.feature
|
234
237
|
- features/chef_steps/common_steps.feature
|
235
238
|
- features/chef_steps/cookbook_steps.feature
|
236
239
|
- features/chef_steps/knife_steps.feature
|
@@ -594,7 +597,9 @@ files:
|
|
594
597
|
- lib/cuken/api/chef.rb
|
595
598
|
- lib/cuken/api/chef/common.rb
|
596
599
|
- lib/cuken/api/chef/cookbook.rb
|
600
|
+
- lib/cuken/api/chef/data_bag.rb
|
597
601
|
- lib/cuken/api/chef/knife.rb
|
602
|
+
- lib/cuken/api/chef/role.rb
|
598
603
|
- lib/cuken/api/cmd.rb
|
599
604
|
- lib/cuken/api/common.rb
|
600
605
|
- lib/cuken/api/file.rb
|
@@ -602,6 +607,9 @@ files:
|
|
602
607
|
- lib/cuken/api/ssh-forever.rb
|
603
608
|
- lib/cuken/api/ssh.rb
|
604
609
|
- lib/cuken/api/ssh/password.rb
|
610
|
+
- lib/cuken/api/vagrant.rb
|
611
|
+
- lib/cuken/api/vagrant/common.rb
|
612
|
+
- lib/cuken/api/vagrant/v_m.rb
|
605
613
|
- lib/cuken/chef.rb
|
606
614
|
- lib/cuken/cmd.rb
|
607
615
|
- lib/cuken/common.rb
|
@@ -633,11 +641,17 @@ files:
|
|
633
641
|
- lib/cuken/cucumber/cmd.rb
|
634
642
|
- lib/cuken/cucumber/common.rb
|
635
643
|
- lib/cuken/cucumber/file.rb
|
644
|
+
- lib/cuken/cucumber/git/hooks.rb
|
636
645
|
- lib/cuken/cucumber/rvm.rb
|
637
646
|
- lib/cuken/cucumber/ssh.rb
|
647
|
+
- lib/cuken/cucumber/ssh/hooks.rb
|
648
|
+
- lib/cuken/cucumber/vagrant.rb
|
649
|
+
- lib/cuken/cucumber/vagrant/common.rb
|
650
|
+
- lib/cuken/cucumber/vagrant/hooks.rb
|
638
651
|
- lib/cuken/file.rb
|
639
652
|
- lib/cuken/rvm.rb
|
640
653
|
- lib/cuken/ssh.rb
|
654
|
+
- lib/cuken/vagrant.rb
|
641
655
|
- spec/api/knife_spec.rb
|
642
656
|
- spec/api/rvm_spec.rb
|
643
657
|
- spec/api/rvmrc_processor_spec.rb
|
@@ -656,7 +670,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
656
670
|
requirements:
|
657
671
|
- - ">="
|
658
672
|
- !ruby/object:Gem::Version
|
659
|
-
hash:
|
673
|
+
hash: 782328980720716796
|
660
674
|
segments:
|
661
675
|
- 0
|
662
676
|
version: "0"
|