ansible_spec 0.0.1.2 → 0.0.1.3

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b3141f82d184b4f7dfaff006e07d4561aaa3ae7a
4
+ data.tar.gz: cb258abd59ebd2746d7d95e55464d1d308b267d0
5
+ SHA512:
6
+ metadata.gz: 1cca18c66cb0becf5a8fd20de194527e807ec6e3bcd7031c4fadf9f41164f20ca92810c078b434e585362e3fb55621018177ea7fa8587f51eaa1c3c26780bf31
7
+ data.tar.gz: ae8b524a3b18033856f073c0fc25b3a1a72ff0de68953d3a2c7660f2f14c2897906720bc5f33565ad0a763b4626edbc4fda69cca2971ef11b4fa36dc8d9d79b4
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # AnsibleSpec
2
+ [![Gem Version](https://badge.fury.io/rb/ansible_spec.svg)](http://badge.fury.io/rb/ansible_spec)
2
3
 
3
4
  This is Severspec template for Run test Multi Role and Multi Host with Ansible
4
5
  Create template (Rakefile and spec/spec_hepler.rb)
@@ -19,6 +20,19 @@ $ ansiblespec-init
19
20
  create spec
20
21
  create spec/spec_helper.rb
21
22
  create Rakefile
23
+ create .ansiblespec
24
+ ```
25
+
26
+ ### Change .ansiblespec(v0.0.1.3)
27
+ If `.ansiblespec` is exist, use variables(playbook and inventory).
28
+ So, If you don't use `site.yml` and `hosts`, you change this file.
29
+ If `.ansiblespec` not found, use `site.yml` as playbook and `hosts` as inventory.
30
+
31
+ ```.ansiblespec
32
+ ---
33
+ -
34
+ playbook: site.yml
35
+ inventory: hosts
22
36
  ```
23
37
 
24
38
  ### Create Ansible Directory
@@ -27,9 +41,10 @@ sample is [here](https://github.com/volanja/ansible-sample-tdd)
27
41
 
28
42
  ```
29
43
  .
44
+ ├── .ansiblespec #Create file (use Serverspec). read [Change .ansiblespec(v0.0.1.3)](https://github.com/volanja/ansible_spec#change_ansiblespec_v0013)
30
45
  ├── README.md
31
- ├── hosts #use Ansible and Serverspec
32
- ├── site.yml #use Ansible and Serverspec
46
+ ├── hosts #use Ansible and Serverspec if .ansiblespec is not exist.
47
+ ├── site.yml #use Ansible and Serverspec if .ansiblespec is not exist.
33
48
  ├── nginx.yml #(comment-out) incluted by site.yml
34
49
  ├── roles
35
50
  │   └── nginx
@@ -11,6 +11,7 @@ module AnsibleSpec
11
11
  def self.main()
12
12
  safe_create_spec_helper
13
13
  safe_create_rakefile
14
+ safe_create_ansiblespec
14
15
  end
15
16
 
16
17
 
@@ -64,13 +65,30 @@ require 'rake'
64
65
  require 'rspec/core/rake_task'
65
66
  require 'yaml'
66
67
 
68
+ # param: none
69
+ # return: @playbook, @inventoryfile
70
+ def load_ansiblespec()
71
+ f = '.ansiblespec'
72
+ if File.exist?(f)
73
+ y = YAML.load_file(f)
74
+ @playbook = y[0]['playbook']
75
+ @inventoryfile = y[0]['inventory']
76
+ else
77
+ @playbook = 'site.yml'
78
+ @inventoryfile = 'hosts'
79
+ end
80
+ if File.exist?(@playbook) == false
81
+ puts 'Error: ' + @playbook + ' is not Found. create site.yml or /.ansiblespec See https://github.com/volanja/ansible_spec'
82
+ exit 1
83
+ elsif File.exist?(@inventoryfile) == false
84
+ puts 'Error: ' + @inventoryfile + ' is not Found. create hosts or /.ansiblespec See https://github.com/volanja/ansible_spec'
85
+ exit 1
86
+ end
87
+ end
88
+
67
89
  # param: inventory file of Ansible
68
90
  # return: Hash {"active_group_name" => ["192.168.0.1","192.168.0.2"]}
69
91
  def load_host(file)
70
- if File.exist?(file) == false
71
- puts 'Error: Please create inventory file. name MUST "hosts"'
72
- exit
73
- end
74
92
  hosts = File.open(file).read
75
93
  active_group = Hash.new
76
94
  active_group_name = ''
@@ -88,7 +106,9 @@ def load_host(file)
88
106
  return active_group
89
107
  end
90
108
 
91
- load_file = YAML.load_file('site.yml')
109
+ # main
110
+ load_ansiblespec
111
+ load_file = YAML.load_file(@playbook)
92
112
 
93
113
  # e.g. comment-out
94
114
  if load_file === false
@@ -107,7 +127,7 @@ end
107
127
 
108
128
 
109
129
  #load inventry file
110
- hosts = load_host('hosts')
130
+ hosts = load_host(@inventoryfile)
111
131
  properties.each do |var|
112
132
  if hosts.has_key?("#{var["hosts"]}")
113
133
  var["hosts"] = hosts["#{var["hosts"]}"]
@@ -137,6 +157,19 @@ EOF
137
157
 
138
158
  end
139
159
 
160
+ def self.safe_create_ansiblespec
161
+ content = <<'EOF'
162
+ ---
163
+ -
164
+ playbook: site.yml
165
+ inventory: hosts
166
+ EOF
167
+ safe_touch(".ansiblespec")
168
+ File.open(".ansiblespec", 'w') do |f|
169
+ f.puts content
170
+ end
171
+ end
172
+
140
173
  def self.safe_mkdir(dir)
141
174
  unless FileTest.exist?("#{dir}")
142
175
  FileUtils.mkdir_p("#{dir}")
@@ -1,3 +1,3 @@
1
1
  module AnsibleSpec
2
- VERSION = "0.0.1.2"
2
+ VERSION = "0.0.1.3"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansible_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2
5
- prerelease:
4
+ version: 0.0.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - volanja
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-03-31 00:00:00.000000000 Z
11
+ date: 2014-09-21 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,49 +27,43 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: serverspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: 0.13.5
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 0.13.5
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: serverspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: 0.13.5
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: 0.13.5
78
69
  description: This is Severspec template for Run test Multi Role and Multi Host with
@@ -96,26 +87,26 @@ files:
96
87
  homepage: https://github.com/volanja
97
88
  licenses:
98
89
  - MIT
90
+ metadata: {}
99
91
  post_install_message:
100
92
  rdoc_options: []
101
93
  require_paths:
102
94
  - lib
103
95
  required_ruby_version: !ruby/object:Gem::Requirement
104
- none: false
105
96
  requirements:
106
- - - ! '>='
97
+ - - '>='
107
98
  - !ruby/object:Gem::Version
108
99
  version: '0'
109
100
  required_rubygems_version: !ruby/object:Gem::Requirement
110
- none: false
111
101
  requirements:
112
- - - ! '>='
102
+ - - '>='
113
103
  - !ruby/object:Gem::Version
114
104
  version: '0'
115
105
  requirements: []
116
106
  rubyforge_project:
117
- rubygems_version: 1.8.25
107
+ rubygems_version: 2.1.11
118
108
  signing_key:
119
- specification_version: 3
109
+ specification_version: 4
120
110
  summary: This is Severspec template for Run test Multi Role and Multi Host with Ansbile
121
111
  test_files: []
112
+ has_rdoc: