ops_manager_cli 0.7.2 → 0.7.4
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 +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +4 -3
- data/Dockerfile +10 -7
- data/lib/ops_manager/api/base.rb +1 -1
- data/lib/ops_manager/api/opsman.rb +10 -6
- data/lib/ops_manager/appliance/aws.rb +1 -1
- data/lib/ops_manager/config/base.rb +1 -0
- data/lib/ops_manager/config/product_deployment.rb +1 -1
- data/lib/ops_manager/director_template_generator.rb +2 -3
- data/lib/ops_manager/logging.rb +3 -5
- data/lib/ops_manager/product_deployment.rb +2 -4
- data/lib/ops_manager/product_template_generator.rb +52 -15
- data/lib/ops_manager/version.rb +1 -1
- data/specs.4.8 +0 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a17efe939f01b0d30af761995ec9e53a2cce164
|
4
|
+
data.tar.gz: 10b1449933a1ff712335e1c0c0de34b9d717d84b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a228e183de7d339979a7f060eea6702cea3111facdc396e219708597a2369ed980e8dc147e5d003fef35e884098e6ce8f69e02bcfe4be74edd8064a400b0c15
|
7
|
+
data.tar.gz: 6001b205c0f317a830341edaebd47b25d198aca7fb130324ebe5823b5ca9baca84690c9301599cc5b0aad5ae323c0a8ddcaa1e0e4c05d379f8e826937efacb54
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.4.1
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.7.2](https://github.com/compozed/ops_manager_cli/tree/v0.7.2) (2017-11-03)
|
4
|
+
[Full Changelog](https://github.com/compozed/ops_manager_cli/compare/v0.7.1...v0.7.2)
|
5
|
+
|
3
6
|
## [v0.7.1](https://github.com/compozed/ops_manager_cli/tree/v0.7.1) (2017-10-25)
|
4
7
|
[Full Changelog](https://github.com/compozed/ops_manager_cli/compare/v0.7.0...v0.7.1)
|
5
8
|
|
6
|
-
Fix issue when opsman appliance is starting on AWS
|
7
|
-
|
8
9
|
## [v0.7.0](https://github.com/compozed/ops_manager_cli/tree/v0.7.0) (2017-10-20)
|
9
10
|
[Full Changelog](https://github.com/compozed/ops_manager_cli/compare/v0.5.4...v0.7.0)
|
10
11
|
|
@@ -98,4 +99,4 @@ Fix issue when opsman appliance is starting on AWS
|
|
98
99
|
## [v0.1.1](https://github.com/compozed/ops_manager_cli/tree/v0.1.1) (2016-05-06)
|
99
100
|
|
100
101
|
|
101
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
102
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Dockerfile
CHANGED
@@ -1,11 +1,16 @@
|
|
1
|
-
FROM ruby:2.
|
1
|
+
FROM ruby:2.4.1
|
2
2
|
|
3
3
|
ENV GEM_NAME ops_manager_cli
|
4
|
-
ENV GEM_VERSION 0.7.
|
4
|
+
ENV GEM_VERSION 0.7.4
|
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
|
8
8
|
|
9
|
+
# ================== Installs sshpass ===============
|
10
|
+
RUN echo "deb http://httpredir.debian.org/debian jessie utils" >> sources.list
|
11
|
+
RUN apt-get update
|
12
|
+
RUN apt-get install -y sshpass unzip
|
13
|
+
|
9
14
|
# ================== Installs OVF tools ==============
|
10
15
|
RUN echo $DOWNLOAD_URL
|
11
16
|
RUN wget -v ${DOWNLOAD_URL} \
|
@@ -13,10 +18,9 @@ RUN wget -v ${DOWNLOAD_URL} \
|
|
13
18
|
&& rm -f ${OVFTOOL_INSTALLER}*
|
14
19
|
|
15
20
|
# ================== Installs Spruce ==============
|
16
|
-
RUN wget -v --no-check-certificate https://github.com/geofffranks/spruce/releases/download/v1.
|
17
|
-
&&
|
18
|
-
&&
|
19
|
-
&& ln -s /spruce_1.0.1_linux_amd64/spruce /usr/bin/.
|
21
|
+
RUN wget -v --no-check-certificate https://github.com/geofffranks/spruce/releases/download/v1.13.1/spruce-linux-amd64 \
|
22
|
+
&& chmod +x spruce-linux-amd64 \
|
23
|
+
&& ln -s /spruce-linux-amd64 /usr/bin/spruce
|
20
24
|
|
21
25
|
# ================== Installs JQ ==============
|
22
26
|
RUN wget -v -O /usr/local/bin/jq --no-check-certificate https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
|
@@ -24,6 +28,5 @@ RUN chmod +x /usr/local/bin/jq
|
|
24
28
|
|
25
29
|
# ================== Installs ops_manager_cli gem ==============
|
26
30
|
COPY pkg/${GEM_NAME}-${GEM_VERSION}.gem /tmp/
|
27
|
-
|
28
31
|
RUN gem install /tmp/${GEM_NAME}-${GEM_VERSION}.gem
|
29
32
|
|
data/lib/ops_manager/api/base.rb
CHANGED
@@ -153,7 +153,7 @@ class OpsManager
|
|
153
153
|
Net::HTTP.new(uri.host, uri.port).tap do |http|
|
154
154
|
http.use_ssl = true
|
155
155
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
156
|
-
http.read_timeout =
|
156
|
+
http.read_timeout = 1800
|
157
157
|
|
158
158
|
ctx = OpenSSL::SSL::SSLContext.new
|
159
159
|
ctx.ssl_version = :TLSv1_2
|
@@ -107,12 +107,16 @@ class OpsManager
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def upload_product(filepath)
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
110
|
+
return unless filepath
|
111
|
+
tar = UploadIO.new(filepath, 'multipart/form-data')
|
112
|
+
print_green "====> Uploading product: #{filepath} ..."
|
113
|
+
#print "====> Uploading product ...".green
|
114
|
+
opts = { "product[file]" => tar }
|
115
|
+
res = authenticated_multipart_post("/api/v0/available_products" , opts)
|
116
|
+
|
117
|
+
raise OpsManager::ProductUploadError.new(res.body) unless res.code == '200'
|
118
|
+
say_green 'done'
|
119
|
+
res
|
116
120
|
end
|
117
121
|
|
118
122
|
def get_available_products
|
@@ -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 { image.state == "available" }
|
43
|
+
image.wait_for 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
|
@@ -7,9 +7,8 @@ class OpsManager
|
|
7
7
|
installation_settings.delete(property_name)
|
8
8
|
end
|
9
9
|
|
10
|
-
%w{
|
11
|
-
|
12
|
-
product_template["products"][1].delete(property_name)
|
10
|
+
%w{ uaa_credentials uaa_admin_user_credentials uaa_admin_client_credentials }.each do |property_name|
|
11
|
+
product_template["products"].select {|p| p["identifier"] == "p-bosh"}.first.delete(property_name)
|
13
12
|
end
|
14
13
|
|
15
14
|
add_merging_strategy_for_networks
|
data/lib/ops_manager/logging.rb
CHANGED
@@ -7,13 +7,11 @@ class OpsManager
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.logger
|
10
|
-
@logger ||= Logger.new(
|
11
|
-
l.level = log_level
|
12
|
-
end
|
10
|
+
@logger ||= Logger.new(STDERR, level: log_level)
|
13
11
|
end
|
14
12
|
|
15
|
-
def self.logger=(
|
16
|
-
@logger =
|
13
|
+
def self.logger=(l)
|
14
|
+
@logger = l
|
17
15
|
end
|
18
16
|
|
19
17
|
private
|
@@ -43,12 +43,10 @@ class OpsManager
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def upload
|
46
|
-
print "====> Uploading product ...".green
|
47
46
|
if ProductDeployment.exists?(config[:name], config[:desired_version])
|
48
|
-
puts "
|
47
|
+
puts "====> Product already exists... skipping upload".green
|
49
48
|
elsif config[:filepath]
|
50
49
|
upload_product(config[:filepath])
|
51
|
-
puts "done".green
|
52
50
|
else
|
53
51
|
puts "no filepath provided, skipping product upload.".green
|
54
52
|
end
|
@@ -87,7 +85,7 @@ class OpsManager
|
|
87
85
|
|
88
86
|
def merge_product_installation_settings
|
89
87
|
get_installation_settings({write_to: '/tmp/is.yml'})
|
90
|
-
puts `DEBUG=false spruce merge /tmp/is.yml #{config[:installation_settings_file]} > /tmp/new_is.yml`
|
88
|
+
puts `DEBUG=false DEFAULT_ARRAY_MERGE_KEY=identifier spruce merge /tmp/is.yml #{config[:installation_settings_file]} > /tmp/new_is.yml`
|
91
89
|
upload_installation_settings('/tmp/new_is.yml')
|
92
90
|
end
|
93
91
|
|
@@ -27,29 +27,30 @@ class OpsManager
|
|
27
27
|
delete_value_from_product_properties(property_name)
|
28
28
|
end
|
29
29
|
|
30
|
-
|
31
|
-
|
30
|
+
%w{ deployed }.each do |property_name|
|
31
|
+
delete_key_from_product_properties(property_name)
|
32
|
+
end
|
32
33
|
|
33
|
-
{
|
34
|
-
|
34
|
+
%w{ deployed }.each do |property_name|
|
35
|
+
delete_key_from_job_properties(property_name)
|
36
|
+
end
|
35
37
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
38
|
+
%w{ deployed }.each do |property_name|
|
39
|
+
delete_key_from_product_properties_options_properties(property_name)
|
40
|
+
end
|
40
41
|
|
41
|
-
|
42
|
+
%w{ deployed }.each do |property_name|
|
43
|
+
delete_key_from_job_properties_records_properties(property_name)
|
44
|
+
end
|
42
45
|
|
43
|
-
|
44
|
-
selected_product['jobs'].unshift("(( merge on identifier ))")
|
46
|
+
{ 'products' => [ selected_product ] }
|
45
47
|
end
|
46
48
|
|
47
|
-
def
|
48
|
-
|
49
|
-
j['properties'].unshift("(( merge on identifier ))") if j['properties']
|
50
|
-
end
|
49
|
+
def generate_yml
|
50
|
+
generate.to_yaml
|
51
51
|
end
|
52
52
|
|
53
|
+
private
|
53
54
|
def delete_from_product(name)
|
54
55
|
selected_product.delete(name)
|
55
56
|
end
|
@@ -81,6 +82,42 @@ class OpsManager
|
|
81
82
|
end
|
82
83
|
end
|
83
84
|
|
85
|
+
def delete_key_from_job_properties(name)
|
86
|
+
selected_product['jobs'].each do |j|
|
87
|
+
j.fetch('properties', []).each do |p|
|
88
|
+
p.delete(name)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def delete_key_from_product_properties(name)
|
94
|
+
selected_product.fetch('properties', []).each do |p|
|
95
|
+
p.delete(name)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def delete_key_from_product_properties_options_properties(name)
|
100
|
+
selected_product.fetch('properties',[]).each do |p|
|
101
|
+
p.fetch('options',[]).each do |o|
|
102
|
+
o.fetch('properties', []).each do |op|
|
103
|
+
op.delete(name)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
def delete_key_from_job_properties_records_properties(name)
|
110
|
+
selected_product['jobs'].each do |j|
|
111
|
+
j.fetch('properties',[]).each do |p|
|
112
|
+
p.fetch('records',[]).each do |o|
|
113
|
+
o.fetch('properties', []).each do |op|
|
114
|
+
op.delete(name)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
84
121
|
def delete_value_from_job_properties(name)
|
85
122
|
selected_product['jobs'].each do |j|
|
86
123
|
j.fetch('properties', []).each do |p|
|
data/lib/ops_manager/version.rb
CHANGED
data/specs.4.8
ADDED
Binary file
|
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
|
+
version: 0.7.4
|
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-
|
11
|
+
date: 2017-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -252,6 +252,7 @@ files:
|
|
252
252
|
- lib/ops_manager/semver.rb
|
253
253
|
- lib/ops_manager/version.rb
|
254
254
|
- ops_manager.gemspec
|
255
|
+
- specs.4.8
|
255
256
|
homepage:
|
256
257
|
licenses:
|
257
258
|
- MIT
|
@@ -272,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
272
273
|
version: '0'
|
273
274
|
requirements: []
|
274
275
|
rubyforge_project:
|
275
|
-
rubygems_version: 2.6.
|
276
|
+
rubygems_version: 2.6.11
|
276
277
|
signing_key:
|
277
278
|
specification_version: 4
|
278
279
|
summary: Performs Ops Manager deployments.
|