conan_deploy 0.0.15 → 0.0.16
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.
- data/bin/conan +4 -0
- data/lib/conan/application.rb +4 -4
- data/lib/conan/deployment.rb +2 -2
- data/lib/conan/stackato.rb +9 -6
- data/lib/conan/version.rb +1 -1
- metadata +2 -2
data/bin/conan
CHANGED
@@ -95,6 +95,10 @@ optparse = OptionParser.new do |o|
|
|
95
95
|
options[:'dry-run'] = true
|
96
96
|
end
|
97
97
|
|
98
|
+
o.on('-S','--stfu', 'Supress errors when compairing active and inactive domains' ) do
|
99
|
+
options[:stfu] = true
|
100
|
+
end
|
101
|
+
|
98
102
|
o.on('-V','--verbose', 'Verbose console output' ) do
|
99
103
|
options[:verbose] = true
|
100
104
|
end
|
data/lib/conan/application.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
class Application
|
3
3
|
|
4
4
|
attr_accessor :id, :platform_type, :group_id, :artifact_id, :version, :extension, :sha1, :artifact_meta_data, :url_segment,
|
5
|
-
:unique_name, :additional_mappings, :org, :infra, :smoke_test_path
|
5
|
+
:unique_name, :additional_mappings, :org, :infra, :smoke_test_path, :existing_mappings
|
6
6
|
|
7
7
|
def initialize(id, project_name, platform_type, options, url_segment=nil)
|
8
8
|
@id = id
|
@@ -33,7 +33,7 @@ class Application
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def inactive_healthcheck_url
|
36
|
-
"http://
|
36
|
+
"http://x.#{full_backchannel_domain}/#{@smoke_test_path}"
|
37
37
|
end
|
38
38
|
|
39
39
|
def active_healthcheck_url
|
@@ -145,11 +145,11 @@ class Application
|
|
145
145
|
|
146
146
|
|
147
147
|
def active_domains
|
148
|
-
[full_backchannel_domain, infra_agnostic_backchannel_domain] + Array(@additional_mappings)
|
148
|
+
@existing_mappings || [full_backchannel_domain, infra_agnostic_backchannel_domain] + Array(@additional_mappings)
|
149
149
|
end
|
150
150
|
|
151
151
|
def inactive_domains
|
152
|
-
active_domains.map{|domain| "
|
152
|
+
active_domains.map{|domain| "x.#{domain}"}
|
153
153
|
end
|
154
154
|
|
155
155
|
private
|
data/lib/conan/deployment.rb
CHANGED
@@ -64,7 +64,7 @@ class Deployment < HasOptions
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def inactive_urls(app)
|
67
|
-
active_urls(app).map{ |url| "
|
67
|
+
active_urls(app).map{ |url| "x.#{url}" }
|
68
68
|
end
|
69
69
|
|
70
70
|
def manifest_url(app)
|
@@ -76,7 +76,7 @@ class Deployment < HasOptions
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def inactive_smoke_test_url(app)
|
79
|
-
"http://
|
79
|
+
"http://x.#{dns_name(app)}/#{@custom_smoke_test_path || 'status/healthcheck'}"
|
80
80
|
end
|
81
81
|
|
82
82
|
def paas_target
|
data/lib/conan/stackato.rb
CHANGED
@@ -28,6 +28,7 @@ class Stackato
|
|
28
28
|
def self.static_login(options)
|
29
29
|
org = options[:'deploy-shipcloud'].split('-')[0]
|
30
30
|
infra = options[:'deploy-shipcloud'].split('-')[1]
|
31
|
+
@@options = options
|
31
32
|
|
32
33
|
puts "logging in at https://api.paas.#{infra}.#{org}.mtnsatcloud.com"
|
33
34
|
@@stackato_command = "stackato --target https://api.paas.#{infra}.#{org}.mtnsatcloud.com --token-file #{@@paas_token_file}"
|
@@ -72,6 +73,7 @@ class Stackato
|
|
72
73
|
if /#{Regexp.escape(newly_deployed_app.stackato_base_name)}/ =~ app["name"] and app["name"] != newly_deployed_app.unique_name
|
73
74
|
old_app = newly_deployed_app.clone
|
74
75
|
old_app.unique_name = app["name"]
|
76
|
+
old_app.existing_mappings = app["uris"]
|
75
77
|
old_apps << old_app
|
76
78
|
end
|
77
79
|
end
|
@@ -201,18 +203,18 @@ class Stackato
|
|
201
203
|
active_urls = deployment.active_urls(app)
|
202
204
|
inactive_urls = deployment.inactive_urls(app)
|
203
205
|
|
204
|
-
StackatoApplicationInfo.new(list_json, base_name, active_urls, inactive_urls)
|
206
|
+
StackatoApplicationInfo.new(list_json, base_name, active_urls, inactive_urls, @@options)
|
205
207
|
end
|
206
208
|
end
|
207
209
|
|
208
210
|
class StackatoApplicationInfo
|
209
|
-
def initialize(list_json, base_name, active_urls, inactive_urls)
|
211
|
+
def initialize(list_json, base_name, active_urls, inactive_urls, options)
|
210
212
|
app_list = JSON.parse(list_json)
|
211
213
|
|
212
214
|
active_app_names = []
|
213
215
|
inactive_app_names = []
|
214
216
|
|
215
|
-
app_list.each
|
217
|
+
app_list.each do |app_hash|
|
216
218
|
if !(app_hash.has_key? 'name' and app_hash.has_key? 'uris')
|
217
219
|
raise "Stackato list json is malformed: " + list_json
|
218
220
|
end
|
@@ -226,11 +228,12 @@ class StackatoApplicationInfo
|
|
226
228
|
elsif app_uris.sort == inactive_urls.sort
|
227
229
|
inactive_app_names << app_name
|
228
230
|
else
|
229
|
-
|
230
|
-
|
231
|
+
unless options[:stfu]
|
232
|
+
raise "Stackato app '#{app_name}' needs to be mapped exclusively to either the active or inactive set of URLs. Please reconcile before continuing."
|
233
|
+
end
|
231
234
|
end
|
232
235
|
end
|
233
|
-
|
236
|
+
end
|
234
237
|
|
235
238
|
if active_app_names.length > 1
|
236
239
|
raise "More than one app is mapped to the active URL(s). Please reconcile before continuing."
|
data/lib/conan/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conan_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-07-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: daphne_util
|