ops_manager_cli 0.7.4 → 0.7.6

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.
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