rundock 0.4.16 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/README.md +12 -12
  4. data/lib/rundock.rb +1 -0
  5. data/lib/rundock/attribute/node_attribute.rb +1 -1
  6. data/lib/rundock/builder/operation_builder.rb +24 -19
  7. data/lib/rundock/builder/scenario_builder.rb +4 -4
  8. data/lib/rundock/builder/target_builder.rb +25 -0
  9. data/lib/rundock/cli.rb +2 -2
  10. data/lib/rundock/runner.rb +5 -5
  11. data/lib/rundock/scenario.rb +1 -0
  12. data/lib/rundock/version.rb +1 -1
  13. data/scenario_sample.yml +28 -17
  14. data/spec/integration/groups/simple_host_group.yml +3 -2
  15. data/spec/integration/platforms/centos6/Dockerfile +1 -1
  16. data/spec/integration/platforms/localhost/scenarios/all_file_hooks_by_option_scenario.yml +1 -1
  17. data/spec/integration/platforms/localhost/scenarios/deploy_scenario.yml +1 -1
  18. data/spec/integration/platforms/localhost/scenarios/file_hooks_by_option_scenario.yml +2 -2
  19. data/spec/integration/platforms/localhost/scenarios/file_hooks_scenario.yml +2 -2
  20. data/spec/integration/platforms/localhost/scenarios/run_anyway_scenario.yml +1 -1
  21. data/spec/integration/platforms/localhost/scenarios/simple_echo_scenario.yml +1 -1
  22. data/spec/integration/platforms/localhost/scenarios/simple_plugin_scenario.yml +2 -1
  23. data/spec/integration/platforms/localhost/scenarios/use_default_ssh_scenario.yml +1 -1
  24. data/spec/integration/scenarios/all_file_hooks_by_option_scenario.yml +1 -1
  25. data/spec/integration/scenarios/deploy_scenario.yml +2 -2
  26. data/spec/integration/scenarios/file_hooks_by_option_scenario.yml +1 -1
  27. data/spec/integration/scenarios/file_hooks_scenario.yml +1 -1
  28. data/spec/integration/scenarios/simple_echo_scenario.yml +5 -3
  29. data/spec/integration/scenarios/simple_plugin_scenario.yml +1 -1
  30. data/spec/integration/scenarios/use_default_ssh_scenario.yml +1 -1
  31. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 24c0aa8f73630ca0f4fcab31e3db5fe9d6c56e4a
4
- data.tar.gz: 93a2cabce87a681f76f5a344b4d36135365a85ba
3
+ metadata.gz: c2edc8af21fef25b6da99b4b109b52e5bc706211
4
+ data.tar.gz: 737f981e31b4507c83d4c9727694465e8e8aa65f
5
5
  SHA512:
6
- metadata.gz: cf3d9806d2389fbf71c5eb34523e9d3bc9f3c6dbfb7a2b6a9060d77c86840f3bb22bbdf65c570d119159efa4a1cca77a97758ffa89d6ab5d113609c4611eeb84
7
- data.tar.gz: d6c254e1e05c9c836b9f2bba9166c4119cfd2aac76113306acc79b72d791dc01c5bde8d9d865d6503a45091ed3bcfd784538f814837d4255b5ae3dc91a918a06
6
+ metadata.gz: 0adfd065978317da2da25ee3a4301556496ab7cbe164854440e3c96d2c4a631da974c069d34603a1292b06cb0a9ea998a81b1db825614d3964df2bc382835a35
7
+ data.tar.gz: cefbc63aacef98bdd97015735b0caa6e7256a84bbe917f8b8e312047f8a786fc82c7373a0036e5936be4c01c2c17fb21dbe14bf4d5e2be6003be80a321333d2c
@@ -1,3 +1,9 @@
1
+ ## v0.5.0
2
+
3
+ Update
4
+
5
+ - Change scenario 'node' attribute to 'target'
6
+
1
7
  ## v0.4.16
2
8
 
3
9
  Update
data/README.md CHANGED
@@ -18,14 +18,14 @@ $ gem install rundock
18
18
 
19
19
  ## Usage
20
20
 
21
- Edit your hostgroup to "hostgroup.yml" like this sample.
21
+ Edit your targetgroup to "targetgroup.yml" like this sample.
22
22
 
23
23
  ```
24
- # node section
25
- - node: 192.168.1.11
26
- - node: host-alias-01
24
+ # target section
25
+ - target: 192.168.1.11
26
+ - target: host-alias-01
27
27
  ---
28
- # host information section
28
+ # target information section
29
29
  host-alias-01:
30
30
  host: 192.168.1.12
31
31
  ssh_opts:
@@ -36,7 +36,7 @@ host-alias-01:
36
36
 
37
37
  and execute rundock.
38
38
 
39
- $ rundock ssh -g /path/to/your-dir/hostgroup.yml -c 'your-gread-command'
39
+ $ rundock ssh -g /path/to/your-dir/targetgroup.yml -c 'your-gread-command'
40
40
 
41
41
  or
42
42
 
@@ -44,18 +44,18 @@ Edit your operation scenario to "[scenario.yml](https://github.com/hiracy/rundoc
44
44
 
45
45
  ```
46
46
  # scenario section
47
- - node: 192.168.1.11
47
+ - target: 192.168.1.11
48
48
  command:
49
49
  - "sudo hostname new-host-01"
50
50
  - "sudo sed -i -e 's/HOSTNAME=old-host-01/HOSTNAME=new-host-01/g' /etc/sysconfig/network"
51
- - node: host-alias-01
51
+ - target: host-alias-01
52
52
  command:
53
53
  - "sudo yum -y install ruby"
54
54
  task:
55
55
  - update_gem
56
56
  - install_bundler
57
57
  ---
58
- # host information section
58
+ # target information section
59
59
  host-alias-01:
60
60
  host: 192.168.1.12
61
61
  ssh_opts:
@@ -80,17 +80,17 @@ and execute rundock.
80
80
  You can also specify [default_ssh_options.yml](https://github.com/hiracy/rundock/blob/master/default_ssh.yml) [(Net::SSH options)](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html) file contents that you specified "-d" option to the default ssh options.
81
81
 
82
82
  ```
83
- $ rundock ssh -g /path/to/your-dir/hostgroup.yml -c 'your-gread-command' -d /path/to/your-dir/default_ssh_options.yml
83
+ $ rundock ssh -g /path/to/your-dir/targetgroup.yml -c 'your-gread-command' -d /path/to/your-dir/default_ssh_options.yml
84
84
  ```
85
85
  ```
86
- $ rundock do -s /path/to/your-dir/scenario.yml -d /path/to/your-dir/default_ssh_options.yml
86
+ $ rundock do /path/to/your-dir/scenario.yml -d /path/to/your-dir/default_ssh_options.yml
87
87
  ```
88
88
 
89
89
  For more detail. You can see from `rundock -h` command.
90
90
 
91
91
  ## Documentations
92
92
 
93
- Now on editing...
93
+ - [Rundock Wiki](https://github.com/hiracy/rundock/wiki)
94
94
 
95
95
  ## Run tests
96
96
 
@@ -15,6 +15,7 @@ require 'rundock/scenario'
15
15
  require 'rundock/backend'
16
16
  require 'rundock/builder/base'
17
17
  require 'rundock/builder/default_ssh_builder'
18
+ require 'rundock/builder/target_builder'
18
19
  require 'rundock/builder/backend_builder'
19
20
  require 'rundock/builder/hook_builder'
20
21
  require 'rundock/builder/operation_builder'
@@ -14,7 +14,7 @@ module Rundock
14
14
  :dry_run
15
15
  ]
16
16
 
17
- def finalize_node
17
+ def next
18
18
  list.each do |k, _v|
19
19
  define_attr(k, nil) unless AVAIL_TAKE_OVERS.include?(k)
20
20
  end
@@ -1,47 +1,52 @@
1
1
  module Rundock
2
2
  module Builder
3
3
  class OperationBuilder < Base
4
- def build_first(scenario, node_info, tasks, hooks)
5
- if @options[:hostgroup] && !@options[:command]
6
- raise CommandArgNotFoundError, %("--command or -c" option is required if hostgroup specified.)
4
+ def build_first(scenario, targets, tasks, hooks)
5
+ if @options[:targetgroup] && !@options[:command]
6
+ raise CommandArgNotFoundError, %("--command or -c" option is required if targetgroup specified.)
7
7
  end
8
8
 
9
9
  node = nil
10
+ node_attribute = nil
10
11
  scen = Scenario.new
11
- node_attribute = Rundock::Attribute::NodeAttribute.new(task_info: {})
12
- tasks.each { |k, v| node_attribute.task_info[k] = v } if tasks
13
- scen.node_info = node_info
14
- scen.node_info = {} unless node_info
15
12
  scen.tasks = tasks
16
13
 
17
14
  # use scenario file
18
15
  scenario.each do |n|
19
16
  scen.nodes.push(node) if node
20
17
 
21
- n.deep_symbolize_keys.each do |k, v|
22
- if k == :node
23
- node_attribute.finalize_node
24
- backend_builder = BackendBuilder.new(@options, v, node_info)
25
- backend = backend_builder.build
26
-
27
- node = Node.new(v, backend)
28
- node_attribute.nodename = v
29
- scen.node_info[v.to_sym] = node_attribute.nodeinfo = backend_builder.parsed_options
18
+ n.deep_symbolize_keys.each do |sk, sv|
19
+ if sk == :target
20
+ target_builder = TargetBuilder.new(@options)
21
+ target = target_builder.build(sv, targets)
22
+
23
+ if target.is_a?(Node)
24
+ if node_attribute.nil?
25
+ node_attribute = Rundock::Attribute::NodeAttribute.new(task_info: {})
26
+ else
27
+ node_attribute.next
28
+ end
29
+
30
+ node_attribute.nodename = sv
31
+ node = target
32
+ tasks.each { |k, v| node_attribute.task_info[k] = v } if tasks
33
+ scen.node_info[sv.to_sym] = node_attribute.nodeinfo = target_builder.parsed_options
34
+ end
30
35
 
31
36
  if @options[:command]
32
37
  node.add_operation(build_cli_command_operation(@options[:command], node_attribute, @options))
33
38
  end
34
- elsif k == :hook
39
+ elsif sk == :hook
35
40
  hooks_builder = HookBuilder.new(@options)
36
41
  if node
37
- node.hooks = hooks_builder.build(Array(v), hooks)
42
+ node.hooks = hooks_builder.build(Array(sv), hooks)
38
43
  node_attribute.hooks = hooks_builder.enable_hooks
39
44
  end
40
45
  else
41
46
 
42
47
  next unless node
43
48
 
44
- ope = build_operations(k, Array(v), node_attribute, @options, false)
49
+ ope = build_operations(sk, Array(sv), node_attribute, @options, false)
45
50
  node.add_operation(ope) if ope
46
51
  end
47
52
  end
@@ -22,8 +22,8 @@ module Rundock
22
22
  build_scenario_with_file
23
23
  end
24
24
 
25
- def build_task(tasks, backend, node_attributes)
26
- OperationBuilder.new(@options).build_task(tasks, backend, node_attributes)
25
+ def build_task(tasks, backend, target_attributes)
26
+ OperationBuilder.new(@options).build_task(tasks, backend, target_attributes)
27
27
  end
28
28
 
29
29
  private
@@ -37,7 +37,7 @@ module Rundock
37
37
  def build_scenario_with_file
38
38
  if @scenario_file
39
39
 
40
- type = [:main, :node_info, :tasks, :hooks]
40
+ type = [:main, :target_info, :tasks, :hooks]
41
41
  scenario_data = {}
42
42
 
43
43
  YAML.load_documents(@scenario_file).each_with_index do |data, idx|
@@ -52,7 +52,7 @@ module Rundock
52
52
  ope = OperationBuilder.new(@options)
53
53
  ope.build_first(
54
54
  scenario_data[:main],
55
- scenario_data[:node_info],
55
+ scenario_data[:target_info],
56
56
  scenario_data[:tasks],
57
57
  scenario_data[:hooks])
58
58
  end
@@ -0,0 +1,25 @@
1
+ module Rundock
2
+ module Builder
3
+ class TargetBuilder < Base
4
+ TargetNoSupportError = Class.new(NotImplementedError)
5
+
6
+ attr_accessor :parsed_options
7
+
8
+ def build(target_name, target_info)
9
+ if target_info.nil? ||
10
+ !target_info.key?(target_name.to_sym) ||
11
+ !target_info[target_name.to_sym].key?(:target_type) ||
12
+ target_info[target_name.to_sym][:target_type] == 'host'
13
+
14
+ backend_builder = BackendBuilder.new(@options, target_name, target_info)
15
+ backend = backend_builder.build
16
+ @parsed_options = backend_builder.parsed_options
17
+
18
+ return Node.new(target_name, backend)
19
+ else
20
+ raise TargetNoSupportError
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -5,7 +5,7 @@ module Rundock
5
5
  class CLI < Thor
6
6
  DEFAULT_SCENARIO_FILE_PATH = './scenario.yml'
7
7
  DEFAULT_SSH_OPTIONS_DEFAULT_FILE_PATH = './default_ssh.yml'
8
- DEFAULT_HOSTGROUP_FILE_PATH = './hostgroup.yml'
8
+ DEFAULT_HOSTGROUP_FILE_PATH = './targetgroup.yml'
9
9
 
10
10
  class_option :log_level, type: :string, aliases: ['-l'], default: 'info'
11
11
  class_option :color, type: :boolean, default: true
@@ -46,7 +46,7 @@ module Rundock
46
46
  option :default_ssh_opts, type: :string, aliases: ['-d'], default: DEFAULT_SSH_OPTIONS_DEFAULT_FILE_PATH
47
47
  option :hooks, type: :string, aliases: ['-k']
48
48
  option :host, type: :string, aliases: ['-h'], banner: 'You can specify comma separated hosts.[ex: host1,host2,..]'
49
- option :hostgroup, type: :string, aliases: ['-g']
49
+ option :targetgroup, type: :string, aliases: ['-g']
50
50
  option :user, type: :string, aliases: ['-u']
51
51
  option :key, type: :string, aliases: ['-i']
52
52
  option :port, type: :numeric, aliases: ['-p']
@@ -8,7 +8,7 @@ module Rundock
8
8
 
9
9
  class << self
10
10
  def run(options)
11
- Logger.debug 'Starting Rundoc:'
11
+ Logger.debug 'Starting Rundock:'
12
12
 
13
13
  runner = self.new(options)
14
14
  runner.load_plugins
@@ -28,14 +28,14 @@ module Rundock
28
28
  end
29
29
 
30
30
  def build(options)
31
- if options[:scenario] || options[:hostgroup]
31
+ if options[:scenario] || options[:targetgroup]
32
32
  if options[:scenario] && !FileTest.exist?(options[:scenario])
33
33
  raise ScenarioNotFoundError, "'#{options[:scenario]}' scenario file is not found."
34
- elsif options[:hostgroup] && !FileTest.exist?(options[:hostgroup])
35
- raise ScenarioNotFoundError, "'#{options[:hostgroup]}' hostgroup file is not found."
34
+ elsif options[:targetgroup] && !FileTest.exist?(options[:targetgroup])
35
+ raise ScenarioNotFoundError, "'#{options[:targetgroup]}' targetgroup file is not found."
36
36
  end
37
37
 
38
- options[:scenario] = options[:hostgroup] if options[:hostgroup]
38
+ options[:scenario] = options[:targetgroup] if options[:targetgroup]
39
39
 
40
40
  # parse scenario
41
41
  if options[:scenario] =~ %r{^(http|https)://}
@@ -6,6 +6,7 @@ module Rundock
6
6
 
7
7
  def initialize
8
8
  @nodes = []
9
+ @node_info = {}
9
10
  end
10
11
 
11
12
  def run
@@ -1,3 +1,3 @@
1
1
  module Rundock
2
- VERSION = '0.4.16'
2
+ VERSION = '0.5.0'
3
3
  end
@@ -3,41 +3,47 @@
3
3
  #
4
4
  # -------------------------------------------------------------------
5
5
  # ### scenario section ###
6
- # - node: <nodename>
7
- # <taskname>:
8
- # - <task detail>
6
+ # - target: <target_name>
7
+ # <operation_name>:
8
+ # - <operation_detail>
9
9
  # - :
10
- # <taskname>:
11
- # - <task detail>
12
- # - :
13
- # - node: <nodename>
10
+ # <operation_name>:
11
+ # :
12
+ # - target: <target_name>
14
13
  # :
15
14
  # ---
16
- # ### host information section ###
17
- # <hostname>:
18
- # host: xxx.xxx.xxx.xxx
19
- # <other_attributes>:
15
+ # ### target information section ###
16
+ # <target_name>:
17
+ # target_type: host
18
+ # <target_attributes>:
20
19
  # :
21
- # <hostname>:
20
+ # <target_name>:
22
21
  # :
23
22
  # ---
24
- # ### task information section ###
23
+ # ### task section ###
25
24
  # <taskname>:
26
25
  # - "<actual command>"
27
26
  # - :
28
27
  # <taskname>:
29
28
  # :
29
+ # ---
30
+ # ### hook section ###
31
+ # <hookname>:
32
+ # hook_type: <hook_type>
33
+ # <hook_attribute_key>: <hook_attribute_value>
34
+ # :
35
+ # <hookname>:
36
+ # :
30
37
  # -------------------------------------------------------------------
31
38
  #
32
39
 
33
- - node: 127.0.0.1
40
+ - target: 127.0.0.1
34
41
  command:
35
42
  - "hostname"
36
43
  - "uname -a"
37
44
  hook:
38
- - mail
39
- - file
40
- - node: anyhost-01
45
+ - logging
46
+ - target: anyhost-01
41
47
  task:
42
48
  - echo_platform
43
49
  - echo_users
@@ -50,6 +56,7 @@
50
56
  hook: all
51
57
  ---
52
58
  anyhost-01:
59
+ target_type: host
53
60
  host: 192.168.1.11
54
61
  ssh_opts:
55
62
  port: 22
@@ -65,3 +72,7 @@ echo_users:
65
72
  command:
66
73
  - "whoami"
67
74
  - "w"
75
+ ---
76
+ logging:
77
+ hook_type: file
78
+ filepath: /var/log/rundock.log
@@ -1,9 +1,10 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "echo 'Should this message does not appear';cat /notexist"
4
- - node: anyhost-01
4
+ - target: anyhost-01
5
5
  ---
6
6
  anyhost-01:
7
+ target_type: host
7
8
  host: 172.17.42.1
8
9
  ssh_opts:
9
10
  port: 22222
@@ -1,6 +1,6 @@
1
1
  FROM centos:6
2
2
 
3
- RUN yum install -y yum install openssh openssh-server openssh-clients sudo
3
+ RUN yum install -y yum install openssh openssh-server openssh-clients sudo passwd
4
4
  RUN useradd tester
5
5
  RUN echo "tester" | passwd --stdin tester
6
6
  RUN mkdir -p /home/tester/.ssh; chown tester /home/tester/.ssh; chmod 700 /home/tester/.ssh
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_file_hook_all_1_scenario"
4
4
  - "rm -f /var/tmp/hello_rundock_from_file_hook_all_2_scenario"
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_deploy_src_file_scenario"
4
4
  - "rm -f /var/tmp/hello_rundock_from_deploy_dst_file_scenario"
@@ -1,10 +1,10 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_file_hook_one_scenario"
4
4
  - "rm -f /var/tmp/hello_rundock_from_file_hook_array_1_scenario"
5
5
  - "rm -f /var/tmp/hello_rundock_from_file_hook_array_2_scenario"
6
6
  hook: file_one
7
- - node: anyhost-01
7
+ - target: anyhost-01
8
8
  command:
9
9
  - "echo aaa"
10
10
  hook:
@@ -1,8 +1,8 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_file_hook_innner_one_scenario"
4
4
  hook: file_hook_one
5
- - node: anyhost-01
5
+ - target: anyhost-01
6
6
  task:
7
7
  - remove_task
8
8
  hook:
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - errexit: false
4
4
  - "rm /noexistdir/noexistfile1"
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_scenario"
4
4
  task:
@@ -1,10 +1,11 @@
1
- - node: anyhost-01
1
+ - target: anyhost-01
2
2
  host_inventory:
3
3
  - memory/total
4
4
  task:
5
5
  - write_echo
6
6
  ---
7
7
  anyhost-01:
8
+ target_type: host
8
9
  host: localhost
9
10
  ---
10
11
  write_echo:
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "hostname"
4
4
  - "uname -a"
@@ -1,4 +1,4 @@
1
- - node: anyhost-01
1
+ - target: anyhost-01
2
2
  command:
3
3
  - "echo 'hookname:file_all_1 ' > /var/tmp/hello_rundock_from_file_hook_all_1_scenario"
4
4
  - "echo '[DEBUG:] dummy log' >> /var/tmp/hello_rundock_from_file_hook_all_1_scenario"
@@ -1,10 +1,10 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_deploy_src_file_scenario"
4
4
  - "rm -fr /var/tmp/hello_rundock_from_deploy_src_dir_scenario"
5
5
  - "echo 'Hello Rundock from deploy Scenario.' > /var/tmp/hello_rundock_from_deploy_src_file_scenario"
6
6
  - "mkdir /var/tmp/hello_rundock_from_deploy_src_dir_scenario"
7
- - node: anyhost-01
7
+ - target: anyhost-01
8
8
  command:
9
9
  - "rm -f /var/tmp/hello_rundock_from_deploy_dst_file_scenario"
10
10
  - "rm -fr /var/tmp/hello_rundock_from_deploy_dst_dir_scenario"
@@ -1,4 +1,4 @@
1
- - node: anyhost-01
1
+ - target: anyhost-01
2
2
  command:
3
3
  - "echo 'hookname:file_one ' > /var/tmp/hello_rundock_from_file_hook_one_scenario"
4
4
  - "echo '[DEBUG:] dumy log' >> /var/tmp/hello_rundock_from_file_hook_one_scenario"
@@ -1,4 +1,4 @@
1
- - node: anyhost-01
1
+ - target: anyhost-01
2
2
  command:
3
3
  - "echo 'hookname:file_hook_one ' > /var/tmp/hello_rundock_from_file_hook_inner_one_scenario"
4
4
  - "echo '[DEBUG:] dummy log' >> /var/tmp/hello_rundock_from_file_hook_inner_one_scenario"
@@ -1,25 +1,27 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "rm -f /var/tmp/hello_rundock_from_scenario"
4
4
  - "echo 'Hello Rundock from Scenario.' > /var/tmp/hello_rundock_from_scenario"
5
- - node: anyhost-01
5
+ - target: anyhost-01
6
6
  task:
7
7
  - echo_platform
8
8
  command:
9
9
  - "hostname"
10
- - node: anyhost-02
10
+ - target: anyhost-02
11
11
  command:
12
12
  - "uname -a"
13
13
  task:
14
14
  - write_echo
15
15
  ---
16
16
  anyhost-01:
17
+ target_type: host
17
18
  host: 172.17.42.1
18
19
  ssh_opts:
19
20
  port: 22222
20
21
  user: tester
21
22
  key: "<replaced_by_platforms>"
22
23
  anyhost-02:
24
+ target_type: host
23
25
  host: "172.17.42.1"
24
26
  ssh_opts:
25
27
  port: 22222
@@ -1,4 +1,4 @@
1
- - node: anyhost-01
1
+ - target: anyhost-01
2
2
  task:
3
3
  - write_echo
4
4
  ---
@@ -1,4 +1,4 @@
1
- - node: localhost
1
+ - target: localhost
2
2
  command:
3
3
  - "hostname"
4
4
  - "uname -a"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rundock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.16
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hiracy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-03 00:00:00.000000000 Z
11
+ date: 2015-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -161,6 +161,7 @@ files:
161
161
  - lib/rundock/builder/hook_builder.rb
162
162
  - lib/rundock/builder/operation_builder.rb
163
163
  - lib/rundock/builder/scenario_builder.rb
164
+ - lib/rundock/builder/target_builder.rb
164
165
  - lib/rundock/cli.rb
165
166
  - lib/rundock/ext/hash.rb
166
167
  - lib/rundock/ext/object/blank.rb