rhc 0.91.12 → 0.92.11

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -21,9 +21,9 @@ spec = Gem::Specification.new do |s|
21
21
  s.version = /(Version: )(.*)/.match(File.read("client.spec"))[2]
22
22
  s.author = "Red Hat"
23
23
  s.email = %q{openshift@redhat.com}
24
- s.summary = %q{OpenShift Express Client Tools}
24
+ s.summary = %q{OpenShift Client Tools}
25
25
  s.homepage = %q{https://openshift.redhat.com/app/express}
26
- s.description = %q{The client tools for the OpenShift Express platform that allow for application management.}
26
+ s.description = %q{The client tools for the OpenShift platform that allow for application management.}
27
27
  s.files = FileList['lib/**/*.rb', 'lib/rhc', 'bin/*', 'conf/*'].to_a
28
28
  s.files += %w(LICENSE COPYRIGHT README.md Rakefile)
29
29
  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']
@@ -37,19 +37,6 @@ spec = Gem::Specification.new do |s|
37
37
  # - json_pure (Ruby (Ruby 1.8.6, Windows, Mac) / json (everything else)
38
38
  # http://en.wikibooks.org/wiki/Ruby_Programming/RubyGems
39
39
  s.extensions << 'ext/mkrf_conf.rb'
40
-
41
- # Leave this message for a few versions, or until we can
42
- # figure out how to get it only displayed if rhc-rest
43
- # is installed (taken care of in extension)
44
- s.post_install_message = <<-MSG
45
- ===================================================
46
- rhc-rest is no longer needed as an external gem
47
- - If it is installed, it will be removed
48
- - Its libraries are now included in rhc
49
- - Any applications requiring rhc-rest will
50
- still function as expected
51
- ===================================================
52
- MSG
53
40
  end
54
41
 
55
42
  # Define a :package task that bundles the gem
@@ -50,7 +50,7 @@ List of arguments
50
50
  -a|--app application Application name (alphanumeric - max #{RHC::APP_NAME_MAX_LENGTH} chars) (required)
51
51
  -t|--type type Type of app to create (#{type_keys}) (required for creating an application)
52
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)
53
+ -g|--gear-size size The size of the gear for this app ([small|medium], defaults to small)
54
54
  -s|--scaling Enable scaling for this app
55
55
  -r|--repo path Git Repo path (defaults to ./$app_name)
56
56
  -n|--nogit Only create remote space, don't pull it locally
@@ -172,10 +172,6 @@ currently being created: '#{$opt['app']}'
172
172
  end
173
173
 
174
174
  $opt['gear-size']='small' unless $opt['gear-size']
175
- if !['small','medium','large'].include? $opt['gear-size']
176
- puts "Invalid gear size: %s" % $opt['gear-size']
177
- p_usage
178
- end
179
175
 
180
176
  $opt['repo'] = $opt['app'] unless $opt['repo']
181
177
 
@@ -1,24 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rhc-common'
3
3
 
4
- # FIXME: get better descriptions from runtime or docs team
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'
9
- }
10
-
11
- def p_valid_gear_sizes(invalid_gear_size)
12
- puts "Invalid gear size #{invalid_gear_size}"
13
- puts "Valid options are:"
14
- puts ""
15
- $gear_size_order.each do |gear_size|
16
- puts " #{gear_size} - #{$valid_gear_sizes[gear_size]}"
17
- end
18
-
19
- exit 255
20
- end
21
-
22
4
  def p_usage(error_code = 255)
23
5
  libra_server = get_var('libra_server')
24
6
  rhlogin = get_var('default_rhlogin') ? "Default: #{get_var('default_rhlogin')}" : "required"
@@ -30,7 +12,7 @@ Create an OpenShift app.
30
12
 
31
13
  -a|--app application Application name (alphanumeric - max #{RHC::APP_NAME_MAX_LENGTH} chars) (required)
32
14
  -t|--type type Type of app to create (#{type_keys}) (required)
33
- -g|--gear-size size The size of the gear for this app ([small|medium|large], defaults to small)
15
+ -g|--gear-size size The size of the gear for this app ([small|medium], defaults to small)
34
16
  -s|--scaling Enable scaling for this app
35
17
  -l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login) (#{rhlogin})
36
18
  -p|--password password RHLogin password (optional, will prompt)
@@ -116,13 +98,8 @@ end
116
98
 
117
99
  # Default gear size is small
118
100
  gear_size = opt['gear-size']
119
- if !gear_size
120
- gear_size = 'small'
121
- else
122
- if !$valid_gear_sizes.include? gear_size
123
- p_valid_gear_sizes gear_size
124
- end
125
- end
101
+ gear_size = 'small' if !gear_size
102
+
126
103
 
127
104
  password = opt['password']
128
105
  if !password
@@ -187,9 +187,9 @@ end
187
187
  #
188
188
 
189
189
  if File.readable?(ssh_key_file_path)
190
- puts "OpenShift Express key found at #{ssh_key_file_path}. Reusing..."
190
+ puts "OpenShift key found at #{ssh_key_file_path}. Reusing..."
191
191
  else
192
- puts "Generating OpenShift Express ssh key to #{ssh_key_file_path}"
192
+ puts "Generating OpenShift ssh key to #{ssh_key_file_path}"
193
193
  # Use system for interaction
194
194
  system("ssh-keygen -t rsa -f '#{ssh_key_file_path}'")
195
195
  end
@@ -439,7 +439,7 @@ module RHC
439
439
  namespace = domain.id
440
440
  # Catch errors
441
441
  begin
442
- application = domain.add_application(app_name,{:cartridge => app_type, :scale => true})
442
+ application = domain.add_application(app_name,{:cartridge => app_type, :scale => true, :gear_profile => gear_size})
443
443
 
444
444
  # Variables that are needed for the rest of the function
445
445
  app_uuid = application.uuid
@@ -668,7 +668,7 @@ To make changes to '#{app_name}', you must first clone it with:
668
668
  git clone #{git_url}
669
669
 
670
670
  LOOKSGOOD
671
- puts "Then run 'git push' to update your OpenShift Express space."
671
+ puts "Then run 'git push' to update your OpenShift space."
672
672
  end
673
673
  end
674
674
  if result && !result.empty?
@@ -697,7 +697,7 @@ LOOKSGOOD
697
697
  http_post(net_http, url, json_data, password)
698
698
  end
699
699
 
700
- # Runs rhc-list-ports on server to check available ports
700
+ # Runs rhc-list-ports on server to check available ports
701
701
  # :stderr return user-friendly port name, :stdout returns 127.0.0.1:8080 format
702
702
  def self.list_ports(rhc_domain, namespace, app_name, app_uuid, debug=true)
703
703
 
@@ -709,6 +709,7 @@ LOOKSGOOD
709
709
 
710
710
  hosts_and_ports = []
711
711
  hosts_and_ports_descriptions = []
712
+ scaled_uuids = []
712
713
 
713
714
  puts ssh_cmd if debug
714
715
 
@@ -716,25 +717,34 @@ LOOKSGOOD
716
717
 
717
718
  stdout.each { |line|
718
719
  line = line.chomp
719
- if ip_and_port_simple_regex.match(line)
720
- hosts_and_ports << line
720
+ if line.downcase =~ /scale/
721
+ scaled_uuid = line[5..-1]
722
+ scaled_uuids << scaled_uuid
723
+ else
724
+ if ip_and_port_simple_regex.match(line)
725
+ hosts_and_ports << line
726
+ end
721
727
  end
722
728
  }
723
729
 
724
730
  stderr.each { |line|
725
731
  line = line.chomp
726
-
727
732
  if line.downcase =~ /permission denied/
728
733
  puts line
729
734
  exit 1
730
735
  end
731
736
 
737
+
732
738
  if line.index(ip_and_port_simple_regex)
733
739
  hosts_and_ports_descriptions << line
734
740
  end
735
741
  }
736
742
 
737
743
  }
744
+
745
+ scaled_uuids.each { |uuid|
746
+ list_scaled_ports(rhc_domain, namespace, app_name, uuid, hosts_and_ports, hosts_and_ports_descriptions, debug)
747
+ }
738
748
 
739
749
  #hosts_and_ports_descriptions = stderr.gets.chomp.split(/\n/)
740
750
  #hosts_and_ports = stdout.gets.chomp.split(/\n/)
@@ -758,6 +768,44 @@ LOOKSGOOD
758
768
  return hosts_and_ports, hosts_and_ports_descriptions
759
769
 
760
770
  end
771
+
772
+ # Runs rhc-list-ports on server to check available ports
773
+ # :stderr return user-friendly port name, :stdout returns 127.0.0.1:8080 format
774
+ def self.list_scaled_ports(rhc_domain, namespace, app_name, app_uuid, hosts_and_ports, hosts_and_ports_descriptions, debug=true)
775
+
776
+ ip_and_port_simple_regex = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}/
777
+
778
+ ssh_host = "#{app_name}-#{namespace}.#{rhc_domain}"
779
+
780
+ ssh_cmd = "ssh -t #{app_uuid}@#{ssh_host} 'rhc-list-ports'"
781
+
782
+ puts ssh_cmd if debug
783
+
784
+ Open3.popen3(ssh_cmd) { |stdin, stdout, stderr|
785
+
786
+ stdout.each { |line|
787
+ line = line.chomp
788
+
789
+ if ip_and_port_simple_regex.match(line)
790
+ hosts_and_ports << line
791
+ end
792
+ }
793
+
794
+ stderr.each { |line|
795
+ line = line.chomp
796
+
797
+ if line.downcase =~ /permission denied/
798
+ puts line
799
+ exit 1
800
+ end
801
+
802
+ if line.index(ip_and_port_simple_regex)
803
+ hosts_and_ports_descriptions << line
804
+ end
805
+ }
806
+ }
807
+
808
+ end
761
809
 
762
810
  def self.ctl_app(libra_server, net_http, app_name, rhlogin, password, action, embedded=false, framework=nil, server_alias=nil, print_result=true)
763
811
  data = {:action => action,
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: 363
4
+ hash: 377
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 91
9
- - 12
10
- version: 0.91.12
8
+ - 92
9
+ - 11
10
+ version: 0.92.11
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-04-30 00:00:00 Z
18
+ date: 2012-05-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: parseconfig
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: "0"
60
60
  type: :runtime
61
61
  version_requirements: *id003
62
- description: The client tools for the OpenShift Express platform that allow for application management.
62
+ description: The client tools for the OpenShift platform that allow for application management.
63
63
  email: openshift@redhat.com
64
64
  executables:
65
65
  - rhc
@@ -81,31 +81,31 @@ extensions:
81
81
  extra_rdoc_files: []
82
82
 
83
83
  files:
84
- - lib/rhc-rest.rb
85
- - lib/rhc-rest/version.rb
84
+ - lib/rhc-common.rb
86
85
  - lib/rhc-rest/domain.rb
86
+ - lib/rhc-rest/application.rb
87
87
  - lib/rhc-rest/cartridge.rb
88
88
  - lib/rhc-rest/client.rb
89
- - lib/rhc-rest/application.rb
89
+ - lib/rhc-rest/key.rb
90
90
  - lib/rhc-rest/exceptions/exceptions.rb
91
91
  - lib/rhc-rest/user.rb
92
- - lib/rhc-rest/key.rb
93
- - lib/rhc-common.rb
92
+ - lib/rhc-rest/version.rb
93
+ - lib/rhc-rest.rb
94
94
  - lib/rhc
95
- - bin/rhc-ctl-app
96
- - bin/rhc-app
97
- - bin/rhc-create-app
98
- - bin/rhc-domain
95
+ - bin/rhc-user-info
99
96
  - bin/rhc-chk
100
- - bin/rhc-create-domain
97
+ - bin/rhc-create-app
101
98
  - bin/rhc-domain-info
102
- - bin/rhc
103
- - bin/rhc-user-info
99
+ - bin/rhc-ctl-domain
104
100
  - bin/rhc-sshkey
105
- - bin/rhc-port-forward
106
- - bin/rhc-snapshot
107
101
  - bin/rhc-tail-files
108
- - bin/rhc-ctl-domain
102
+ - bin/rhc-create-domain
103
+ - bin/rhc-ctl-app
104
+ - bin/rhc-domain
105
+ - bin/rhc-snapshot
106
+ - bin/rhc-app
107
+ - bin/rhc-port-forward
108
+ - bin/rhc
109
109
  - conf/express.conf
110
110
  - LICENSE
111
111
  - COPYRIGHT
@@ -115,7 +115,7 @@ files:
115
115
  homepage: https://openshift.redhat.com/app/express
116
116
  licenses: []
117
117
 
118
- post_install_message: " ===================================================\n rhc-rest is no longer needed as an external gem\n - If it is installed, it will be removed\n - Its libraries are now included in rhc\n - Any applications requiring rhc-rest will \n still function as expected\n ===================================================\n"
118
+ post_install_message:
119
119
  rdoc_options: []
120
120
 
121
121
  require_paths:
@@ -144,6 +144,6 @@ rubyforge_project:
144
144
  rubygems_version: 1.8.11
145
145
  signing_key:
146
146
  specification_version: 3
147
- summary: OpenShift Express Client Tools
147
+ summary: OpenShift Client Tools
148
148
  test_files: []
149
149