kitchen-wpar 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3ad071715450bc096dc68a21b9b5fcc4ba1c9d0
4
- data.tar.gz: 79e4b897ab3f506fe9cb5ec70ace102988fae43d
3
+ metadata.gz: 751e26f0786285bf78c6ee5f3fd473e1ace58fe1
4
+ data.tar.gz: 4cb551333fd4cd28330fe3d4d0abf382711e4176
5
5
  SHA512:
6
- metadata.gz: a432d3e0af367011aa557a1f3b83bfe3ec84f57b189a8ecc4c585fbe02ff0b7612b4dbd128fa5adcd77f4b0e934ae6e77ce2c9f84a0976ad9ee001096c8f6893
7
- data.tar.gz: 5d0bec66bfae8afd1273c954359ed6f1613f525b4231ece1c1743008802688eab6f5add31825f4f601d391a3c421403466f965b9ccd3f02c244b88227787aa18
6
+ metadata.gz: 24ef2e0c84098e814ed16304d1c4eecf6119895b6605b79b246a672d739bf0d55463e6715518c0fd75e32badefad42d39f3e5b0978c721539946b0880d8eb473
7
+ data.tar.gz: f407294f4e657989eae0cba4d0580e18886f6cdb07bd176fdef57e4c98f32e20ed20355510ccfd463f1ce24ab126d0fc58e4861cccdde574ef2b09b79aa4225c
data/README.md CHANGED
@@ -25,6 +25,7 @@ Please read the [Driver usage][driver_usage] page for more details.
25
25
  * **isVersioned** create a versioned wpar. Used only with **wpar_mksysb**.
26
26
  * **isWritable** adds the option ' -l' to have a non-shared, writable /usr file system and /opt file system.
27
27
  * **share_network_resolution** adds the option ' -r' to share name resolution services (i.e. `/etc/resolv.conf`) with the wpar.
28
+ * **sudo** path to `sudo` command in case we need it.
28
29
 
29
30
 
30
31
  ### <a name="config-require-chef-omnibus"></a> require\_chef\_omnibus
@@ -50,6 +50,7 @@ module Kitchen
50
50
  default_config :mkssys, '/usr/bin/mkssys'
51
51
  default_config :startsrc, '/usr/bin/startsrc'
52
52
  default_config :stopsrc, '/usr/bin/stopsrc'
53
+ default_config :sudo, ''
53
54
  default_config :pam_sshd_account_rule, 'sshd account required pam_aix'
54
55
  default_config :pam_sshd_session_rule, 'sshd session required pam_aix'
55
56
 
@@ -81,11 +82,19 @@ module Kitchen
81
82
  configure_pam
82
83
  end
83
84
  end
85
+
86
+ #section to destroy wpar
87
+ def destroy(state)
88
+ ssh_command("#{config[:rmwpar]} -F #{config[:wpar_name]}", :stderr)
89
+ if wpar_exists?(state)
90
+ raise ActionFailed, "couldn't destroy wpar !"
91
+ end
92
+ end
84
93
 
85
94
  protected
86
95
  def build_mkwpar_command()
87
96
 
88
- cmd = "#{config[:mkwpar]} -s -n #{config[:wpar_name]}"
97
+ cmd = "#{config[:sudo]} #{config[:mkwpar]} -s -n #{config[:wpar_name]}"
89
98
  unless config[:wpar_address].nil?
90
99
  cmd += " -N address=#{config[:wpar_address]}"
91
100
  end
@@ -122,15 +131,15 @@ module Kitchen
122
131
  end
123
132
 
124
133
  def copy_key()
125
- cmd = "mkdir /wpars/#{config[:wpar_name]}/.ssh;"
126
- cmd += "chmod 700 /wpars/#{config[:wpar_name]}/.ssh"
134
+ cmd = "#{config[:sudo]} mkdir /wpars/#{config[:wpar_name]}/.ssh;"
135
+ cmd += "#{config[:sudo]} chmod 700 /wpars/#{config[:wpar_name]}/.ssh"
127
136
  ssh_command(cmd, :stderr)
128
- cmd="cp ~/.ssh/authorized_keys /wpars/#{config[:wpar_name]}/.ssh"
137
+ cmd="#{config[:sudo]} cp ~/.ssh/authorized_keys /wpars/#{config[:wpar_name]}/.ssh"
129
138
  ssh_command(cmd, :stderr)
130
139
  end
131
140
 
132
141
  def wpar_exists?(state)
133
- output=ssh_command("#{config[:lswpar]} #{config[:wpar_name]}", :stderr)
142
+ output=ssh_command("#{config[:sudo]} #{config[:lswpar]} #{config[:wpar_name]}", :stderr)
134
143
  if output.include?('0960-419')
135
144
  return false
136
145
  end
@@ -140,7 +149,7 @@ module Kitchen
140
149
  # Determines if the sshd service is defined in the WPAR.
141
150
  def sshd_service_exists?
142
151
  # FIXME: We should probably check exit status rather than AIX-specific error codes.
143
- output=ssh_command("#{config[:clogin]} #{config[:wpar_name]} #{config[:lssrc]} -s sshd", :stderr)
152
+ output=ssh_command("#{config[:sudo]} #{config[:clogin]} #{config[:wpar_name]} #{config[:lssrc]} -s sshd", :stderr)
144
153
  if output.include?('0513-085') # 0513-085 The sshd Subsystem is not on file.
145
154
  return false
146
155
  end
@@ -150,7 +159,7 @@ module Kitchen
150
159
  # Creates an sshd service.
151
160
  def create_sshd_service
152
161
  # FIXME: We should probably check exit status rather than AIX-specific error codes.
153
- output=ssh_command("#{config[:clogin]} #{config[:wpar_name]} #{config[:mkssys]} -s sshd -p /usr/sbin/sshd -a '-D' -u 0 -S -n 15 -f 9 -R -G local", :stderr)
162
+ output=ssh_command("#{config[:sudo]} #{config[:clogin]} #{config[:wpar_name]} #{config[:mkssys]} -s sshd -p /usr/sbin/sshd -a '-D' -u 0 -S -n 15 -f 9 -R -G local", :stderr)
154
163
  if output.include?('0513-071') # 0513-071 The sshd Subsystem has been added.
155
164
  return true
156
165
  end
@@ -160,7 +169,7 @@ module Kitchen
160
169
  # Determines if the sshd service is running.
161
170
  def sshd_service_running?
162
171
  # FIXME: We should probably check exit status rather than AIX-specific error codes.
163
- output=ssh_command("#{config[:clogin]} #{config[:wpar_name]} #{config[:lssrc]} -s sshd", :stderr)
172
+ output=ssh_command("#{config[:sudo]} #{config[:clogin]} #{config[:wpar_name]} #{config[:lssrc]} -s sshd", :stderr)
164
173
  if output.include?('active')
165
174
  return true
166
175
  end
@@ -170,7 +179,7 @@ module Kitchen
170
179
  # Starts the sshd service.
171
180
  def start_sshd_service
172
181
  # FIXME: We should probably check exit status rather than AIX-specific error codes.
173
- output=ssh_command("#{config[:clogin]} #{config[:wpar_name]} #{config[:startsrc]} -s sshd", :stderr)
182
+ output=ssh_command("#{config[:sudo]} #{config[:clogin]} #{config[:wpar_name]} #{config[:startsrc]} -s sshd", :stderr)
174
183
  if output.include?('0513-059') # 0513-059 The sshd Subsystem has been started. Subsystem PID is 2688212.
175
184
  return true
176
185
  end
@@ -181,8 +190,8 @@ module Kitchen
181
190
  # This includes account and session rules.
182
191
  def pam_supports_sshd?
183
192
  pam_config_path = "/wpars/#{config[:wpar_name]}/etc/pam.conf"
184
- account_output=ssh_command("grep '#{config[:pam_sshd_account_rule]}' #{pam_config_path}", :stderr)
185
- session_output=ssh_command("grep '#{config[:pam_sshd_session_rule]}' #{pam_config_path}", :stderr)
193
+ account_output=ssh_command("#{config[:sudo]} grep '#{config[:pam_sshd_account_rule]}' #{pam_config_path}", :stderr)
194
+ session_output=ssh_command("#{config[:sudo]} grep '#{config[:pam_sshd_session_rule]}' #{pam_config_path}", :stderr)
186
195
 
187
196
  unless account_output.include?("#{config[:pam_sshd_account_rule]}")
188
197
  return false
@@ -199,7 +208,7 @@ module Kitchen
199
208
  pam_config_path = "/wpars/#{config[:wpar_name]}/etc/pam.conf"
200
209
  pam_sshd_rules = "#{config[:pam_sshd_account_rule]}\\n#{config[:pam_sshd_session_rule]}"
201
210
  header = "\\n\\n# sshd Rules\\n"
202
- cmd = "#{config[:echo]} \"#{header}#{pam_sshd_rules}\" >> #{pam_config_path}"
211
+ cmd = "#{config[:sudo]} #{config[:echo]} \"#{header}#{pam_sshd_rules}\" >> #{pam_config_path}"
203
212
  ssh_command(cmd, :stderr)
204
213
  end
205
214
 
@@ -21,6 +21,6 @@ module Kitchen
21
21
  module Driver
22
22
 
23
23
  # Version string for Wpar Kitchen driver
24
- WPAR_VERSION = "0.4.1"
24
+ WPAR_VERSION = "0.4.2"
25
25
  end
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-wpar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alain Dejoux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-06 00:00:00.000000000 Z
11
+ date: 2017-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  requirements: []
203
203
  rubyforge_project:
204
- rubygems_version: 2.6.12
204
+ rubygems_version: 2.6.13
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: test kitchen driver using AIX wpar