megam_api 0.7.2 → 0.7.3

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: 18c65c1b5bad20bae3824e93dc24c97a5e78af5b
4
- data.tar.gz: 549d74e7aa3e9c1319c55183409a84ce9417cd87
3
+ metadata.gz: 292c7d8dc01674d2ca77d7d05510a62b8d29b9ff
4
+ data.tar.gz: 99b20c558c8f1b6535de71f8fbb75bde0a490906
5
5
  SHA512:
6
- metadata.gz: aa1e94ce4b19cad03b9aa4d32caea27ab1607bb71ae3a6ab9b8bc57c170af6761bef0699ae5585e7c2e3c7aef8eb17d5b5d06db0d4caaa53992c906903b9fa3d
7
- data.tar.gz: 9a7596daa4428473102a9ee50a1c3b8f25ad1dad16085f662cdb00774cbb5fc13e7b85da1bfd25f6d7761d51e1719d565699e359763461e2b37e2f1f1295cdc9
6
+ metadata.gz: d3dcf1946b7f04c8f0d1af7733f767619a234bb15f204ef1b2b2e764b8f8202d4041e1f69ee444394405f6621ff5c3952ab1c49f3d44e92541c3fbfa4e379b62
7
+ data.tar.gz: 201cb14e57a6da29c4a08a5a9ec40556f3e46a040c8d5c4cb2e9b6dda445e1a4c87128d454addad6a06fd0900be1486fb05deb824388ca40b9519bb7d87aefb1
@@ -1,5 +1,5 @@
1
1
  module Megam
2
2
  class API
3
- VERSION = "0.7.2"
3
+ VERSION = "0.7.3"
4
4
  end
5
5
  end
@@ -47,8 +47,7 @@ module Megam
47
47
  cloud_instruction = template.lookup_by_instruction(group, action)
48
48
  ci_command = "#{cloud_instruction.command}"
49
49
  ci_command["<node_name>"] = "#{node_name}"
50
-
51
- command_hash = {
50
+ command_hash = {
52
51
  "systemprovider" => {
53
52
  "provider" => {
54
53
  "prov" => "#{node.request[:command]['systemprovider']['provider']['prov']}"
@@ -27,7 +27,6 @@ module Megam
27
27
  pc_collection = make_command.megam_rest.get_predefclouds
28
28
  ct_collection = make_command.megam_rest.get_cloudtools
29
29
  cts_collection = make_command.megam_rest.get_cloudtoolsettings
30
-
31
30
  rescue ArgumentError => ae
32
31
  hash = {"msg" => ae.message, "msg_type" => "error"}
33
32
  re = Megam::Error.from_hash(hash)
@@ -41,16 +40,24 @@ module Megam
41
40
  re = Megam::Error.from_hash(hash)
42
41
  return re
43
42
  end
44
-
45
- predef_cloud = pc_collection.data[:body].lookup("#{data[:predef_cloud_name]}")
46
- tool = ct_collection.data[:body].lookup(data[:provider])
47
- template = tool.cloudtemplates.lookup(predef_cloud.spec[:type_name])
48
- cloud_instruction = template.lookup_by_instruction(group, action)
49
- cts = cts_collection.data[:body].lookup(data[:repo])
50
- ci_command = "#{cloud_instruction.command}"
51
- ci_command["-c"] = "-c #{cts.conf_location}"
52
- ci_name = cloud_instruction.name
53
-
43
+ predef_cloud = pc_collection.data[:body].lookup("#{data[:predef_cloud_name]}")
44
+ tool = ct_collection.data[:body].lookup(data[:provider])
45
+ template = tool.cloudtemplates.lookup(predef_cloud.spec[:type_name])
46
+ cloud_instruction = template.lookup_by_instruction(group, action)
47
+ cts = cts_collection.data[:body].lookup(data[:repo])
48
+ ci_command = "#{cloud_instruction.command}"
49
+ if ci_command["<node_name>"].present?
50
+ ci_command["<node_name>"] = "#{data[:book_name]}"
51
+ end
52
+ u = URI.parse(predef_cloud.access[:vault_location])
53
+ u.path[0]=""
54
+ if ci_command["-f"].present?
55
+ ci_command["-f"] = "-f " + u.path + "/" + predef_cloud.spec[:type_name] + ".json"
56
+ end
57
+ if ci_command["-c"].present?
58
+ ci_command["-c"] = "-c #{cts.conf_location}"
59
+ end
60
+ ci_name = cloud_instruction.name
54
61
  command_hash = {
55
62
  "systemprovider" => {
56
63
  "provider" => {
@@ -100,12 +107,26 @@ ci_name = cloud_instruction.name
100
107
  }
101
108
 
102
109
  if data[:book_type] == "APP"
110
+ if data[:deps_scm].length > 0
111
+ data[:runtime_exec] = change_runtime(data[:deps_scm], data[:runtime_exec], action)
112
+ end
113
+ if data[:deps_war].length > 0
114
+ data[:runtime_exec] = change_runtime(data[:deps_war], data[:runtime_exec], action)
115
+ end
103
116
  node_hash["appdefns"] = {"timetokill" => "#{data[:timetokill]}", "metered" => "#{data[:metered]}", "logging" => "#{data[:logging]}", "runtime_exec" => "#{data[:runtime_exec]}"}
104
117
  end
105
118
  if data[:book_type] == "BOLT"
106
119
  node_hash["boltdefns"] = {"username" => "#{data['user_name']}", "apikey" => "#{data['password']}", "store_name" => "#{data['store_db_name']}", "url" => "#{data['url']}", "prime" => "#{data['prime']}", "timetokill" => "#{data['timetokill']}", "metered" => "#{data['monitoring']}", "logging" => "#{data['logging']}", "runtime_exec" => "#{data['runtime_exec']}" }
107
- end
120
+ end
108
121
  node_hash
109
122
  end
123
+
124
+ def self.change_runtime(deps, runtime, action)
125
+ project_name = File.basename(deps).split(".").first
126
+ if /<projectname>/.match(runtime)
127
+ runtime["unicorn_<projectname>"] = "unicorn_" + project_name
128
+ end
129
+ runtime
130
+ end
110
131
  end
111
132
  end
@@ -167,13 +167,13 @@ module Megam
167
167
  end
168
168
 
169
169
  # Load a account by email_p
170
- def self.show(node_name)
170
+ def self.show(id)
171
171
  appdefns = self.new()
172
- appdefns.megam_rest.get_appdefn(node_name)
172
+ appdefns.megam_rest.get_appdefn(id)
173
173
  end
174
174
 
175
175
  # Load a account by email_p
176
- def self.show(node_name, id)
176
+ def self.shown(node_name, id)
177
177
  appdefns = self.new()
178
178
  appdefns.megam_rest.get_appdefn(node_name,id)
179
179
  end
@@ -204,7 +204,7 @@ end
204
204
  end
205
205
 
206
206
  # Show a bolt defn by [node_name, defn id] for an email
207
- def self.show(node_name,id)
207
+ def self.shown(node_name,id)
208
208
  boltdefns = self.new()
209
209
  boltdefns.megam_rest.get_boltdefn(node_name,id)
210
210
  end
data/megam_api.gemspec CHANGED
@@ -16,11 +16,11 @@ Gem::Specification.new do |s|
16
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
- s.add_runtime_dependency 'excon'
20
- s.add_runtime_dependency 'highline'
21
- s.add_runtime_dependency 'yajl-ruby'
22
- s.add_runtime_dependency 'mixlib-config'
23
- s.add_runtime_dependency 'mixlib-log'
24
- s.add_development_dependency 'minitest'
25
- s.add_development_dependency 'rake'
19
+ s.add_runtime_dependency 'excon', '~> 0'
20
+ s.add_runtime_dependency 'highline', '~> 0'
21
+ s.add_runtime_dependency 'yajl-ruby', '~> 0'
22
+ s.add_runtime_dependency 'mixlib-config', '~> 0'
23
+ s.add_runtime_dependency 'mixlib-log', '~> 0'
24
+ s.add_development_dependency 'minitest', '~> 0'
25
+ s.add_development_dependency 'rake', '~> 0'
26
26
  end
data/test/test_nodes.rb CHANGED
@@ -45,8 +45,8 @@ class TestApps < MiniTest::Unit::TestCase
45
45
  "command" => @com,
46
46
  "predefs" => {"name" => "rails", "scm" => "",
47
47
  "db" => "postgres@postgresql1.megam.com/night.megam.co", "war" => "http://s3pub.com/0.1/granny.war", "queue" => "queue@queue1", "runtime_exec" => "sudo start rails"},
48
- "appdefns" => {"timetokill" => "0", "metered" => "megam", "logging" => "megam", "runtime_exec" => "runtime_execTOM"},
49
- "boltdefns" => {"username" => "tom", "apikey" => "123456", "store_name" => "tom_db", "url" => "", "prime" => "", "timetokill" => "", "metered" => "", "logging" => "", "runtime_exec" => ""},
48
+ "appdefns" => {"timetokill" => "0", "metered" => "megam", "logging" => "megam", "runtime_exec" => "start unicorn_<projectname>"},
49
+ "boltdefns" => {"username" => "", "apikey" => "", "store_name" => "", "url" => "", "prime" => "", "timetokill" => "", "metered" => "", "logging" => "", "runtime_exec" => ""},
50
50
  "appreq" => {},
51
51
  "boltreq" => {}
52
52
  }
@@ -54,7 +54,7 @@ class TestApps < MiniTest::Unit::TestCase
54
54
  response = megams.post_node(tmp_hash)
55
55
  assert_equal(201, response.status)
56
56
  end
57
-
57
+ =begin
58
58
  def test_post_node2
59
59
  tmp_hash = {
60
60
  "node_name" => "sundown.megam.co",
@@ -132,4 +132,5 @@ class TestApps < MiniTest::Unit::TestCase
132
132
  response = megams.post_request(tmp_hash)
133
133
  assert_equal(201, response.status)
134
134
  end
135
+ =end
135
136
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: megam_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kishorekumar Neelamegam, Thomas Alrin, Subash Sethurajan, Rajthilak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-19 00:00:00.000000000 Z
11
+ date: 2014-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: highline
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: yajl-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mixlib-config
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mixlib-log
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Ruby Client for the Megam Cloud. Performs REST based HTTP calls to api.megam.co
@@ -119,9 +119,9 @@ executables: []
119
119
  extensions: []
120
120
  extra_rdoc_files: []
121
121
  files:
122
- - .gitignore
123
- - .project
124
- - .travis.yml
122
+ - ".gitignore"
123
+ - ".project"
124
+ - ".travis.yml"
125
125
  - Gemfile
126
126
  - LICENSE
127
127
  - README.md
@@ -206,17 +206,17 @@ require_paths:
206
206
  - lib
207
207
  required_ruby_version: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - '>='
209
+ - - ">="
210
210
  - !ruby/object:Gem::Version
211
211
  version: '0'
212
212
  required_rubygems_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - '>='
214
+ - - ">="
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
217
  requirements: []
218
218
  rubyforge_project:
219
- rubygems_version: 2.1.11
219
+ rubygems_version: 2.2.0
220
220
  signing_key:
221
221
  specification_version: 4
222
222
  summary: Ruby Client for the Megam Cloud