vagrant-unbundled 2.2.6.0 → 2.2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/.hashibot.hcl +14 -0
  3. data/CHANGELOG.md +93 -2
  4. data/README.md +1 -3
  5. data/bin/vagrant +23 -0
  6. data/contrib/bash/completion.sh +13 -1
  7. data/lib/vagrant.rb +25 -0
  8. data/lib/vagrant/action.rb +5 -0
  9. data/lib/vagrant/action/builder.rb +145 -24
  10. data/lib/vagrant/action/builtin/box_add.rb +11 -4
  11. data/lib/vagrant/action/builtin/box_check_outdated.rb +12 -15
  12. data/lib/vagrant/action/builtin/cleanup_disks.rb +56 -0
  13. data/lib/vagrant/action/builtin/delayed.rb +26 -0
  14. data/lib/vagrant/action/builtin/disk.rb +52 -0
  15. data/lib/vagrant/action/builtin/handle_box.rb +2 -0
  16. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +28 -9
  17. data/lib/vagrant/action/builtin/mixin_provisioners.rb +19 -1
  18. data/lib/vagrant/action/builtin/ssh_run.rb +21 -3
  19. data/lib/vagrant/action/builtin/trigger.rb +36 -0
  20. data/lib/vagrant/action/hook.rb +20 -2
  21. data/lib/vagrant/action/runner.rb +11 -26
  22. data/lib/vagrant/action/warden.rb +4 -18
  23. data/lib/vagrant/box_metadata.rb +17 -3
  24. data/lib/vagrant/bundler.rb +260 -53
  25. data/lib/vagrant/cli.rb +4 -2
  26. data/lib/vagrant/errors.rb +24 -0
  27. data/lib/vagrant/machine.rb +9 -6
  28. data/lib/vagrant/plugin/manager.rb +25 -14
  29. data/lib/vagrant/plugin/v2/command.rb +1 -1
  30. data/lib/vagrant/plugin/v2/manager.rb +53 -0
  31. data/lib/vagrant/plugin/v2/plugin.rb +1 -0
  32. data/lib/vagrant/plugin/v2/trigger.rb +64 -26
  33. data/lib/vagrant/shared_helpers.rb +28 -0
  34. data/lib/vagrant/ui.rb +50 -4
  35. data/lib/vagrant/util.rb +1 -0
  36. data/lib/vagrant/util/curl_helper.rb +8 -5
  37. data/lib/vagrant/util/downloader.rb +5 -1
  38. data/lib/vagrant/util/file_checksum.rb +6 -2
  39. data/lib/vagrant/util/guest_inspection.rb +9 -1
  40. data/lib/vagrant/util/io.rb +7 -27
  41. data/lib/vagrant/util/is_port_open.rb +1 -2
  42. data/lib/vagrant/util/map_command_options.rb +33 -0
  43. data/lib/vagrant/util/numeric.rb +69 -0
  44. data/lib/vagrant/util/platform.rb +8 -1
  45. data/plugins/commands/box/command/outdated.rb +14 -2
  46. data/plugins/commands/cloud/locales/en.yml +1 -1
  47. data/plugins/commands/cloud/publish.rb +1 -1
  48. data/plugins/commands/snapshot/command/save.rb +13 -8
  49. data/plugins/commands/ssh_config/command.rb +1 -1
  50. data/plugins/communicators/ssh/communicator.rb +18 -23
  51. data/plugins/communicators/winrm/config.rb +1 -1
  52. data/plugins/communicators/winrm/shell.rb +1 -1
  53. data/plugins/communicators/winssh/communicator.rb +126 -38
  54. data/plugins/communicators/winssh/config.rb +3 -7
  55. data/plugins/guests/alpine/cap/rsync.rb +1 -1
  56. data/plugins/guests/alpine/plugin.rb +16 -0
  57. data/plugins/guests/centos/cap/flavor.rb +24 -0
  58. data/plugins/guests/centos/guest.rb +9 -0
  59. data/plugins/guests/centos/plugin.rb +20 -0
  60. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +99 -13
  61. data/plugins/guests/darwin/plugin.rb +5 -0
  62. data/plugins/guests/debian/cap/configure_networks.rb +14 -6
  63. data/plugins/guests/linux/cap/halt.rb +9 -1
  64. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +16 -0
  65. data/plugins/guests/linux/cap/reboot.rb +48 -0
  66. data/plugins/guests/linux/plugin.rb +10 -0
  67. data/plugins/guests/redhat/cap/flavor.rb +3 -1
  68. data/plugins/guests/redhat/cap/nfs_client.rb +2 -2
  69. data/plugins/guests/redhat/cap/smb.rb +20 -0
  70. data/plugins/guests/redhat/plugin.rb +5 -0
  71. data/plugins/guests/suse/cap/change_host_name.rb +2 -2
  72. data/plugins/guests/windows/cap/public_key.rb +3 -3
  73. data/plugins/guests/windows/cap/reboot.rb +2 -1
  74. data/plugins/hosts/darwin/cap/nfs.rb +11 -0
  75. data/plugins/hosts/darwin/plugin.rb +5 -0
  76. data/plugins/hosts/linux/cap/nfs.rb +21 -2
  77. data/plugins/kernel_v2/config/disk.rb +199 -0
  78. data/plugins/kernel_v2/config/ssh_connect.rb +24 -0
  79. data/plugins/kernel_v2/config/vm.rb +109 -4
  80. data/plugins/kernel_v2/config/vm_provisioner.rb +4 -1
  81. data/plugins/kernel_v2/config/vm_trigger.rb +2 -5
  82. data/plugins/providers/docker/driver.rb +38 -10
  83. data/plugins/providers/docker/errors.rb +4 -0
  84. data/plugins/providers/docker/executor/local.rb +7 -1
  85. data/plugins/providers/hyperv/action/export.rb +4 -2
  86. data/plugins/providers/hyperv/driver.rb +10 -9
  87. data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +3 -3
  88. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +6 -6
  89. data/plugins/providers/virtualbox/action.rb +2 -0
  90. data/plugins/providers/virtualbox/action/clean_machine_folder.rb +10 -1
  91. data/plugins/providers/virtualbox/action/export.rb +4 -2
  92. data/plugins/providers/virtualbox/action/import.rb +8 -4
  93. data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +4 -2
  94. data/plugins/providers/virtualbox/action/snapshot_delete.rb +4 -2
  95. data/plugins/providers/virtualbox/action/snapshot_restore.rb +4 -2
  96. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +54 -0
  97. data/plugins/providers/virtualbox/cap/configure_disks.rb +287 -0
  98. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +27 -0
  99. data/plugins/providers/virtualbox/driver/base.rb +15 -0
  100. data/plugins/providers/virtualbox/driver/meta.rb +14 -2
  101. data/plugins/providers/virtualbox/driver/version_5_0.rb +142 -2
  102. data/plugins/providers/virtualbox/driver/version_6_1.rb +39 -0
  103. data/plugins/providers/virtualbox/plugin.rb +21 -0
  104. data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +44 -0
  105. data/plugins/provisioners/ansible/cap/guest/arch/ansible_install.rb +20 -3
  106. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +4 -5
  107. data/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +2 -2
  108. data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +2 -2
  109. data/plugins/provisioners/ansible/cap/guest/pip/pip.rb +8 -4
  110. data/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +2 -2
  111. data/plugins/provisioners/ansible/cap/guest/suse/ansible_install.rb +2 -1
  112. data/plugins/provisioners/ansible/cap/guest/ubuntu/ansible_install.rb +3 -3
  113. data/plugins/provisioners/ansible/plugin.rb +5 -0
  114. data/plugins/provisioners/ansible/provisioner/base.rb +1 -1
  115. data/plugins/provisioners/container/client.rb +203 -0
  116. data/plugins/provisioners/container/config.rb +83 -0
  117. data/plugins/provisioners/container/installer.rb +13 -0
  118. data/plugins/provisioners/container/plugin.rb +23 -0
  119. data/plugins/provisioners/container/provisioner.rb +28 -0
  120. data/plugins/provisioners/docker/cap/{redhat → centos}/docker_install.rb +10 -7
  121. data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +24 -0
  122. data/plugins/provisioners/docker/client.rb +4 -175
  123. data/plugins/provisioners/docker/config.rb +2 -72
  124. data/plugins/provisioners/docker/installer.rb +3 -5
  125. data/plugins/provisioners/docker/plugin.rb +6 -6
  126. data/plugins/provisioners/docker/provisioner.rb +4 -10
  127. data/plugins/provisioners/podman/cap/centos/podman_install.rb +35 -0
  128. data/plugins/provisioners/podman/cap/linux/podman_installed.rb +13 -0
  129. data/plugins/provisioners/podman/cap/redhat/podman_install.rb +26 -0
  130. data/plugins/provisioners/podman/client.rb +12 -0
  131. data/plugins/provisioners/podman/config.rb +28 -0
  132. data/plugins/provisioners/podman/installer.rb +33 -0
  133. data/plugins/provisioners/podman/plugin.rb +38 -0
  134. data/plugins/provisioners/podman/provisioner.rb +52 -0
  135. data/plugins/provisioners/salt/provisioner.rb +4 -0
  136. data/plugins/provisioners/shell/config.rb +1 -6
  137. data/plugins/provisioners/shell/provisioner.rb +54 -25
  138. data/plugins/synced_folders/smb/synced_folder.rb +1 -1
  139. data/templates/commands/init/Vagrantfile.erb +1 -1
  140. data/templates/locales/en.yml +123 -4
  141. data/templates/locales/providers_docker.yml +2 -0
  142. data/templates/nfs/exports_darwin.erb +7 -0
  143. data/vagrant.gemspec +8 -9
  144. data/version.txt +1 -1
  145. metadata +3731 -3663
  146. data/lib/vagrant/action/builtin/after_trigger.rb +0 -31
  147. data/lib/vagrant/action/builtin/before_trigger.rb +0 -28
  148. data/plugins/provisioners/docker/cap/redhat/docker_start_service.rb +0 -16
@@ -0,0 +1,13 @@
1
+ module VagrantPlugins
2
+ module ContainerProvisioner
3
+ class Installer
4
+ def initialize(machine)
5
+ @machine = machine
6
+ end
7
+
8
+ def ensure_installed
9
+ # nothing to do
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ require "vagrant"
2
+
3
+ module VagrantPlugins
4
+ module ContainerProvisioner
5
+ class Plugin < Vagrant.plugin("2")
6
+ name "container"
7
+ description <<-DESC
8
+ Provides support for provisioning your virtual machines with
9
+ OCI images and containers.
10
+ DESC
11
+
12
+ config(:container, :provisioner) do
13
+ require_relative "config"
14
+ Config
15
+ end
16
+
17
+ provisioner(:container) do
18
+ require_relative "provisioner"
19
+ Provisioner
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ require_relative "client"
2
+ require_relative "installer"
3
+
4
+ module VagrantPlugins
5
+ module ContainerProvisioner
6
+ class Provisioner < Vagrant.plugin("2", :provisioner)
7
+ def initialize(machine, config, installer = nil, client = nil)
8
+ super(machine, config)
9
+
10
+ @installer = installer || Installer.new(@machine)
11
+ @client = client || Client.new(@machine, "")
12
+ @logger = Log4r::Logger.new("vagrant::provisioners::container")
13
+ end
14
+
15
+ def provision
16
+ # nothing to do
17
+ end
18
+
19
+ def run_provisioner(env)
20
+ klass = Vagrant.plugin("2").manager.provisioners[env[:provisioner].type]
21
+ result = klass.new(env[:machine], env[:provisioner].config)
22
+ result.config.finalize!
23
+
24
+ result.provision
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,31 +1,34 @@
1
1
  module VagrantPlugins
2
2
  module DockerProvisioner
3
3
  module Cap
4
- module Redhat
4
+ module Centos
5
5
  module DockerInstall
6
6
  def self.docker_install(machine)
7
7
  machine.communicate.tap do |comm|
8
8
  comm.sudo("yum -q -y update")
9
9
  comm.sudo("yum -q -y remove docker-io* || true")
10
- comm.sudo("curl -sSL https://get.docker.com/ | sh")
10
+ comm.sudo("yum install -y -q yum-utils")
11
+ comm.sudo("yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo")
12
+ comm.sudo("yum makecache")
13
+ comm.sudo("yum install -y -q docker-ce")
11
14
  end
12
15
 
13
16
  case machine.guest.capability("flavor")
14
- when :rhel_7
15
- docker_enable_rhel7(machine)
17
+ when :centos
18
+ docker_enable_service(machine)
16
19
  else
17
- docker_enable_default(machine)
20
+ docker_enable_systemctl(machine)
18
21
  end
19
22
  end
20
23
 
21
- def self.docker_enable_rhel7(machine)
24
+ def self.docker_enable_systemctl(machine)
22
25
  machine.communicate.tap do |comm|
23
26
  comm.sudo("systemctl start docker.service")
24
27
  comm.sudo("systemctl enable docker.service")
25
28
  end
26
29
  end
27
30
 
28
- def self.docker_enable_default(machine)
31
+ def self.docker_enable_service(machine)
29
32
  machine.communicate.tap do |comm|
30
33
  comm.sudo("service docker start")
31
34
  comm.sudo("chkconfig docker on")
@@ -0,0 +1,24 @@
1
+ module VagrantPlugins
2
+ module DockerProvisioner
3
+ module Cap
4
+ module Centos
5
+ module DockerStartService
6
+ def self.docker_start_service(machine)
7
+ case machine.guest.capability("flavor")
8
+ when :centos
9
+ machine.communicate.tap do |comm|
10
+ comm.sudo("service docker start")
11
+ comm.sudo("chkconfig docker on")
12
+ end
13
+ else
14
+ machine.communicate.tap do |comm|
15
+ comm.sudo("systemctl start docker.service")
16
+ comm.sudo("systemctl enable docker.service")
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,32 +1,11 @@
1
- require 'digest/sha1'
1
+ require_relative "../container/client"
2
2
 
3
3
  module VagrantPlugins
4
4
  module DockerProvisioner
5
- class Client
5
+ class Client < VagrantPlugins::ContainerProvisioner::Client
6
6
  def initialize(machine)
7
- @machine = machine
8
- end
9
-
10
- def build_images(images)
11
- @machine.communicate.tap do |comm|
12
- images.each do |path, opts|
13
- @machine.ui.info(I18n.t("vagrant.docker_building_single", path: path))
14
- comm.sudo("docker build #{opts[:args]} #{path}") do |type, data|
15
- handle_comm(type, data)
16
- end
17
- end
18
- end
19
- end
20
-
21
- def pull_images(*images)
22
- @machine.communicate.tap do |comm|
23
- images.each do |image|
24
- @machine.ui.info(I18n.t("vagrant.docker_pulling_single", name: image))
25
- comm.sudo("docker pull #{image}") do |type, data|
26
- handle_comm(type, data)
27
- end
28
- end
29
- end
7
+ super(machine, "docker")
8
+ @container_command = "docker"
30
9
  end
31
10
 
32
11
  def start_service
@@ -39,156 +18,6 @@ module VagrantPlugins
39
18
  @machine.guest.capability(:docker_daemon_running)
40
19
  end
41
20
 
42
- def run(containers)
43
- containers.each do |name, config|
44
- cids_dir = "/var/lib/vagrant/cids"
45
- config[:cidfile] ||= "#{cids_dir}/#{Digest::SHA1.hexdigest name}"
46
-
47
- @machine.ui.info(I18n.t("vagrant.docker_running", name: name))
48
- @machine.communicate.sudo("mkdir -p #{cids_dir}")
49
- run_container({
50
- name: name,
51
- original_name: name,
52
- }.merge(config))
53
- end
54
- end
55
-
56
- def run_container(config)
57
- raise "Container's cidfile was not provided!" if !config[:cidfile]
58
-
59
- id = "$(cat #{config[:cidfile]})"
60
-
61
- if container_exists?(id)
62
- if container_args_changed?(config)
63
- @machine.ui.info(I18n.t("vagrant.docker_restarting_container_args",
64
- name: config[:name],
65
- ))
66
- stop_container(id)
67
- create_container(config)
68
- elsif container_image_changed?(config)
69
- @machine.ui.info(I18n.t("vagrant.docker_restarting_container_image",
70
- name: config[:name],
71
- ))
72
- stop_container(id)
73
- create_container(config)
74
- else
75
- start_container(id)
76
- end
77
- else
78
- create_container(config)
79
- end
80
- end
81
-
82
- def container_exists?(id)
83
- lookup_container(id, true)
84
- end
85
-
86
- def start_container(id)
87
- if !container_running?(id)
88
- @machine.communicate.sudo("docker start #{id}")
89
- end
90
- end
91
-
92
- def stop_container(id)
93
- @machine.communicate.sudo %[
94
- docker stop #{id}
95
- docker rm #{id}
96
- ]
97
- end
98
-
99
- def container_running?(id)
100
- lookup_container(id)
101
- end
102
-
103
- def container_image_changed?(config)
104
- # Returns true if there is a container running with the given :name,
105
- # and the container is not using the latest :image.
106
-
107
- # Here, "docker inspect <container>" returns the id of the image
108
- # that the container is using. We check that the latest image that
109
- # has been built with that name (:image) matches the one that the
110
- # container is running.
111
- cmd = ("docker inspect --format='{{.Image}}' #{config[:name]} |" +
112
- " grep $(docker images -q #{config[:image]})")
113
- return !@machine.communicate.test(cmd)
114
- end
115
-
116
- def container_args_changed?(config)
117
- path = container_data_path(config)
118
- return true if !path.exist?
119
-
120
- args = container_run_args(config)
121
- sha = Digest::SHA1.hexdigest(args)
122
- return true if path.read.chomp != sha
123
-
124
- return false
125
- end
126
-
127
- def create_container(config)
128
- args = container_run_args(config)
129
-
130
- @machine.communicate.sudo %[rm -f "#{config[:cidfile]}"]
131
- @machine.communicate.sudo %[docker run #{args}]
132
-
133
- sha = Digest::SHA1.hexdigest(args)
134
- container_data_path(config).open("w+") do |f|
135
- f.write(sha)
136
- end
137
- end
138
-
139
- def lookup_container(id, list_all = false)
140
- docker_ps = "sudo docker ps -q"
141
- docker_ps << " -a" if list_all
142
- @machine.communicate.tap do |comm|
143
- # Docker < 0.7.0 stores container IDs using its short version while
144
- # recent versions use the full container ID
145
- # using full container ID from now on.
146
- return comm.test("#{docker_ps} --no-trunc | grep -wFq #{id}")
147
- end
148
- end
149
-
150
- def container_name(config)
151
- name = config[:name]
152
-
153
- # If the name is the automatically assigned name, then
154
- # replace the "/" with "-" because "/" is not a valid
155
- # character for a docker container name.
156
- name = name.gsub("/", "-") if name == config[:original_name]
157
- name
158
- end
159
-
160
- def container_run_args(config)
161
- name = container_name(config)
162
-
163
- args = "--cidfile=#{config[:cidfile]} "
164
- args << "-d " if config[:daemonize]
165
- args << "--name #{name} " if name && config[:auto_assign_name]
166
- args << "--restart=#{config[:restart]}" if config[:restart]
167
- args << " #{config[:args]}" if config[:args]
168
-
169
- "#{args} #{config[:image]} #{config[:cmd]}".strip
170
- end
171
-
172
- def container_data_path(config)
173
- name = container_name(config)
174
- @machine.data_dir.join("docker-#{name}")
175
- end
176
-
177
- protected
178
-
179
- # This handles outputting the communication data back to the UI
180
- def handle_comm(type, data)
181
- if [:stderr, :stdout].include?(type)
182
- # Clear out the newline since we add one
183
- data = data.chomp
184
- return if data.empty?
185
-
186
- options = {}
187
- #options[:color] = color if !config.keep_color
188
-
189
- @machine.ui.info(data.chomp, options)
190
- end
191
- end
192
21
  end
193
22
  end
194
23
  end
@@ -1,45 +1,8 @@
1
- require 'set'
1
+ require_relative "../container/config"
2
2
 
3
3
  module VagrantPlugins
4
4
  module DockerProvisioner
5
- class Config < Vagrant.plugin("2", :config)
6
- attr_reader :images
7
- attr_accessor :post_install_provisioner
8
-
9
- def initialize
10
- @images = Set.new
11
- @post_install_provisioner = nil
12
-
13
- @__build_images = []
14
- @__containers = Hash.new { |h, k| h[k] = {} }
15
- end
16
-
17
- # Accessor for internal state.
18
- def build_images
19
- @__build_images
20
- end
21
-
22
- # Accessor for the internal state.
23
- def containers
24
- @__containers
25
- end
26
-
27
- # Defines an image to build using `docker build` within the machine.
28
- #
29
- # @param [String] path Path to the Dockerfile to pass to
30
- # `docker build`.
31
- def build_image(path, **opts)
32
- @__build_images << [path, opts]
33
- end
34
-
35
- def images=(images)
36
- @images = Set.new(images)
37
- end
38
-
39
- def pull_images(*images)
40
- @images += images.map(&:to_s)
41
- end
42
-
5
+ class Config < VagrantPlugins::ContainerProvisioner::Config
43
6
  def post_install_provision(name, **options, &block)
44
7
  # Abort
45
8
  raise DockerError, :wrong_provisioner if options[:type] == "docker"
@@ -48,39 +11,6 @@ module VagrantPlugins
48
11
  proxy.provision(name, **options, &block)
49
12
  @post_install_provisioner = proxy.provisioners.first
50
13
  end
51
-
52
- def run(name, **options)
53
- @__containers[name.to_s] = options.dup
54
- end
55
-
56
- def merge(other)
57
- super.tap do |result|
58
- result.pull_images(*(other.images + self.images))
59
-
60
- build_images = @__build_images.dup
61
- build_images += other.build_images
62
- result.instance_variable_set(:@__build_images, build_images)
63
-
64
- containers = {}
65
- @__containers.each do |name, params|
66
- containers[name] = params.dup
67
- end
68
- other.containers.each do |name, params|
69
- containers[name] = @__containers[name].merge(params)
70
- end
71
-
72
- result.instance_variable_set(:@__containers, containers)
73
- end
74
- end
75
-
76
- def finalize!
77
- @__containers.each do |name, params|
78
- params[:image] ||= name
79
- params[:auto_assign_name] = true if !params.key?(:auto_assign_name)
80
- params[:daemonize] = true if !params.key?(:daemonize)
81
- params[:restart] = "always" if !params.key?(:restart)
82
- end
83
- end
84
14
  end
85
15
  end
86
16
  end
@@ -1,10 +1,8 @@
1
+ require_relative "../container/installer"
2
+
1
3
  module VagrantPlugins
2
4
  module DockerProvisioner
3
- class Installer
4
- def initialize(machine)
5
- @machine = machine
6
- end
7
-
5
+ class Installer < VagrantPlugins::ContainerProvisioner::Installer
8
6
  # This handles verifying the Docker installation, installing it if it was
9
7
  # requested, and so on. This method will raise exceptions if things are
10
8
  # wrong.
@@ -29,14 +29,14 @@ module VagrantPlugins
29
29
  Cap::Fedora::DockerInstall
30
30
  end
31
31
 
32
- guest_capability("redhat", "docker_install") do
33
- require_relative "cap/redhat/docker_install"
34
- Cap::Redhat::DockerInstall
32
+ guest_capability("centos", "docker_install") do
33
+ require_relative "cap/centos/docker_install"
34
+ Cap::Centos::DockerInstall
35
35
  end
36
36
 
37
- guest_capability("redhat", "docker_start_service") do
38
- require_relative "cap/redhat/docker_start_service"
39
- Cap::Redhat::DockerStartService
37
+ guest_capability("centos", "docker_start_service") do
38
+ require_relative "cap/centos/docker_start_service"
39
+ Cap::Centos::DockerStartService
40
40
  end
41
41
 
42
42
  guest_capability("linux", "docker_installed") do