kitchen-habitat 0.2.4 → 0.3.0

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: f8f5bd09f9be9941cb4fbb5854d6e190133ac755
4
- data.tar.gz: d282775cb109380519f3163f053f3586afa4db62
3
+ metadata.gz: b6694587068b88af9d3ed639a257adcfd517f875
4
+ data.tar.gz: b91653665f443ee506cc0b54126c3f4d3ec5aba0
5
5
  SHA512:
6
- metadata.gz: 5697def2efc706d739ae06182d8b430e623405a5e0e488817a8c8f076ea84075d81e52d88606ad5ff6ecf64e7e18205067bfac90556b2502081293ef8aac76b0
7
- data.tar.gz: 70a4508a072c3f752082be170ec8d8d1db45c4357ed51edefc99bbcfe6cba0d2e1511190e5c0ee34f6db3e15a192699bf4cf4c667945220daca9c741aa4a86cc
6
+ metadata.gz: 4dc477c2e3f31d2390606aa4fa51492f3f713ab9aeed36e14066543c71bf3484eb99e8c3802f874e111e9080892e9655a49ec1c362bc68e0643748e09ddcdc9f
7
+ data.tar.gz: a83287c2bdc77cb43991062d6424e0598a9d9a92f1d2499fbdd0580efb4885bb16c76cf59e75f4ca3053b058349a453405938dace84a2237837099be9ad9557c
data/README.md CHANGED
@@ -42,6 +42,9 @@ You'll need the test-kitchen & kitchen-habitat gems installed in your system, al
42
42
  * `hab_sup_listen_gossip`
43
43
  * Port for the supervisor's gossip communication
44
44
  * Defaults to `nil`
45
+ * `hab_sup_group`
46
+ * Service group for the supervisor to belong do.
47
+ * Default is `default`
45
48
 
46
49
  ### Package Settings
47
50
 
@@ -66,9 +69,15 @@ You'll need the test-kitchen & kitchen-habitat gems installed in your system, al
66
69
  * `package_timestamp`
67
70
  * Package timestamp of the package to be run.
68
71
  * Defaults to `nil` or if `artifact_name` is supplied, the `package_timestamp` will be parsed from the filename of the hart file.
72
+ * `service_topology`
73
+ * The topology for the service to run in. Valid values are `nil`, `standalone`, `leader`
74
+ * Defaults to `nil` which is `standalone`
75
+ * `service_update_strategy`
76
+ * Describes how package updates are to be applied. Valid values are `nil`, `at-once`, `rolling`.
77
+ * Default is `nil`, which does not check for package updates.
69
78
  * `config_directory`
70
79
  * Directory containing a user.toml or/and a default.toml, hooks, and configuration files to be passed to the service under test.
71
- * Default to `nil`
80
+ * Defaults to `nil`
72
81
  * `override_package_config`
73
82
  * Tell the supervisor to the the configuration files and hooks from `config_directory` instead of what was packaged with the service. (Uses `--config-from` via the `hab-sup` CLI.)
74
83
  * `user_toml_name`
@@ -1,5 +1,5 @@
1
1
  module Kitchen
2
2
  module Habitat
3
- VERSION = "0.2.4".freeze
3
+ VERSION = "0.3.0".freeze
4
4
  end
5
5
  end
@@ -28,6 +28,7 @@ module Kitchen
28
28
  default_config :hab_sup_listen_gossip, nil
29
29
  default_config :hab_sup_peer, []
30
30
  default_config :hab_sup_bind, []
31
+ default_config :hab_sup_group, nil
31
32
 
32
33
  # hab-sup service options
33
34
  default_config :artifact_name, nil
@@ -37,6 +38,9 @@ module Kitchen
37
38
  end
38
39
  default_config :package_version, nil
39
40
  default_config :package_timestamp, nil
41
+ default_config :service_topology, nil
42
+ default_config :service_update_strategy, nil
43
+
40
44
 
41
45
  # local stuffs to copy
42
46
  default_config :results_directory, nil
@@ -145,7 +149,7 @@ module Kitchen
145
149
  else
146
150
  <<-RUN
147
151
  [ -f ./run.pid ] && rm -f run.pid
148
- [ -f ./nohup.out ] && rm -f nohup.out
152
+ [ -f ./nohup.out ] && rm -f nohup.out
149
153
  nohup sudo hab-sup start #{package_ident} #{supervisor_options} & echo $! > run.pid
150
154
  sleep 5
151
155
  [ -f ./nohup.out ] && cat nohup.out || (echo "Failed to start the supervisor." && exit 1)
@@ -246,12 +250,16 @@ module Kitchen
246
250
  end
247
251
 
248
252
  def supervisor_options
249
- options = "#{'--listen-gossip ' + config[:hab_sup_listen_gossip] unless config[:hab_sup_listen_gossip].nil?} " \
250
- "#{'--listen-http ' + config[:hab_sup_listen_http] unless config[:hab_sup_listen_http].nil?} " \
251
- "#{'--config-from ' + File.join(config[:root_path], 'config/') if config[:override_package_config]} "
252
- options.strip!
253
+ options = ""
254
+ options += " --listen-gossip #{config[:hab_sup_listen_gossip]}" unless config[:hab_sup_listen_gossip].nil?
255
+ options += " --listen-http #{config[:hab_sup_listen_http]}" unless config[:hab_sup_listen_http].nil?}
256
+ options += " --config-from #{File.join(config[:root_path], 'config/')}" if config[:override_package_config]}
253
257
  options += config[:hab_sup_bind].map { |b| " --bind #{b}" }.join(" ") if config[:hab_sup_bind].any?
254
258
  options += config[:hab_sup_peer].map { |p| " --peer #{p}" }.join(" ") if config[:hab_sup_peer].any?
259
+ options += " --group #{config[:hab_sup_group]}" unless config[:hab_sup_group].nil?
260
+ options += " --topology #{config[:service_topology]}" unless config[:service_topology].nil?
261
+ options += " --strategy #{config[:service_update_strategy]}" unless config[:service_update_strategy].nil?
262
+
255
263
  options
256
264
  end
257
265
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-habitat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Murawski