rhc 0.68.5 → 0.69.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.
- data/Rakefile +1 -1
- data/bin/rhc-create-app +9 -7
- data/bin/rhc-create-domain +3 -3
- data/bin/rhc-tail-files +122 -0
- data/lib/rhc-common.rb +18 -3
- metadata +7 -5
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ spec = Gem::Specification.new do |s|
|
|
18
18
|
s.description = %q{OpenShift Express Client Tools}
|
19
19
|
s.files = FileList['lib/**/*.rb', 'bin/*', 'conf/*'].to_a
|
20
20
|
s.files += %w(LICENSE README Rakefile)
|
21
|
-
s.executables = ['rhc-create-app', 'rhc-create-domain', 'rhc-ctl-app', 'rhc-snapshot', 'rhc-user-info']
|
21
|
+
s.executables = ['rhc-create-app', 'rhc-create-domain', 'rhc-ctl-app', 'rhc-snapshot', 'rhc-user-info', 'rhc-tail-files']
|
22
22
|
s.add_dependency('json')
|
23
23
|
s.add_dependency('parseconfig')
|
24
24
|
end
|
data/bin/rhc-create-app
CHANGED
@@ -110,16 +110,18 @@ end
|
|
110
110
|
|
111
111
|
uuid = get_var(opt["rhlogin"])
|
112
112
|
unless uuid
|
113
|
-
puts "Could not find UUID for #{opt["rhlogin"]}"
|
113
|
+
puts "Could not find UUID for '#{opt["rhlogin"]}' in express.conf. Be sure you have successfully ran rhc-create-domain before running rhc-create-app."
|
114
114
|
exit 99
|
115
115
|
end
|
116
116
|
|
117
117
|
opt["repo"] = opt["app"] unless opt["repo"]
|
118
118
|
|
119
|
-
puts "
|
120
|
-
|
121
|
-
|
122
|
-
|
119
|
+
puts "
|
120
|
+
Found a bug? Post to the forum and we'll get right on it.
|
121
|
+
IRC: #openshift on freenode
|
122
|
+
Forums: https://www.redhat.com/openshift/forums
|
123
|
+
|
124
|
+
"
|
123
125
|
|
124
126
|
#
|
125
127
|
# Confirm local git repo exists
|
@@ -310,8 +312,8 @@ git_url = "ssh://#{uuid}@#{opt['app']}-#{user_info['user_info']['namespace']}.#{
|
|
310
312
|
unless opt['nogit']
|
311
313
|
puts "Pulling new repo down"
|
312
314
|
|
313
|
-
puts "git clone #{git_url} #{opt['repo']}" if debug
|
314
|
-
git_pull = `git clone #{git_url} #{opt['repo']}`
|
315
|
+
puts "git clone --quiet #{git_url} #{opt['repo']}" if debug
|
316
|
+
git_pull = `git clone #{debug ? ' ' : '--quiet '}#{git_url} #{opt['repo']}`
|
315
317
|
if $?.exitstatus != 0
|
316
318
|
puts "Error in git pull"
|
317
319
|
puts git_pull
|
data/bin/rhc-create-domain
CHANGED
@@ -38,7 +38,7 @@ Bind a registered rhcloud user to a domain in rhcloud.
|
|
38
38
|
-n|--namespace namespace Opensift Express namespace (alphanumeric - max #{RHC::Maxdlen} chars) (required)
|
39
39
|
-l|--rhlogin rhlogin Red Hat login (required)
|
40
40
|
-p|--password password RHLogin password (optional, will prompt)
|
41
|
-
-a|--alter Alter ssh key
|
41
|
+
-a|--alter Alter namespace (will change urls) and/or ssh key
|
42
42
|
-d|--debug Print Debug info
|
43
43
|
-h|--help Show Usage info
|
44
44
|
|
@@ -127,7 +127,7 @@ if File.readable?(libra_kfile)
|
|
127
127
|
else
|
128
128
|
puts "Generating Openshift Express ssh key to #{libra_kfile}"
|
129
129
|
# Use system for interaction
|
130
|
-
system("ssh-keygen -t rsa -f #{libra_kfile}")
|
130
|
+
system("ssh-keygen -t rsa -f '#{libra_kfile}'")
|
131
131
|
end
|
132
132
|
|
133
133
|
ssh_key = File.open(libra_kpfile).gets.chomp.split(' ')[1]
|
@@ -164,7 +164,7 @@ in #{@local_config_path} which has been created and populated for you.
|
|
164
164
|
|
165
165
|
EOF
|
166
166
|
else
|
167
|
-
puts "
|
167
|
+
puts "Alteration successful. You can use rhc-user-info to view any url changes."
|
168
168
|
puts
|
169
169
|
end
|
170
170
|
exit 0
|
data/bin/rhc-tail-files
ADDED
@@ -0,0 +1,122 @@
|
|
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
|
+
require 'rhc-common'
|
25
|
+
|
26
|
+
#
|
27
|
+
# print help
|
28
|
+
#
|
29
|
+
def p_usage
|
30
|
+
rhlogin = get_var('default_rhlogin') ? "Default: #{get_var('default_rhlogin')}" : "(required)"
|
31
|
+
puts <<USAGE
|
32
|
+
|
33
|
+
Usage: rhc-tail-file
|
34
|
+
Pull down application snapshot for a user
|
35
|
+
|
36
|
+
-l|--rhlogin rhlogin RHCloud rhlogin (#{rhlogin})
|
37
|
+
-a|--app Target application to snapshot (required)
|
38
|
+
-f|--files File glob relative to app (default ./logs/*) (optional)
|
39
|
+
-p|--password password RHLogin password (optional, will prompt)
|
40
|
+
-d|--debug Print Debug info
|
41
|
+
-h|--help Show Usage info
|
42
|
+
|
43
|
+
USAGE
|
44
|
+
exit 255
|
45
|
+
end
|
46
|
+
|
47
|
+
begin
|
48
|
+
opts = GetoptLong.new(
|
49
|
+
["--debug", "-d", GetoptLong::NO_ARGUMENT],
|
50
|
+
["--help", "-h", GetoptLong::NO_ARGUMENT],
|
51
|
+
["--app", "-a", GetoptLong::REQUIRED_ARGUMENT],
|
52
|
+
["--files", "-f", GetoptLong::OPTIONAL_ARGUMENT],
|
53
|
+
["--rhlogin", "-l", GetoptLong::REQUIRED_ARGUMENT],
|
54
|
+
["--password", "-p", GetoptLong::OPTIONAL_ARGUMENT]
|
55
|
+
)
|
56
|
+
opt = {}
|
57
|
+
opts.each do |o, a|
|
58
|
+
opt[o[2..-1]] = a.to_s
|
59
|
+
end
|
60
|
+
rescue Exception => e
|
61
|
+
#puts e.message
|
62
|
+
p_usage
|
63
|
+
end
|
64
|
+
|
65
|
+
# Pull in configs from files
|
66
|
+
libra_server = get_var('libra_server')
|
67
|
+
debug = get_var('debug') == 'false' ? nil : get_var('debug')
|
68
|
+
libra_domain = get_var('libra_domain')
|
69
|
+
|
70
|
+
libra_kfile = "#{ENV['HOME']}/.ssh/libra_id_rsa"
|
71
|
+
libra_kpfile = "#{ENV['HOME']}/.ssh/libra_id_rsa.pub"
|
72
|
+
|
73
|
+
if opt["help"] || !opt['app']
|
74
|
+
p_usage
|
75
|
+
end
|
76
|
+
|
77
|
+
if opt["debug"]
|
78
|
+
debug = true
|
79
|
+
end
|
80
|
+
|
81
|
+
opt["rhlogin"] = get_var('default_rhlogin') unless opt["rhlogin"]
|
82
|
+
|
83
|
+
if !RHC::check_rhlogin(opt['rhlogin'])
|
84
|
+
p_usage
|
85
|
+
end
|
86
|
+
|
87
|
+
password = opt['password']
|
88
|
+
if !password
|
89
|
+
password = RHC::get_password
|
90
|
+
end
|
91
|
+
|
92
|
+
user_info = RHC::get_user_info(libra_server, opt['rhlogin'], password, @http, debug, false)
|
93
|
+
|
94
|
+
app = opt['app']
|
95
|
+
|
96
|
+
begin
|
97
|
+
framework = user_info['app_info'][app]['framework'].split('-')[0]
|
98
|
+
rescue NoMethodError
|
99
|
+
puts
|
100
|
+
puts "Could not find app '#{opt['app']}'. Please run rhc-user-info to get a list"
|
101
|
+
puts "of your current running applications"
|
102
|
+
puts
|
103
|
+
exit 101
|
104
|
+
end
|
105
|
+
|
106
|
+
opt['files'] = "logs/*" unless opt['files']
|
107
|
+
file_glob = "#{framework}/#{opt['app']}/#{opt['files']}"
|
108
|
+
|
109
|
+
puts "Attempting to tail files: #{file_glob}"
|
110
|
+
puts "Use ctl + c to stop"
|
111
|
+
puts
|
112
|
+
puts "ssh #{user_info['user_info']['uuid']}@#{app}-#{user_info['user_info']['namespace']}.#{libra_domain} 'tail #{file_glob}'" if debug
|
113
|
+
system("ssh #{user_info['user_info']['uuid']}@#{app}-#{user_info['user_info']['namespace']}.#{libra_domain} 'tail #{file_glob}'")
|
114
|
+
if $?.exitstatus != 0 and $?.exitstatus != 255
|
115
|
+
puts
|
116
|
+
puts "Error in trying to tail files. You can tail manually by running:"
|
117
|
+
puts
|
118
|
+
puts "ssh #{user_info['user_info']['uuid']}@#{app}-#{user_info['user_info']['namespace']}.#{libra_domain} 'tail #{file_glob}'`"
|
119
|
+
puts
|
120
|
+
exit 254
|
121
|
+
end
|
122
|
+
exit 0
|
data/lib/rhc-common.rb
CHANGED
@@ -40,7 +40,8 @@ module RHC
|
|
40
40
|
TYPES = {
|
41
41
|
'php-5.3.2' => :php,
|
42
42
|
'rack-1.1.0' => :rack,
|
43
|
-
'wsgi-3.2.1' => :wsgi
|
43
|
+
'wsgi-3.2.1' => :wsgi,
|
44
|
+
'jbossas-7.0.0' => :jbossas
|
44
45
|
}
|
45
46
|
|
46
47
|
def self.delay(time, adj=Defaultdelay)
|
@@ -222,6 +223,16 @@ module RHC
|
|
222
223
|
end
|
223
224
|
exit exit_code.nil? ? 666 : exit_code
|
224
225
|
end
|
226
|
+
|
227
|
+
def self.print_response_messages(json_resp)
|
228
|
+
messages = json_resp['messages']
|
229
|
+
if (messages && !messages.empty?)
|
230
|
+
puts ''
|
231
|
+
puts 'MESSAGES:'
|
232
|
+
puts messages
|
233
|
+
puts ''
|
234
|
+
end
|
235
|
+
end
|
225
236
|
|
226
237
|
def self.print_response_success(response, debug, always_print_result=false)
|
227
238
|
if debug
|
@@ -229,11 +240,15 @@ module RHC
|
|
229
240
|
print_json_body(response, debug)
|
230
241
|
elsif always_print_result
|
231
242
|
print_json_body(response, debug)
|
243
|
+
else
|
244
|
+
json_resp = JSON.parse(response.body)
|
245
|
+
print_response_messages(json_resp)
|
232
246
|
end
|
233
247
|
end
|
234
248
|
|
235
249
|
def self.print_json_body(response, debug)
|
236
|
-
json_resp = JSON.parse(response.body)
|
250
|
+
json_resp = JSON.parse(response.body)
|
251
|
+
print_response_messages(json_resp)
|
237
252
|
exit_code = json_resp['exit_code']
|
238
253
|
if debug
|
239
254
|
if json_resp['debug']
|
@@ -244,7 +259,7 @@ module RHC
|
|
244
259
|
puts "Exit Code: #{exit_code}"
|
245
260
|
if (json_resp.length > 3)
|
246
261
|
json_resp.each do |k,v|
|
247
|
-
if (k != '
|
262
|
+
if (k != 'result' && k != 'debug' && k != 'exit_code' && k != 'messages')
|
248
263
|
puts "#{k.to_s}: #{v.to_s}"
|
249
264
|
end
|
250
265
|
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:
|
4
|
+
hash: 269
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 69
|
9
|
+
- 3
|
10
|
+
version: 0.69.3
|
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: 2011-05-
|
18
|
+
date: 2011-05-12 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -54,6 +54,7 @@ executables:
|
|
54
54
|
- rhc-ctl-app
|
55
55
|
- rhc-snapshot
|
56
56
|
- rhc-user-info
|
57
|
+
- rhc-tail-files
|
57
58
|
extensions: []
|
58
59
|
|
59
60
|
extra_rdoc_files: []
|
@@ -61,6 +62,7 @@ extra_rdoc_files: []
|
|
61
62
|
files:
|
62
63
|
- lib/rhc-common.rb
|
63
64
|
- bin/rhc-create-domain
|
65
|
+
- bin/rhc-tail-files
|
64
66
|
- bin/rhc-create-app
|
65
67
|
- bin/rhc-ctl-app
|
66
68
|
- bin/rhc-user-info
|