kontena-cli 1.2.0.pre2 → 1.2.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc1d241dbb42a8927a437e28fee00aba525bea78
4
- data.tar.gz: f12240579934c0bad6f3d441c2744f0f5e9a5f8d
3
+ metadata.gz: fbe93b31f3b0185a1f79d87967898a48dd6c3a8b
4
+ data.tar.gz: d94145ce8dbb0289a75785293802b25f8a29e48f
5
5
  SHA512:
6
- metadata.gz: 5137972ce9856d048eb8e972f8e20bea52c75a014e04f12a2d34290e870830c2d321fd8a2f264243f65aa12ab8446e3b6b2d1fe8cca5b8b036db947789e4d96b
7
- data.tar.gz: 064fbf5dc12b11581a36b83ccd96fc961a23fdc5decb1995c1dd15cc8d2793ade68c060eb05dc87e38da4ff1d5f2f3332ac397c01333d0e057729fa06deb4ae1
6
+ metadata.gz: b6f6a68a4ef272bdc3f8ef941e155d7536eb3c429fd726dc00d98fe8ee6cd15a39f1f600ad218f7d1041a33db88d01a23f4d6d692ef0af1f2ad9b25de3a54725
7
+ data.tar.gz: 1e0552a145da0f8cebebe1ef1305052385f25077b7d903d58a4bc4f4fda7622e323e712af13b2bcce79319fc0950d55e59c01ae4cd63f97b8c5876d3ff2b0c2c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0.pre2
1
+ 1.2.0.pre3
@@ -32,7 +32,7 @@ module Kontena
32
32
 
33
33
  invite_response = nil
34
34
  spinner "Creating user #{cloud_user_data[:email]} into Kontena Master" do |spin|
35
- invite_response = Kontena.run("master users invite --external-id #{cloud_user_data[:id]} --return #{cloud_user_data[:email].shellescape}", returning: :result)
35
+ invite_response = Kontena.run(["master", "user", "invite", "--external-id", cloud_user_data[:id], "--return", cloud_user_data[:email]], returning: :result)
36
36
  unless invite_response.kind_of?(Hash) && invite_response.has_key?('invite_code')
37
37
  spin.fail
38
38
  end
@@ -44,7 +44,7 @@ module Kontena
44
44
  role_status = nil
45
45
 
46
46
  spinner "Adding master_admin role for #{cloud_user_data[:email]}" do |spin|
47
- role_status = Kontena.run("master users role add --silent master_admin #{cloud_user_data[:email].shellescape}")
47
+ role_status = Kontena.run(["master", "user", "role", "add", "--silent", "master_admin", cloud_user_data[:email]])
48
48
  spin.fail if role_status.to_i > 0
49
49
  end
50
50
 
@@ -52,7 +52,7 @@ module Kontena
52
52
 
53
53
  if current_master.grid
54
54
  spinner "Adding #{cloud_user_data[:email]} to grid '#{current_master.grid}'" do |spin|
55
- grid_add_status = Kontena.run("grid user add --grid #{current_master.grid} #{cloud_user_data[:email].shellescape}")
55
+ grid_add_status = Kontena.run(["grid", "user", "add", "--grid", current_master.grid, cloud_user_data[:email]])
56
56
  spin.fail if grid_add_status.to_i > 0
57
57
  end
58
58
  end
@@ -61,7 +61,7 @@ module Kontena
61
61
 
62
62
  new_user_token = nil
63
63
  spinner "Creating an access token for #{cloud_user_data[:email]}" do |spin|
64
- new_user_token = Kontena.run("master token create -e 0 -s user --return -u #{cloud_user_data[:email].shellescape}", returning: :result)
64
+ new_user_token = Kontena.run(["master", "token", "create", "-e", "0", "-s", "user", "--return", "-u", cloud_user_data[:email]], returning: :result)
65
65
  end
66
66
 
67
67
  master_name = current_master.name.dup
@@ -39,7 +39,7 @@ module Kontena::Cli::Master::User
39
39
  puts " * command: kontena master join #{current_master.url} #{response['invite_code']}"
40
40
  end
41
41
  roles.each do |role|
42
- Kontena.run("master users role add #{role.shellescape} #{email.shellescape}")
42
+ Kontena.run(["master", "user", "role", "add", role, email])
43
43
  end
44
44
  rescue => ex
45
45
  $stderr.puts pastel.red("Failed to invite #{email}")
@@ -10,6 +10,13 @@ module Kontena::Cli::Nodes
10
10
  require_api_url
11
11
  require_current_grid
12
12
  token = require_token
13
+
14
+ node = client(token).get("nodes/#{current_grid}/#{node_id}")
15
+
16
+ if node['connected']
17
+ exit_with_error "Node #{node['name']} is still online. You must terminate the node before removing it."
18
+ end
19
+
13
20
  confirm_command(node_id) unless forced?
14
21
 
15
22
  spinner "Removing #{node_id.colorize(:cyan)} node from #{current_grid.colorize(:cyan)} grid " do
@@ -18,7 +18,7 @@ module Kontena::Cli::Nodes
18
18
  exit_with_error "Cannot combine --any with a node name" if node_id && any?
19
19
 
20
20
  if node_id
21
- node = client.get("grids/#{current_grid}/nodes/#{node_id}")
21
+ node = client.get("nodes/#{current_grid}/#{node_id}")
22
22
  elsif any?
23
23
  nodes = client.get("grids/#{current_grid}/nodes")['nodes']
24
24
  node = nodes.select{ |node| node['connected'] }.first
@@ -110,6 +110,11 @@ module Kontena::Cli::Stacks
110
110
  def generate_volumes(yaml_volumes)
111
111
  return [] unless yaml_volumes
112
112
  yaml_volumes.map do |name, config|
113
+ if config['external'].is_a?(TrueClass)
114
+ config['external'] = name
115
+ elsif config['external']['name']
116
+ config['external'] = config['external']['name']
117
+ end
113
118
  config.merge('name' => name)
114
119
  end
115
120
  end
@@ -92,21 +92,7 @@ module Kontena::Cli::Stacks
92
92
  yaml['volumes'].each do |volume, options|
93
93
  if options.is_a?(Hash)
94
94
  option_errors = validate_volume_options(options)
95
- if option_errors.valid?
96
- if !options.key?('driver') && options.key?('driver_opts')
97
- result[:errors] << { 'volumes' => { volume => { 'driver_opts' => 'defined without defining driver' } } }
98
- end
99
- if options.key?('external')
100
- unless options['external'].is_a?(FalseClass)
101
- ['driver', 'driver_opts', 'scope'].each do |key|
102
- result[:errors] << { 'volumes' => { volume => { key => 'specified together with external' } } } if options.key?(key)
103
- end
104
- end
105
- end
106
- if options.key?('driver') && !options.key?('scope')
107
- result[:errors] << { 'volumes' => { volume => { 'scope' => 'required value missing' } } }
108
- end
109
- else
95
+ unless option_errors.valid?
110
96
  result[:errors] << { 'volumes' => { volume => option_errors.errors } }
111
97
  end
112
98
  else
@@ -7,11 +7,14 @@ module Kontena::Cli::Volumes
7
7
 
8
8
  banner "Removes a volume"
9
9
  parameter 'VOLUME', 'Volume'
10
+ option "--force", :flag, "Force remove", default: false, attribute_name: :forced
10
11
 
11
12
  requires_current_master
12
13
  requires_current_master_token
13
14
 
14
15
  def execute
16
+ confirm_command(volume) unless forced?
17
+
15
18
  spinner "Removing volume #{pastel.cyan(volume)} " do
16
19
  remove_volume(volume)
17
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kontena-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.pre2
4
+ version: 1.2.0.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kontena, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-05 00:00:00.000000000 Z
11
+ date: 2017-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler