rhc 0.87.8 → 0.88.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ Copyright 2012 Red Hat, Inc. and/or its affiliates.
data/LICENSE CHANGED
@@ -1,202 +1,11 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
1
+ Licensed under the Apache License, Version 2.0 (the "License");
2
+ you may not use this file except in compliance with the License.
3
+ You may obtain a copy of the License at
4
4
 
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
5
+ http://www.apache.org/licenses/LICENSE-2.0
202
6
 
7
+ Unless required by applicable law or agreed to in writing, software
8
+ distributed under the License is distributed on an "AS IS" BASIS,
9
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ See the License for the specific language governing permissions and
11
+ limitations under the License.
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ spec = Gem::Specification.new do |s|
24
24
  s.homepage = %q{https://openshift.redhat.com/app/express}
25
25
  s.description = %q{The client tools for the OpenShift Express platform that allow for application management.}
26
26
  s.files = FileList['lib/**/*.rb', 'lib/rhc', 'bin/*', 'conf/*'].to_a
27
- s.files += %w(LICENSE README Rakefile)
27
+ s.files += %w(LICENSE COPYRIGHT README Rakefile)
28
28
  s.executables = ['rhc', 'rhc-domain', 'rhc-app', 'rhc-sshkey', 'rhc-chk', 'rhc-create-app', 'rhc-create-domain', 'rhc-ctl-domain', 'rhc-ctl-app', 'rhc-snapshot', 'rhc-domain-info', 'rhc-user-info', 'rhc-tail-files', 'rhc-port-forward']
29
29
  begin
30
30
  # Use Ruby version to target F13, RHEL5, Windows and OSX (assume no Xcode)
@@ -52,4 +52,4 @@ else
52
52
  end
53
53
 
54
54
  # Add the 'pkg' directory to the clean task
55
- CLEAN.include("pkg")
55
+ CLEAN.include("pkg")
data/bin/rhc CHANGED
@@ -1,27 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
-
25
2
  #
26
3
  # print help
27
4
  #
@@ -1,27 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
-
25
2
  require 'rhc-common'
26
3
  require 'base64'
27
4
 
@@ -73,6 +50,7 @@ List of arguments
73
50
  -a|--app application Application name (alphanumeric - max #{RHC::APP_NAME_MAX_LENGTH} chars) (required)
74
51
  -t|--type type Type of app to create (#{type_keys}) (required for creating an application)
75
52
  -c|--cartridge cartridge The embedded cartrige to manage (required for the cartridge command)
53
+ -g|--gear-size size The size of the gear for this app ([small|medium|large], defaults to small)
76
54
  -r|--repo path Git Repo path (defaults to ./$app_name)
77
55
  -n|--nogit Only create remote space, don't pull it locally
78
56
  --no-dns Skip DNS check. Must be used in combination with --nogit
@@ -193,6 +171,12 @@ currently being created: '#{$opt['app']}'
193
171
  end
194
172
  end
195
173
  end
174
+
175
+ $opt['gear-size']='small' unless $opt['gear-size']
176
+ if !['small','medium','large'].include? $opt['gear-size']
177
+ puts "Invalid gear size: %s" % $opt['gear-size']
178
+ p_usage
179
+ end
196
180
 
197
181
  $opt['repo'] = $opt['app'] unless $opt['repo']
198
182
 
@@ -244,13 +228,21 @@ currently being created: '#{$opt['app']}'
244
228
  #
245
229
  # Create remote application space
246
230
  #
247
- main_app = RHC::create_app($libra_server, @http, user_info, $opt['app'], $opt['type'], $opt['rhlogin'], $password, $opt['repo'], $opt['no-dns'], $opt['nogit'], false)
231
+ main_app = RHC::create_app($libra_server, @http, user_info, $opt['app'], $opt['type'], $opt['rhlogin'], $password, $opt['repo'], $opt['no-dns'], $opt['nogit'], false, $opt['gear-size'])
248
232
  if jenkins_app_name
249
233
  puts "Now embedding the jenkins client into '#{$opt['app']}'..."
250
234
  RHC::ctl_app($libra_server, @http, $opt['app'], $opt['rhlogin'], $password, 'configure', true, 'jenkins-client-1.4', nil, false)
251
235
  end
252
236
 
253
- unless $opt['no-dns']
237
+ if $opt['no-dns']
238
+ # In case of the no-dns option, the availability check is not made
239
+ # This also results in the git information and app creation result not being displayed
240
+ # Hence, for this case, we print out the git url and result here
241
+ puts "git url: #{main_app[:git_url]}"
242
+ if main_app[:result] && !main_app[:result].empty?
243
+ puts "#{main_app[:result]}"
244
+ end
245
+ else
254
246
  available = RHC::check_app_available(@http, main_app[:app_name], main_app[:fqdn], main_app[:health_check_path], main_app[:result], main_app[:git_url], $opt['repo'], $opt['nogit'])
255
247
  if !available
256
248
  puts "Unable to access your new application."
@@ -486,6 +478,7 @@ begin
486
478
  ["--debug", "-d", GetoptLong::NO_ARGUMENT],
487
479
  ["--help", "-h", GetoptLong::NO_ARGUMENT],
488
480
  ["--rhlogin", "-l", GetoptLong::REQUIRED_ARGUMENT],
481
+ ["--gear-size", "-g", GetoptLong::REQUIRED_ARGUMENT],
489
482
  ["--password", "-p", GetoptLong::REQUIRED_ARGUMENT],
490
483
  ["--no-dns", GetoptLong::NO_ARGUMENT],
491
484
  ["--nogit", "-n", GetoptLong::NO_ARGUMENT],
@@ -600,4 +593,4 @@ else
600
593
  p_usage
601
594
  end
602
595
 
603
- exit 0
596
+ exit 0
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
  require 'net/http'
26
4
  require 'net/https'
@@ -1,33 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  # FIXME: get better descriptions from runtime or docs team
27
- $gear_size_order = ['small', 'large']
28
- $valid_gear_sizes = { 'std' => 'standard gear size (not exposed in UI)',
29
- 'small' => 'allocates the standard resources for your application (default)',
30
- 'large' => 'allocates a larger chunk of resources for your application'
5
+ $gear_size_order = ['small', 'medium', 'large']
6
+ $valid_gear_sizes = {'small' => 'allocates the standard resources for your application (default)',
7
+ 'medium' => 'allocates a medium chunk of resources for your application',
8
+ 'large' => 'allocates a larger chunk of resources for your application'
31
9
  }
32
10
 
33
11
  def p_valid_gear_sizes(invalid_gear_size)
@@ -52,7 +30,7 @@ Create an OpenShift Express app.
52
30
 
53
31
  -a|--app application Application name (alphanumeric - max #{RHC::APP_NAME_MAX_LENGTH} chars) (required)
54
32
  -t|--type type Type of app to create (#{type_keys}) (required)
55
- -g|--gear-size size The size of the gear for this app ([small|large], defaults to small)
33
+ -g|--gear-size size The size of the gear for this app ([small|medium|large], defaults to small)
56
34
  -l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login with OpenShift Express access) (#{rhlogin})
57
35
  -p|--password password RHLogin password (optional, will prompt)
58
36
  -r|--repo path Git Repo path (defaults to ./$app_name)
@@ -85,7 +63,8 @@ begin
85
63
  ["--type", "-t", GetoptLong::REQUIRED_ARGUMENT],
86
64
  ["--gear-size", "-g", GetoptLong::REQUIRED_ARGUMENT],
87
65
  ["--timeout", GetoptLong::REQUIRED_ARGUMENT],
88
- ["--enable-jenkins", GetoptLong::OPTIONAL_ARGUMENT]
66
+ ["--enable-jenkins", GetoptLong::OPTIONAL_ARGUMENT],
67
+ ["--scaling", "-s", GetoptLong::OPTIONAL_ARGUMENT]
89
68
  )
90
69
  opt = {}
91
70
  opts.each do |o, a|
@@ -134,12 +113,10 @@ if !opt['rhlogin'] || !opt['app'] || !opt['type']
134
113
  p_usage
135
114
  end
136
115
 
137
- # right now small maps to std so alias here
116
+ # Default gear size is small
138
117
  gear_size = opt['gear-size']
139
118
  if !gear_size
140
- gear_size = 'std'
141
- elsif gear_size == 'small'
142
- gear_size = 'std'
119
+ gear_size = 'small'
143
120
  else
144
121
  if !$valid_gear_sizes.include? gear_size
145
122
  p_valid_gear_sizes gear_size
@@ -268,7 +245,7 @@ end
268
245
  #
269
246
  # Create remote application space
270
247
  #
271
- main_app = RHC::create_app(libra_server, @http, user_info, opt['app'], opt['type'], opt['rhlogin'], password, opt['repo'], opt['no-dns'], opt['nogit'], false, gear_size)
248
+ main_app = RHC::create_app(libra_server, @http, user_info, opt['app'], opt['type'], opt['rhlogin'], password, opt['repo'], opt['no-dns'], opt['nogit'], false, gear_size, opt['scaling'])
272
249
  if jenkins_app_name
273
250
  puts "Now embedding the jenkins client into '#{opt['app']}'..."
274
251
  RHC::ctl_app(libra_server, @http, opt['app'], opt['rhlogin'], password, 'configure', true, 'jenkins-client-1.4', nil, false)
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  #
@@ -299,4 +277,4 @@ EOF
299
277
  else
300
278
  RHC::print_response_err(response)
301
279
  end
302
- exit 1
280
+ exit 1
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  embed_mapper = { 'add' => 'configure', 'remove' => 'deconfigure' }
@@ -123,8 +101,8 @@ unless opt["embed"] or opt["command"]
123
101
  end
124
102
 
125
103
  if opt["command"]
126
- unless opt["command"] =~ /^(start|stop|force-stop|restart|reload|status|destroy|tidy|add-alias|remove-alias|threaddump|expose-port|conceal-port|show-port)$/
127
- puts "Invalid command '#{opt["command"]}' specified. Valid commands are (start|stop|force-stop|restart|reload|status|destroy|tidy|add-alias|remove-alias|threaddump|expose-port|conceal-port|show-port)"
104
+ unless opt["command"] =~ /^(start|stop|force-stop|restart|reload|status|destroy|tidy|add-alias|remove-alias|threaddump)$/
105
+ puts "Invalid command '#{opt["command"]}' specified. Valid commands are (start|stop|force-stop|restart|reload|status|destroy|tidy|add-alias|remove-alias|threaddump)"
128
106
  p_usage
129
107
  end
130
108
  elsif opt["embed"]
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  #
@@ -207,4 +185,4 @@ else
207
185
  RHC::print_response_err(response)
208
186
  end
209
187
  puts "Failure"
210
- exit 1
188
+ exit 1
@@ -1,27 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
-
25
2
  require 'rhc-common'
26
3
 
27
4
  #
@@ -346,4 +323,4 @@ else
346
323
  p_usage
347
324
  end
348
325
 
349
- exit 0
326
+ exit 0
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  #
@@ -161,4 +139,4 @@ if opt['apps']
161
139
 
162
140
  end
163
141
 
164
- exit 0
142
+ exit 0
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  #
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
 
26
4
  #
@@ -156,4 +134,4 @@ end
156
134
  exit 1
157
135
  end
158
136
  puts output if opt['restore'] && debug
159
- exit 0
137
+ exit 0
@@ -1,27 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
-
25
2
  require 'rhc-common'
26
3
 
27
4
  #
@@ -252,4 +229,4 @@ else
252
229
  p_usage
253
230
  end
254
231
 
255
- exit 0
232
+ exit 0
@@ -1,26 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
2
  require 'rhc-common'
25
3
  require 'base64'
26
4
 
@@ -1,28 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- # Copyright 2011 Red Hat, Inc.
3
- #
4
- # Permission is hereby granted, free of charge, to any person
5
- # obtaining a copy of this software and associated documentation files
6
- # (the "Software"), to deal in the Software without restriction,
7
- # including without limitation the rights to use, copy, modify, merge,
8
- # publish, distribute, sublicense, and/or sell copies of the Software,
9
- # and to permit persons to whom the Software is furnished to do so,
10
- # subject to the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- # SOFTWARE.
23
-
24
-
25
-
26
2
  # print deprecation warning
27
3
  puts "Warning: This command is deprecated. Please use rhc-domain-info instead."
28
4
  puts""
@@ -38,4 +14,4 @@ retcode = $?
38
14
 
39
15
  exit 1 if retcode != 0
40
16
 
41
- exit 0
17
+ exit 0
data/lib/rhc CHANGED
@@ -1,26 +1,3 @@
1
- # Copyright 2011 Red Hat, Inc.
2
- #
3
- # Permission is hereby granted, free of charge, to any person
4
- # obtaining a copy of this software and associated documentation files
5
- # (the "Software"), to deal in the Software without restriction,
6
- # including without limitation the rights to use, copy, modify, merge,
7
- # publish, distribute, sublicense, and/or sell copies of the Software,
8
- # and to permit persons to whom the Software is furnished to do so,
9
- # subject to the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be
12
- # included in all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
-
24
1
  #
25
2
  # This is the bash auto completion script for the rhc command
26
3
  #
@@ -68,7 +45,7 @@ _rhc()
68
45
  create)
69
46
  opts="--debug --help --rhlogin --password --no-dns --nogit --app --repo --type --enable-jenkins --config --timeout"
70
47
  ;;
71
- show | start | stop | force-stop | restart | reload | status | destroy | tidy | add-alias | remove-alias | threaddump | destroy | expose-port | conceal-port | show-port )
48
+ show | start | stop | force-stop | restart | reload | status | destroy | tidy | add-alias | remove-alias | threaddump | destroy )
72
49
  opts="--debug --help --rhlogin --password --app --alias --bypass --config --timeout"
73
50
  ;;
74
51
  tail)
@@ -132,4 +109,4 @@ _rhc()
132
109
  if [ ${#opts[@]} -gt 0 ]; then COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ); fi
133
110
  return 0
134
111
  }
135
- complete -o default -F _rhc rhc
112
+ complete -o default -F _rhc rhc
@@ -1,25 +1,3 @@
1
- # Copyright 2011 Red Hat, Inc.
2
- #
3
- # Permission is hereby granted, free of charge, to any person
4
- # obtaining a copy of this software and associated documentation files
5
- # (the "Software"), to deal in the Software without restriction,
6
- # including without limitation the rights to use, copy, modify, merge,
7
- # publish, distribute, sublicense, and/or sell copies of the Software,
8
- # and to permit persons to whom the Software is furnished to do so,
9
- # subject to the following conditions:
10
- #
11
- # The above copyright notice and this permission notice shall be
12
- # included in all copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
18
- # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19
- # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
- # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- # SOFTWARE.
22
-
23
1
  require 'rubygems'
24
2
  require 'fileutils'
25
3
  require 'getoptlong'
@@ -32,14 +10,13 @@ require 'parseconfig'
32
10
  require 'resolv'
33
11
  require 'uri'
34
12
 
35
-
36
13
  module RHC
37
14
 
38
15
  DEFAULT_MAX_LENGTH = 16
39
16
  APP_NAME_MAX_LENGTH = 32
40
17
  MAX_RETRIES = 7
41
18
  DEFAULT_DELAY = 2
42
- API = "1.1.2"
19
+ API = "1.1.3"
43
20
  PATTERN_VERSION=/\A\d+\.\d+\.\d+\z/
44
21
  @mytimeout = 10
45
22
  @mydebug = false
@@ -403,7 +380,7 @@ module RHC
403
380
  return resp.any?
404
381
  end
405
382
 
406
- def self.create_app(libra_server, net_http, user_info, app_name, app_type, rhlogin, password, repo_dir=nil, no_dns=false, no_git=false, is_embedded_jenkins=false, gear_size='std')
383
+ def self.create_app(libra_server, net_http, user_info, app_name, app_type, rhlogin, password, repo_dir=nil, no_dns=false, no_git=false, is_embedded_jenkins=false, gear_size='small',scale=false)
407
384
  puts "Creating application: #{app_name}"
408
385
 
409
386
  data = {:cartridge => app_type,
@@ -415,12 +392,54 @@ module RHC
415
392
  if @mydebug
416
393
  data[:debug] = true
417
394
  end
418
- json_data = generate_json(data)
419
-
420
- url = URI.parse("https://#{libra_server}/broker/cartridge")
421
- response = http_post(net_http, url, json_data, password)
422
-
423
- if response.code == '200'
395
+
396
+ # Need to use the new REST API for scaling apps
397
+ # We'll need to then get the new application using the existing
398
+ # API in order to access the rest of the logic in this function
399
+ if scale
400
+ $LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__),'..','..','rhc-rest','lib'))
401
+ require 'rhc-rest'
402
+ # Need to have a fake HTTPResponse object for passing to print_reponse_err
403
+ Struct.new('FakeResponse',:body,:code,:content_type)
404
+
405
+ # TODO: This logic should be checked by broker
406
+ unscalable = ['haproxy-1.4','jenkins-1.4','diy-0.1']
407
+ print_response_err(Struct::FakeResponse.new("Can not create a scaling app of type #{app_type}",403)) if unscalable.include?(app_type)
408
+
409
+ end_point = "https://#{libra_server}/broker/rest"
410
+ client = Rhc::Rest::Client.new(end_point, rhlogin, password)
411
+
412
+ domain = client.find_domain(user_info['user_info']['namespace']).first
413
+ # Catch errors
414
+ begin
415
+ application = domain.add_application(app_name,app_type,scale)
416
+
417
+ # Variables that are needed for the rest of the function
418
+ app_uuid = application.uuid
419
+ result = "Successfully created application: #{app_name}"
420
+
421
+ # Since health_check_path is not returned, we need to fudge it for now
422
+ health_check_path =
423
+ case app_type
424
+ when "php-5.3"
425
+ "health_check.php"
426
+ when "perl-5.10"
427
+ "health_check.pl"
428
+ when "diy-0.1", "ruby-1.8", "jenkins-1.4", "python-2.6", "haproxy-1.4", "jbossas-7", "nodejs-0.6"
429
+ "health"
430
+ end
431
+
432
+ puts "DEBUG: '#{app_name}' creation returned success." if @mydebug
433
+ rescue Rhc::Rest::ValidationException => e
434
+ print_response_err(Struct::FakeResponse.new(e.message,406))
435
+ end
436
+ else
437
+ json_data = generate_json(data)
438
+
439
+ url = URI.parse("https://#{libra_server}/broker/cartridge")
440
+ response = http_post(net_http, url, json_data, password)
441
+
442
+ if response.code == '200'
424
443
  json_resp = JSON.parse(response.body)
425
444
  print_response_success(json_resp)
426
445
  json_data = JSON.parse(json_resp['data'])
@@ -428,8 +447,9 @@ module RHC
428
447
  app_uuid = json_data['uuid']
429
448
  result = json_resp['result']
430
449
  puts "DEBUG: '#{app_name}' creation returned success." if @mydebug
431
- else
450
+ else
432
451
  print_response_err(response)
452
+ end
433
453
  end
434
454
 
435
455
  #
@@ -442,12 +462,12 @@ module RHC
442
462
  destroy_app(libra_server, net_http, app_name, rhlogin, password)
443
463
  end
444
464
  end
445
-
465
+
446
466
  namespace = user_info['user_info']['namespace']
447
467
  rhc_domain = user_info['user_info']['rhc_domain']
448
468
 
449
469
  fqdn = "#{app_name}-#{namespace}.#{rhc_domain}"
450
-
470
+
451
471
  loop = 0
452
472
  #
453
473
  # Confirm that the host exists in DNS
@@ -976,4 +996,4 @@ SSH
976
996
  File.chmod(0700, ssh_config_d)
977
997
  File.chmod(0600, ssh_config)
978
998
  end
979
- end
999
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhc
3
3
  version: !ruby/object:Gem::Version
4
- hash: 339
4
+ hash: 365
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 87
9
- - 8
10
- version: 0.87.8
8
+ - 88
9
+ - 9
10
+ version: 0.88.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Red Hat
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-02 00:00:00 Z
18
+ date: 2012-03-17 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: json_pure
@@ -85,6 +85,7 @@ files:
85
85
  - bin/rhc-ctl-domain
86
86
  - conf/express.conf
87
87
  - LICENSE
88
+ - COPYRIGHT
88
89
  - README
89
90
  - Rakefile
90
91
  homepage: https://openshift.redhat.com/app/express