ops_manager_cli 0.7.2 → 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|