crowbar-client 3.1.7 → 3.1.8

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.
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