crowbar-client 3.1.7 → 3.1.8

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: 3f864e6715677523b58fc601bce43448d4a3faa1
4
- data.tar.gz: bbc62230ae538cdb6737677166bfcd22a4d0f210
3
+ metadata.gz: 72c316559100e694e34b4d071b41bad26af9e7ae
4
+ data.tar.gz: 3a4277d825d8d7f9739c12797195c5920de03d4e
5
5
  SHA512:
6
- metadata.gz: 160d5b924836dd0cb4fc3347b4842f86f0f6ae6e4f67f686173708adb679ab17220a483369612538041d316860ff06c5545e3d0601f2bd3b22a6eba4f3e7f048
7
- data.tar.gz: 62e76b59a457801d66cc3c32c57c1eb07109054076a64821fb0f4b4aac0660958f2f6be50a2af43c6a543056f3d194d52333aea8a7ab525270959edfa3d85afd
6
+ metadata.gz: 67ac11b8b97dbcce0bbe2f7df46a86fe915850b299a7b8b00902cf2fcb01471ae7fe339266d604e3235a91a099efd626fdd78ebc58ac6442499a2b6079e95534
7
+ data.tar.gz: d1c8d291d299f0a742a18dc515bd734c27d8acc5c94488038be315220cb500febeecfe3e035ded13f8acfaf7cd521844cbfe3a8697ce5e102016d24bec54ac57
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.1.8](https://github.com/crowbar/crowbar-client/releases/tag/v3.1.8) - 2017-02-02
4
+
5
+ * ENHANCEMENT
6
+ * Inform the user that OpenStack backup is ongoing (@jsuchome)
7
+ * Allow granular node upgrade (@MaximilianMeister)
8
+ * BUGFIX
9
+ * Display an error when a false parameter gets passed (@MaximilianMeister)
10
+ * Change next step after 'services' to openstack DB backup (@jsuchome)
11
+ * Correctly format database error (@MaximilianMeister)
12
+
3
13
  ## [3.1.7](https://github.com/crowbar/crowbar-client/releases/tag/v3.1.7) - 2017-01-13
4
14
 
5
15
  * ENHANCEMENT
@@ -184,16 +184,23 @@ module Crowbar
184
184
  catch_errors(e)
185
185
  end
186
186
 
187
- desc "nodes",
188
- "Trigger the upgrade on all nodes"
187
+ desc "nodes COMPONENT",
188
+ "Trigger the node upgrade (all|controllers|NODENAME)"
189
189
 
190
190
  long_desc <<-LONGDESC
191
- `nodes` will upgrade all nodes.
191
+ `nodes all` will upgrade all nodes.
192
+
193
+ `nodes controllers` will upgrade all controller nodes.
194
+
195
+ `nodes NODENAME` will upgrade the node with the NODENAME.
196
+ This only works for compute nodes.
192
197
  LONGDESC
193
198
 
194
- def nodes
199
+ def nodes(component)
195
200
  Command::Upgrade::Nodes.new(
196
- *command_params
201
+ *command_params(
202
+ component: component
203
+ )
197
204
  ).execute
198
205
  rescue => e
199
206
  catch_errors(e)
@@ -34,11 +34,14 @@ module Crowbar
34
34
  request.process do |request|
35
35
  case request.code
36
36
  when 200
37
- say "Successfully created backup for #{args.component}"
38
37
  if args.component == "crowbar"
38
+ say "Successfully created backup for #{args.component}."
39
39
  say "Next step: 'crowbarctl upgrade repocheck crowbar'"
40
+ else
41
+ say "Creating a backup of OpenStack database. "
42
+ say "Query the action progress with 'crowbarctl upgrade status'."
43
+ say "Next step: 'crowbarctl upgrade nodes'"
40
44
  end
41
- say "Next step: 'crowbarctl upgrade nodes'" if args.component == "openstack"
42
45
  else
43
46
  case args.component
44
47
  when "crowbar"
@@ -50,7 +53,8 @@ module Crowbar
50
53
  request.parsed_response["error"], "backup_openstack"
51
54
  )
52
55
  else
53
- request.parsed_response["error"]
56
+ err "No such component '#{args.component}'. " \
57
+ "Only 'crowbar' and 'openstack' are valid components."
54
58
  end
55
59
  end
56
60
  end
@@ -25,6 +25,7 @@ module Crowbar
25
25
  #
26
26
  class Database < Base
27
27
  include Mixin::Database
28
+ include Mixin::UpgradeError
28
29
 
29
30
  def args_with_options
30
31
  args.easy_merge!(
@@ -47,7 +48,9 @@ module Crowbar
47
48
 
48
49
  request.process do |request|
49
50
  unless request.code == 200
50
- err request.parsed_response["error"]
51
+ err format_error(
52
+ request.parsed_response["error"], "database"
53
+ )
51
54
  end
52
55
 
53
56
  response = JSON.parse(request.body)
@@ -34,8 +34,16 @@ module Crowbar
34
34
  request.process do |request|
35
35
  case request.code
36
36
  when 200
37
- say "Successfully triggered the upgrade of the nodes. " \
38
- "Query the upgrade status to follow the process with 'crowbarctl upgrade status'."
37
+ case args.component
38
+ when "all"
39
+ say "Successfully triggered the upgrade of the nodes. "
40
+ when "controllers"
41
+ say "Successfully triggered the upgrade of the controller nodes. "
42
+ else
43
+ say "Successfully triggered the upgrade of node #{args.component}. "
44
+ end
45
+ say "Query the upgrade status to follow the process with " \
46
+ "'crowbarctl upgrade status'."
39
47
  else
40
48
  err format_error(
41
49
  request.parsed_response["error"], "nodes"
@@ -64,7 +64,8 @@ module Crowbar
64
64
  request.parsed_response["error"], "repocheck_nodes"
65
65
  )
66
66
  else
67
- err request.parsed_response["error"]
67
+ err "No such component '#{args.component}'. " \
68
+ "Only 'admin' and 'nodes' are valid components."
68
69
  end
69
70
  end
70
71
  end
@@ -34,9 +34,9 @@ module Crowbar
34
34
  request.process do |request|
35
35
  case request.code
36
36
  when 200
37
- say "Stopping related services on all nodes." \
37
+ say "Stopping related services on all nodes. " \
38
38
  "Query the upgrade status to follow the process with 'crowbarctl upgrade status'."
39
- say "Next step: 'crowbarctl upgrade nodes'"
39
+ say "Next step: 'crowbarctl upgrade backup openstack'"
40
40
  else
41
41
  err format_error(
42
42
  request.parsed_response["error"], "services"
@@ -35,6 +35,17 @@ module Crowbar
35
35
  )
36
36
  end
37
37
 
38
+ #
39
+ # Override the request content
40
+ #
41
+ # @return [Hash] the content for the request
42
+ #
43
+ def content
44
+ super.easy_merge!(
45
+ component: attrs.component
46
+ )
47
+ end
48
+
38
49
  #
39
50
  # HTTP method that gets used by the request
40
51
  #
@@ -33,7 +33,7 @@ module Crowbar
33
33
  #
34
34
  # Patch version
35
35
  #
36
- PATCH = 7
36
+ PATCH = 8
37
37
 
38
38
  #
39
39
  # Optional suffix
@@ -27,11 +27,13 @@ describe "Crowbar::Client::Request::Upgrade::Nodes" do
27
27
 
28
28
  let!(:attrs) do
29
29
  {
30
+ component: "all"
30
31
  }
31
32
  end
32
33
 
33
34
  let!(:params) do
34
35
  {
36
+ component: "all"
35
37
  }
36
38
  end
37
39
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crowbar-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 3.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Boerger
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-01-13 00:00:00.000000000 Z
13
+ date: 2017-02-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler