ops_manager_cli 0.7.4 → 0.7.6

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: 5a17efe939f01b0d30af761995ec9e53a2cce164
4
- data.tar.gz: 10b1449933a1ff712335e1c0c0de34b9d717d84b
3
+ metadata.gz: 9ec7bfea49668d843eb2f5519458611f50d9f15b
4
+ data.tar.gz: 6c97e25bc6fdbd920211707f7616d93073f3ee87
5
5
  SHA512:
6
- metadata.gz: 3a228e183de7d339979a7f060eea6702cea3111facdc396e219708597a2369ed980e8dc147e5d003fef35e884098e6ce8f69e02bcfe4be74edd8064a400b0c15
7
- data.tar.gz: 6001b205c0f317a830341edaebd47b25d198aca7fb130324ebe5823b5ca9baca84690c9301599cc5b0aad5ae323c0a8ddcaa1e0e4c05d379f8e826937efacb54
6
+ metadata.gz: 2b2c5ad35553858b37bf1589a9370e5b9ec01daa9bf66ee892a1352eb3041b364236ec748edae8d730232a00f538cfaee3b5fd54d8a0069747c97de43ff6a9e6
7
+ data.tar.gz: 91f1862c59af627398b69fd6a0cad1ed0cb289bb05c681da67ba2dc3055b5d073ce5858e04b98515410b05eceaf066ad300e20da92c451e7045cd6b2fa2dce8e
data/Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
1
  FROM ruby:2.4.1
2
2
 
3
3
  ENV GEM_NAME ops_manager_cli
4
- ENV GEM_VERSION 0.7.4
4
+ ENV GEM_VERSION 0.7.6
5
5
  ENV OVFTOOL_VERSION 4.1.0-2459827
6
6
  ENV OVFTOOL_INSTALLER VMware-ovftool-${OVFTOOL_VERSION}-lin.x86_64.bundle
7
7
  ARG DOWNLOAD_URL
@@ -40,7 +40,7 @@ class OpsManager
40
40
  # Create ami of stopped server
41
41
  response = connection.create_image(server.id, "#{name}-backup", "Backup of #{name}")
42
42
  image = connection.images.get( response.data[:body]['imageId'])
43
- image.wait_for 36000 { image.state == "available" }
43
+ image.wait_for(timeout=36000) { image.state == "available" }
44
44
  if image.state != "available"
45
45
  fail "Error creating backup AMI, bailing out before destroying the VM"
46
46
  end
@@ -16,7 +16,8 @@ class OpsManager
16
16
 
17
17
  private
18
18
  def vm_name
19
- @vm_name ||= "#{config[:name]}-#{config[:desired_version]}"
19
+ desired_version = OpsManager::Semver.new(config[:desired_version])
20
+ @vm_name ||= "#{config[:name]}-#{desired_version}"
20
21
  end
21
22
  end
22
23
  end
@@ -80,8 +80,12 @@ class OpsManager::ApplianceDeployment
80
80
 
81
81
  def list_current_stemcells
82
82
  JSON.parse(installation_settings).fetch('products').inject([]) do |a, p|
83
- a << p['stemcell'].fetch('version')
84
- end
83
+ product_name = "stemcells"
84
+ if p['stemcell'].fetch('os') =~ /windows/i
85
+ product_name = "stemcells-windows-server"
86
+ end
87
+ a << { version: p['stemcell'].fetch('version'), product: product_name }
88
+ end.uniq
85
89
  end
86
90
 
87
91
  # Finds available stemcell's pivotal network release.
@@ -89,9 +93,9 @@ class OpsManager::ApplianceDeployment
89
93
  # #
90
94
  # @param version [String] the version number, eg: '2362.17'
91
95
  # @return release_id [Integer] the pivotal netowkr release id of the found stemcell.
92
- def find_stemcell_release(version)
96
+ def find_stemcell_release(version, product_name)
93
97
  version = OpsManager::Semver.new(version)
94
- releases = stemcell_releases.collect do |r|
98
+ releases = stemcell_releases(product_name).collect do |r|
95
99
  {
96
100
  release_id: r['id'],
97
101
  version: OpsManager::Semver.new(r['version']),
@@ -109,8 +113,8 @@ class OpsManager::ApplianceDeployment
109
113
  # @param release_id [String] the version number, eg: '2362.17'
110
114
  # @param filename [Regex] the version number, eg: /vsphere/
111
115
  # @return id and name [Array] the pivotal network file ID and Filename for the matching stemcell.
112
- def find_stemcell_file(release_id, filename)
113
- files = JSON.parse(get_product_release_files('stemcells', release_id).body).fetch('product_files')
116
+ def find_stemcell_file(release_id, filename, product_name)
117
+ files = JSON.parse(get_product_release_files(product_name, release_id).body).fetch('product_files')
114
118
  file = files.select{ |r| r.fetch('aws_object_key') =~ filename }.first
115
119
  return file['id'], file['aws_object_key'].split('/')[-1]
116
120
  end
@@ -121,16 +125,18 @@ class OpsManager::ApplianceDeployment
121
125
  print "====> Downloading existing stemcells ...".green
122
126
  puts "no stemcells found".green if list_current_stemcells.empty?
123
127
  FileUtils.mkdir_p current_stemcell_dir
124
- list_current_stemcells.each do |stemcell_version|
125
- release_id = find_stemcell_release(stemcell_version)
126
- accept_product_release_eula('stemcells', release_id )
128
+ list_current_stemcells.each do |stemcell_info|
129
+ stemcell_version = stemcell_info[:version]
130
+ product_name = stemcell_info[:product]
131
+ release_id = find_stemcell_release(stemcell_version, product_name)
132
+ accept_product_release_eula(product_name, release_id)
127
133
  stemcell_regex = /vsphere/
128
134
  if config[:provider] == "AWS"
129
135
  stemcell_regex = /aws/
130
136
  end
131
137
 
132
- file_id, file_name = find_stemcell_file(release_id, stemcell_regex)
133
- download_product_release_file('stemcells', release_id, file_id, write_to: "#{current_stemcell_dir}/#{file_name}")
138
+ file_id, file_name = find_stemcell_file(release_id, stemcell_regex, product_name)
139
+ download_product_release_file(product_name, release_id, file_id, write_to: "#{current_stemcell_dir}/#{file_name}")
134
140
  end
135
141
  end
136
142
 
@@ -212,12 +218,8 @@ class OpsManager::ApplianceDeployment
212
218
  @installation_settings ||= get_installation_settings.body
213
219
  end
214
220
 
215
- def get_stemcell_releases
216
- get_product_releases('stemcells')
217
- end
218
-
219
- def stemcell_releases
220
- @stemcell_releases ||= JSON.parse(get_stemcell_releases.body).fetch('releases')
221
+ def stemcell_releases(product_name)
222
+ JSON.parse(get_product_releases(product_name).body).fetch('releases')
221
223
  end
222
224
 
223
225
  def current_stemcell_dir
@@ -19,11 +19,11 @@ class OpsManager
19
19
  delete_from_jobs(property_name)
20
20
  end
21
21
 
22
- %w{ password secret salt }.each do |property_name|
22
+ %w{ password secret salt private_key_pem cert_pem }.each do |property_name|
23
23
  delete_value_from_job_properties(property_name)
24
24
  end
25
25
 
26
- %w{ secret }.each do |property_name|
26
+ %w{ secret private_key_pem cert_pem }.each do |property_name|
27
27
  delete_value_from_product_properties(property_name)
28
28
  end
29
29
 
@@ -126,5 +126,15 @@ class OpsManager
126
126
  end
127
127
  end
128
128
  end
129
+
130
+ def delete_certs_from_template
131
+ selected_product['jobs'].each do |j|
132
+ j.fetch('properties',[]).each do |p|
133
+
134
+ end
135
+ end
136
+
137
+ end
138
+
129
139
  end
130
140
  end
@@ -1,3 +1,3 @@
1
1
  class OpsManager
2
- VERSION = "0.7.4"
2
+ VERSION = "0.7.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_manager_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - CompoZed
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-27 00:00:00.000000000 Z
11
+ date: 2018-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler