• R/O
  • HTTP
  • SSH
  • HTTPS

grid-chef-repo: コミット

Grid環境構築用のChefリポジトリです。


コミットメタ情報

リビジョン1a55847141cef70a220ff387e438bda347627a7d (tree)
日時2017-11-23 14:25:35
作者whitestar <whitestar@user...>
コミッターwhitestar

ログメッセージ

adds the Docker project new repository support.

変更サマリ

差分

--- a/cookbooks/docker-grid/.foodcritic
+++ b/cookbooks/docker-grid/.foodcritic
@@ -1,2 +1,4 @@
11 ~FC001
22 ~FC014
3+~FC019
4+~FC038
--- a/cookbooks/docker-grid/CHANGELOG.md
+++ b/cookbooks/docker-grid/CHANGELOG.md
@@ -1,5 +1,9 @@
11 # docker-grid CHANGELOG
22
3+0.5.4
4+-----
5+- adds the Docker project new repository support (Debian, Ubuntu, RHEL and CentOS).
6+
37 0.5.3
48 -----
59 - improves server key pair deployment for a Docker registry service.
--- a/cookbooks/docker-grid/README.md
+++ b/cookbooks/docker-grid/README.md
@@ -36,14 +36,15 @@ This cookbook sets up Docker engine etc.
3636 |Key|Type|Description, example|Default|
3737 |:--|:--|:--|:--|
3838 |`['docker-grid']['install_flavor']`|String|`'dockerproject'` or `'os-repository'`|`'dockerproject'`|
39-|`['docker-grid']['dockerproject']['package_name']`|String||`'docker-engine'`|
40-|`['docker-grid']['apt_repo']['url']`|String||`'https://apt.dockerproject.org/repo'`|
41-|`['docker-grid']['apt_repo']['keyserver']`|String||`'hkp://p80.pool.sks-keyservers.net:80'`|
42-|`['docker-grid']['apt_repo']['recv-keys']`|String||`'58118E89F3A912897C070ADBF76221572C52609D'`|
39+|`['docker-grid']['dockerproject']['enable_new_repo']`|Boolean|flag to use the new repository.|`false`|
40+|`['docker-grid']['dockerproject']['package_name']`|String|If the `'enable_new_repo'` is `true`, `'docker-ce'` will be automatically set.|`'docker-engine'`|
41+|`['docker-grid']['apt_repo']['url']`|String|If the `'enable_new_repo'` is `true`, the new repository URL will be automatically set.|`'https://apt.dockerproject.org/repo'`|
42+|`['docker-grid']['apt_repo']['keyserver']`|String|for the old repository only.|`'hkp://p80.pool.sks-keyservers.net:80'`|
43+|`['docker-grid']['apt_repo']['recv-keys']`|String|for the old repository only.|`'58118E89F3A912897C070ADBF76221572C52609D'`|
4344 |`['docker-grid']['apt_repo']['override_apt_line']`|String|If you set this attribute, apt-line settings with the `['docker-grid']['apt_repo']['url']` attribute is overrridden. e.g. `'deb https://apt.dockerproject.org/repo ubuntu-xenial main'`|`''`|
44-|`['docker-grid']['yum_repo']['baseurl']`|String||`'https://yum.dockerproject.org/repo/main/centos/$releasever/'`|
45-|`['docker-grid']['yum_repo']['gpgcheck']`|String|`'0'`: disabled, `'1'`: enabled.|`'1'`|
46-|`['docker-grid']['yum_repo']['gpgkey']`|String||`'https://yum.dockerproject.org/gpg'`|
45+|`['docker-grid']['yum_repo']['baseurl']`|String|for the old repository only.|`'https://yum.dockerproject.org/repo/main/centos/$releasever/'`|
46+|`['docker-grid']['yum_repo']['gpgcheck']`|String|for the old repository only. `'0'`: disabled, `'1'`: enabled.|`'1'`|
47+|`['docker-grid']['yum_repo']['gpgkey']`|String|for the old repository only.|`'https://yum.dockerproject.org/gpg'`|
4748 |`['docker-grid']['compose']['install_flavor']`|String|`'dockerproject'` or `'os-repository'`|`'dockerproject'`|
4849 |`['docker-grid']['compose']['skip_setup']`|Boolean||`false`|
4950 |`['docker-grid']['compose']['auto_upgrade']`|Boolean|upgrade/reinstall the docker-compose automatically.|`false`|
--- a/cookbooks/docker-grid/attributes/default.rb
+++ b/cookbooks/docker-grid/attributes/default.rb
@@ -17,14 +17,29 @@
1717 # limitations under the License.
1818 #
1919
20+platform = node['platform']
21+
2022 default['docker-grid']['install_flavor'] = 'dockerproject' # or 'os-repository'
21-default['docker-grid']['dockerproject']['package_name'] = 'docker-engine'
23+default['docker-grid']['dockerproject']['enable_new_repo'] = false
24+# read only
25+force_override['docker-grid']['dockerproject']['apt_new_repo_url'] = "https://download.docker.com/linux/#{platform}"
26+force_override['docker-grid']['dockerproject']['apt_old_repo_url'] = 'https://apt.dockerproject.org/repo'
27+default['docker-grid']['dockerproject']['package_name'] \
28+ = node['docker-grid']['dockerproject']['enable_new_repo'] ? 'docker-ce' : 'docker-engine'
29+apt_repo_url = \
30+ if node['docker-grid']['dockerproject']['enable_new_repo']
31+ node['docker-grid']['dockerproject']['apt_new_repo_url']
32+ else
33+ node['docker-grid']['dockerproject']['apt_old_repo_url']
34+ end
2235 default['docker-grid']['apt_repo'] = {
23- 'url' => 'https://apt.dockerproject.org/repo',
36+ 'url' => apt_repo_url,
37+ 'override_apt_line' => '', # e.g. 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
38+ # for old repository
2439 'keyserver' => 'hkp://p80.pool.sks-keyservers.net:80',
2540 'recv-keys' => '58118E89F3A912897C070ADBF76221572C52609D',
26- 'override_apt_line' => '', # e.g. 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
2741 }
42+# Old yum repository
2843 default['docker-grid']['yum_repo'] = {
2944 'baseurl' => 'https://yum.dockerproject.org/repo/main/centos/$releasever/',
3045 'gpgcheck' => '1',
@@ -54,7 +69,7 @@ default['docker-grid']['engine']['version_on_debian'] = '17.03.1~ce-0'
5469 default['docker-grid']['engine']['version_on_ubuntu'] = '1.11.2-0'
5570
5671 # '' (empty) version -> latest version
57-case node['platform']
72+case platform
5873 when 'centos', 'redhat'
5974 version_on_centos = node['docker-grid']['engine']['version_on_centos']
6075 if !version_on_centos.nil? && !version_on_centos.empty?
--- a/cookbooks/docker-grid/recipes/compose.rb
+++ b/cookbooks/docker-grid/recipes/compose.rb
@@ -45,11 +45,13 @@ app_dir = node['docker-grid']['compose']['app_dir']
4545 case install_flavor
4646 when 'dockerproject'
4747 docker_compose_path = '/usr/local/bin/docker-compose'
48+ excepted_ver = node['docker-grid']['compose']['release_url'].match(/(\d+\.\d+.\d+)/)[1]
4849
4950 execute 'install_docker_compose' do
5051 user 'root'
5152 command "curl -L \"#{node['docker-grid']['compose']['release_url']}\" -o #{docker_compose_path} && chmod +x #{docker_compose_path}"
5253 action :run
54+ not_if "#{docker_compose_path} -v | grep #{excepted_ver},"
5355 not_if { ::File.exist?(docker_compose_path) } unless node['docker-grid']['compose']['auto_upgrade']
5456 end
5557 when 'os-repository'
--- a/cookbooks/docker-grid/recipes/engine.rb
+++ b/cookbooks/docker-grid/recipes/engine.rb
@@ -19,11 +19,23 @@
1919
2020 # https://dcos.io/docs/1.8/administration/installing/custom/system-requirements/
2121
22-install_flavor = node['docker-grid']['install_flavor']
2322 platform = node['platform']
2423 platform_family = node['platform_family']
2524 platform_version = node['platform_version']
2625
26+install_flavor = node['docker-grid']['install_flavor']
27+override_apt_line = node['docker-grid']['apt_repo']['override_apt_line']
28+if !override_apt_line.nil? && !override_apt_line.empty? \
29+ && override_apt_line.include?(node['docker-grid']['dockerproject']['apt_new_repo_url'])
30+ Chef::Log.warn('This docker-grid::engine recipe uses the Docker new repository by the `override_apt_line` attribute.')
31+ node.force_override['docker-grid']['dockerproject']['enable_new_repo'] = true
32+end
33+enable_new_repo = node['docker-grid']['dockerproject']['enable_new_repo']
34+docker_ver = node['docker-grid']['engine']['version']
35+docker_ver = '' if docker_ver.nil?
36+storage_driver = node['docker-grid']['engine']['storage-driver']
37+userns_remap = node['docker-grid']['engine']['userns-remap']
38+
2739 if node['docker-grid']['engine']['skip_setup']
2840 log 'Skip the Docker Engine setup.'
2941 return
@@ -32,9 +44,6 @@ end
3244 ::Chef::Recipe.send(:include, PlatformUtils::Helper)
3345 ::Chef::Recipe.send(:include, PlatformUtils::VirtUtils)
3446
35-docker_ver = node['docker-grid']['engine']['version']
36-docker_ver = '' if docker_ver.nil?
37-
3847 [
3948 'bridge-utils',
4049 ].each {|pkg|
@@ -61,8 +70,6 @@ if shell_out("cat /etc/mtab | grep -E '\s+/\s+zfs\s+'").exitstatus.zero?
6170 end
6271 end
6372
64-storage_driver = node['docker-grid']['engine']['storage-driver']
65-
6673 if storage_driver == 'overlay2'
6774 if !docker_ver.empty? && Gem::Version.create(docker_ver.tr('~', '-')) < Gem::Version.create('1.12')
6875 # tr('~', '-') for Ubuntu.
@@ -71,7 +78,6 @@ if storage_driver == 'overlay2'
7178 end
7279 load_kernel_module('overlay') if storage_driver =~ /overlay2?/
7380
74-userns_remap = node['docker-grid']['engine']['userns-remap']
7581 if !userns_remap.nil? && !userns_remap.empty?
7682 if !docker_ver.empty? && Gem::Version.create(docker_ver.tr('~', '-')) < Gem::Version.create('1.10')
7783 # tr('~', '-') for Ubuntu.
@@ -106,37 +112,71 @@ end
106112
107113 case platform_family
108114 when 'rhel'
115+ if storage_driver == 'devicemapper'
116+ [
117+ #'yum-utils',
118+ 'device-mapper-persistent-data',
119+ 'lvm2',
120+ ].each {|pkg|
121+ resources(package: pkg) rescue package pkg do
122+ action :install
123+ end
124+ }
125+ end
126+
109127 if install_flavor == 'dockerproject'
110128 # https://dcos.io/docs/1.8/administration/installing/custom/system-requirements/install-docker-centos/
111- template '/etc/yum.repos.d/docker.repo' do
112- source 'etc/yum.repos.d/docker.repo'
113- owner 'root'
114- group 'root'
115- mode '0644'
129+ old_repo_action = nil
130+ new_repo_action = nil
131+ pkgs = nil
132+ if enable_new_repo
133+ old_repo_action = :delete
134+ new_repo_action = :create
135+ pkgs = [
136+ 'docker-ce',
137+ ]
138+ else
139+ old_repo_action = :create
140+ new_repo_action = :delete
141+ pkgs = [
142+ 'docker-engine-selinux',
143+ 'docker-engine',
144+ ]
116145 end
117146
118147 [
148+ 'docker.repo',
149+ 'docker-ce.repo',
150+ ].each {|repo_file|
151+ template "/etc/yum.repos.d/#{repo_file}" do
152+ source "etc/yum.repos.d/#{repo_file}"
153+ owner 'root'
154+ group 'root'
155+ mode '0644'
156+ action repo_file == 'docker.repo' ? old_repo_action : new_repo_action
157+ end
158+ }
159+
160+ [
119161 'docker',
120- 'container-selinux',
121162 'docker-common',
163+ #'container-selinux',
164+ 'docker-selinux',
122165 ].each {|pkg|
123166 resources(package: pkg) rescue package pkg do
124- action :remove
167+ action platform_family == 'debian' ? :purge : :remove
125168 notifies :run, 'bash[clean_up_docker0_bridge]', :immediately
126169 end
127170 }
128171
129- [
130- 'docker-engine-selinux',
131- 'docker-engine',
132- ].each {|pkg|
172+ pkgs.each {|pkg|
133173 resources(yum_package: pkg) rescue yum_package pkg do
134174 allow_downgrade true
135175 action :install
136176 version docker_ver unless docker_ver.empty?
137177 # dockerrepo is disabled by default to prevent automatic update.
138- options '--enablerepo=dockerrepo'
139- notifies :run, 'bash[clean_up_docker0_bridge]', :before if pkg == 'docker-engine'
178+ options '--enablerepo=dockerrepo' unless enable_new_repo
179+ notifies :run, 'bash[clean_up_docker0_bridge]', :before if pkg == 'docker-engine' || pkg == 'docker-ce'
140180 end
141181 }
142182 else
@@ -146,7 +186,7 @@ when 'rhel'
146186 'docker-engine',
147187 ].each {|pkg|
148188 resources(package: pkg) rescue package pkg do
149- action :remove
189+ action platform_family == 'debian' ? :purge : :remove
150190 notifies :run, 'bash[clean_up_docker0_bridge]', :immediately
151191 end
152192 }
@@ -216,13 +256,21 @@ when 'debian'
216256 pkg_name = node['docker-grid']['dockerproject']['package_name']
217257
218258 apt_repo_config = node['docker-grid']['apt_repo']
259+ apt_key_add_cmd = nil
260+ apt_key_name = nil
261+ if enable_new_repo
262+ apt_key_add_cmd = "curl -fsSL https://download.docker.com/linux/#{platform}/gpg | apt-key add -"
263+ apt_key_name = 'Docker Release (CE deb)'
264+ else
265+ apt_key_add_cmd = "apt-key adv --keyserver #{apt_repo_config['keyserver']} --recv-keys #{apt_repo_config['recv-keys']}"
266+ apt_key_name = 'Docker Release Tool (releasedocker)'
267+ end
219268 bash 'apt-key_adv_docker_tools_key' do
220269 code <<-"EOH"
221- apt-key adv --keyserver #{apt_repo_config['keyserver']} --recv-keys #{apt_repo_config['recv-keys']}
222- #apt-get update
270+ #{apt_key_add_cmd}
223271 EOH
224272 action :nothing
225- not_if 'apt-key list | grep -i docker'
273+ not_if "apt-key list 2>&1 | grep '#{apt_key_name}'"
226274 end
227275
228276 template '/etc/apt/sources.list.d/docker.list' do
@@ -252,25 +300,24 @@ when 'debian'
252300 end
253301
254302 resources(package: pkg_name_removed) rescue package pkg_name_removed do
255- action :remove
303+ action platform_family == 'debian' ? :purge : :remove
256304 notifies :run, 'bash[clean_up_docker0_bridge]', :immediately
257305 end
258306
259307 resources(package: pkg_name) rescue package pkg_name do
260308 action :install
309+ options "-o Dpkg::Options::='--force-confnew'" if platform_family == 'debian'
261310 options '--allow-downgrades' if platform == 'debian' || platform_version >= '16.04' # LTS (xenial)
262311 options '--force-yes' if platform_version == '14.04' # LTS (trusty)
263312 version docker_ver unless docker_ver.empty?
264313 notifies :run, 'bash[clean_up_docker0_bridge]', :before
314+ notifies :run, 'bash[apt-key_adv_docker_tools_key]', :before
315+ notifies :run, "execute[#{apt_get_update}]", :before
265316 end
266317 end
267318
268319 docker_opts = []
269-
270-storage_driver = node['docker-grid']['engine']['storage-driver']
271320 docker_opts.push("--storage-driver=#{storage_driver}") if !storage_driver.nil? && !storage_driver.empty?
272-
273-userns_remap = node['docker-grid']['engine']['userns-remap']
274321 docker_opts.push("--userns-remap=#{userns_remap}") if !userns_remap.nil? && !userns_remap.empty?
275322
276323 extra_options = node['docker-grid']['engine']['daemon_extra_options']
@@ -335,6 +382,7 @@ end
335382
336383 # utility scripts
337384 [
385+ 'docker_containers_cleanup',
338386 'docker_images_cleanup',
339387 'docker_volumes_cleanup',
340388 ].each {|script|
--- a/cookbooks/docker-grid/templates/default/etc/apt/sources.list.d/docker.list
+++ b/cookbooks/docker-grid/templates/default/etc/apt/sources.list.d/docker.list
@@ -1,19 +1,26 @@
11 <%
22 platform = node['platform']
3+arch = nil
4+case node['kernel']['machine']
5+when 'x86_64'
6+ arch = 'amd64'
7+when 'armv7l', 'armv6l'
8+ arch = 'armhf'
9+end
10+enable_new_repo = node['docker-grid']['dockerproject']['enable_new_repo']
311 override_apt_line = node['docker-grid']['apt_repo']['override_apt_line']
412 if !override_apt_line.nil? && !override_apt_line.empty?
513 -%>
614 <%= override_apt_line %>
715 <%
816 else
9- if platform == 'debian'
17+ if enable_new_repo
1018 -%>
11-#deb [arch=amd64] https://download.docker.com/linux/debian <%= node['lsb']['codename'] %> stable
12-deb <%= node['docker-grid']['apt_repo']['url'] %> debian-<%= node['lsb']['codename'] %> main
19+deb [arch=<%= arch %>] <%= node['docker-grid']['apt_repo']['url'] %> <%= node['lsb']['codename'] %> stable
1320 <%
14- elsif platform == 'ubuntu'
21+ else
1522 -%>
16-deb <%= node['docker-grid']['apt_repo']['url'] %> ubuntu-<%= node['lsb']['codename'] %> main
23+deb <%= node['docker-grid']['apt_repo']['url'] %> <%= platform %>-<%= node['lsb']['codename'] %> main
1724 <%
1825 end
1926 end
--- a/cookbooks/docker-grid/templates/default/etc/systemd/system/docker.service.d/override.conf
+++ b/cookbooks/docker-grid/templates/default/etc/systemd/system/docker.service.d/override.conf
@@ -1,3 +1,8 @@
1+<%
2+dockerd = '/usr/bin/dockerd'
3+# old daemon command
4+dockerd = '/usr/bin/docker daemon' unless File.exist?(dockerd)
5+-%>
16 [Service]
27 ExecStart=
3-ExecStart=/usr/bin/docker daemon <%= @docker_opts.join(' ') %>
8+ExecStart=<%= dockerd %> <%= @docker_opts.join(' ') %>
--- /dev/null
+++ b/cookbooks/docker-grid/templates/default/etc/yum.repos.d/docker-ce.repo
@@ -0,0 +1,62 @@
1+[docker-ce-stable]
2+name=Docker CE Stable - $basearch
3+baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
4+enabled=1
5+gpgcheck=1
6+gpgkey=https://download.docker.com/linux/centos/gpg
7+
8+[docker-ce-stable-debuginfo]
9+name=Docker CE Stable - Debuginfo $basearch
10+baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
11+enabled=0
12+gpgcheck=1
13+gpgkey=https://download.docker.com/linux/centos/gpg
14+
15+[docker-ce-stable-source]
16+name=Docker CE Stable - Sources
17+baseurl=https://download.docker.com/linux/centos/7/source/stable
18+enabled=0
19+gpgcheck=1
20+gpgkey=https://download.docker.com/linux/centos/gpg
21+
22+[docker-ce-edge]
23+name=Docker CE Edge - $basearch
24+baseurl=https://download.docker.com/linux/centos/7/$basearch/edge
25+enabled=0
26+gpgcheck=1
27+gpgkey=https://download.docker.com/linux/centos/gpg
28+
29+[docker-ce-edge-debuginfo]
30+name=Docker CE Edge - Debuginfo $basearch
31+baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge
32+enabled=0
33+gpgcheck=1
34+gpgkey=https://download.docker.com/linux/centos/gpg
35+
36+[docker-ce-edge-source]
37+name=Docker CE Edge - Sources
38+baseurl=https://download.docker.com/linux/centos/7/source/edge
39+enabled=0
40+gpgcheck=1
41+gpgkey=https://download.docker.com/linux/centos/gpg
42+
43+[docker-ce-test]
44+name=Docker CE Test - $basearch
45+baseurl=https://download.docker.com/linux/centos/7/$basearch/test
46+enabled=0
47+gpgcheck=1
48+gpgkey=https://download.docker.com/linux/centos/gpg
49+
50+[docker-ce-test-debuginfo]
51+name=Docker CE Test - Debuginfo $basearch
52+baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test
53+enabled=0
54+gpgcheck=1
55+gpgkey=https://download.docker.com/linux/centos/gpg
56+
57+[docker-ce-test-source]
58+name=Docker CE Test - Sources
59+baseurl=https://download.docker.com/linux/centos/7/source/test
60+enabled=0
61+gpgcheck=1
62+gpgkey=https://download.docker.com/linux/centos/gpg
--- /dev/null
+++ b/cookbooks/docker-grid/templates/default/usr/local/bin/docker_containers_cleanup
@@ -0,0 +1,3 @@
1+#!/bin/sh
2+
3+docker ps -q -f status=exited -f status=dead | awk '{print $1}' | xargs --no-run-if-empty docker rm
--- a/cookbooks/docker-grid/version
+++ b/cookbooks/docker-grid/version
@@ -1 +1 @@
1-0.5.3
1+0.5.4
--- /dev/null
+++ b/roles/docker-new-repo.rb
@@ -0,0 +1,57 @@
1+#
2+# Copyright 2016-2017, whitestar
3+#
4+# Licensed under the Apache License, Version 2.0 (the "License");
5+# you may not use this file except in compliance with the License.
6+# You may obtain a copy of the License at
7+#
8+# http://www.apache.org/licenses/LICENSE-2.0
9+#
10+# Unless required by applicable law or agreed to in writing, software
11+# distributed under the License is distributed on an "AS IS" BASIS,
12+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+# See the License for the specific language governing permissions and
14+# limitations under the License.
15+#
16+
17+name 'docker-new-repo'
18+description 'Docker CE by the new repository'
19+
20+run_list(
21+ 'role[docker]',
22+)
23+
24+#env_run_lists
25+
26+default_attributes(
27+)
28+
29+override_attributes(
30+ 'docker-grid' => {
31+ 'install_flavor' => 'dockerproject',
32+ 'dockerproject' => {
33+ 'enable_new_repo' => true,
34+ },
35+ 'compose' => {
36+ #'skip_setup' => true, # default: false
37+ 'release_base_url' => 'https://github.com/docker/compose/releases/download/1.17.0',
38+ },
39+ 'engine' => {
40+ 'version' => '', # latest
41+ #'skip_setup' => true, # default: false
42+ # new package: `docker-ce`
43+ #'version_on_centos' => '17.09.0.ce-1',
44+ #'version_on_ubuntu' => '17.05.0~ce-0',
45+ 'storage-driver_on_centos' => 'devicemapper',
46+ 'storage-driver_on_ubuntu' => 'overlay2', # default: aufs
47+ #'userns-remap' => 'default',
48+ #'daemon_extra_options' => [
49+ #'-H fd://',
50+ #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24',
51+ # for docker >= 1.10, docker-engine >= 1.12 (on rhel family)
52+ # '-H fd://' option automatically removed by this cookbook.
53+ # See https://github.com/docker/docker/issues/22847
54+ #].join(' '),
55+ },
56+ },
57+)
--- /dev/null
+++ b/roles/docker-os-repo.rb
@@ -0,0 +1,57 @@
1+#
2+# Copyright 2016-2017, whitestar
3+#
4+# Licensed under the Apache License, Version 2.0 (the "License");
5+# you may not use this file except in compliance with the License.
6+# You may obtain a copy of the License at
7+#
8+# http://www.apache.org/licenses/LICENSE-2.0
9+#
10+# Unless required by applicable law or agreed to in writing, software
11+# distributed under the License is distributed on an "AS IS" BASIS,
12+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+# See the License for the specific language governing permissions and
14+# limitations under the License.
15+#
16+
17+name 'docker-os-repo'
18+description 'Docker Engine by each OS distribution'
19+
20+run_list(
21+ 'role[docker]',
22+)
23+
24+#env_run_lists
25+
26+default_attributes(
27+)
28+
29+override_attributes(
30+ 'docker-grid' => {
31+ 'install_flavor' => 'os-repository',
32+ 'compose' => {
33+ #'skip_setup' => true, # default: false
34+ },
35+ 'engine' => {
36+ 'version' => '', # latest
37+ #'skip_setup' => true, # default: false
38+ # package name: `docker`
39+ #'version_on_centos' => '1.12.6-11',
40+ #'version_on_centos' => '1.12.5-14',
41+ #'version_on_centos' => '1.10.3-59',
42+ # package name: `docker.io`
43+ #'version_on_ubuntu' => '1.12.3-0ubuntu4~16.04.2',
44+ #'version_on_ubuntu' => '1.10.3-0ubuntu6',
45+ 'storage-driver_on_centos' => 'overlay',
46+ 'storage-driver_on_ubuntu' => 'overlay', # default: aufs
47+ #'userns-remap' => 'default',
48+ #'daemon_extra_options' => [
49+ #'-H fd://',
50+ #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24',
51+ # for docker >= 1.10, docker-engine >= 1.12 (on rhel family)
52+ # '-H fd://' option automatically removed by this cookbook.
53+ # See https://github.com/docker/docker/issues/22847
54+ #].join(' '),
55+ },
56+ },
57+)
--- a/roles/docker-registry.rb
+++ b/roles/docker-registry.rb
@@ -34,7 +34,7 @@ registry_cn = 'registry.docker.example.com'
3434 override_attributes(
3535 'ssl_cert' => {
3636 'ca_names' => [
37- grid_ca,
37+ ca_name,
3838 ],
3939 'common_names' => [
4040 registry_cn,
--- a/roles/docker.rb
+++ b/roles/docker.rb
@@ -15,7 +15,7 @@
1515 #
1616
1717 name 'docker'
18-description 'Docker Engine'
18+description 'Docker Engine by the old repository'
1919
2020 run_list(
2121 'recipe[docker-grid::engine]',
@@ -30,28 +30,26 @@ default_attributes(
3030 override_attributes(
3131 'docker-grid' => {
3232 'install_flavor' => 'dockerproject',
33- #'install_flavor' => 'os-repository',
33+ 'dockerproject' => {
34+ 'enable_new_repo' => false,
35+ },
3436 'compose' => {
35- 'skip_setup' => true, # default: false
37+ #'skip_setup' => true, # default: false
3638 },
3739 'engine' => {
3840 'version' => '', # latest
3941 #'skip_setup' => true, # default: false
40- #'version_on_centos' => '17.03.1.ce-1', # docker-engine
41- #'version_on_centos' => '1.13.1-1', # docker-engine
42- #'version_on_centos' => '1.12.6-1', # docker-engine
43- #'version_on_centos' => '1.12.6-11', # docker
44- #'version_on_centos' => '1.12.5-14', # docker
45- #'version_on_centos' => '1.11.2-1', # docker-engine
46- #'version_on_centos' => '1.10.3-1', # docker-engine
47- #'version_on_centos' => '1.10.3-59', # docker
48- #'version_on_ubuntu' => '17.05.0~ce-0', # docker-engine
49- #'version_on_ubuntu' => '17.03.1~ce-0', # docker-engine
50- #'version_on_ubuntu' => '1.13.1-0', # docker-engine
51- #'version_on_ubuntu' => '1.12.6-0', # docker-engine
52- #'version_on_ubuntu' => '1.12.3-0ubuntu4~16.04.2', # docker.io
53- #'version_on_ubuntu' => '1.11.2-0', # docker-engine
54- #'version_on_ubuntu' => '1.10.3-0ubuntu6', # docker.io
42+ # old package: `docker-engine`
43+ #'version_on_centos' => '17.03.1.ce-1',
44+ #'version_on_centos' => '1.13.1-1',
45+ #'version_on_centos' => '1.12.6-1',
46+ #'version_on_centos' => '1.11.2-1',
47+ #'version_on_centos' => '1.10.3-1',
48+ #'version_on_ubuntu' => '17.05.0~ce-0',
49+ #'version_on_ubuntu' => '17.03.1~ce-0',
50+ #'version_on_ubuntu' => '1.13.1-0',
51+ #'version_on_ubuntu' => '1.12.6-0',
52+ #'version_on_ubuntu' => '1.11.2-0',
5553 'storage-driver_on_centos' => 'overlay',
5654 'storage-driver_on_ubuntu' => 'overlay', # default: aufs
5755 #'userns-remap' => 'default',
--- /dev/null
+++ b/roles/docker4latest_ubuntu.rb
@@ -0,0 +1,63 @@
1+#
2+# Copyright 2016-2017, whitestar
3+#
4+# Licensed under the Apache License, Version 2.0 (the "License");
5+# you may not use this file except in compliance with the License.
6+# You may obtain a copy of the License at
7+#
8+# http://www.apache.org/licenses/LICENSE-2.0
9+#
10+# Unless required by applicable law or agreed to in writing, software
11+# distributed under the License is distributed on an "AS IS" BASIS,
12+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+# See the License for the specific language governing permissions and
14+# limitations under the License.
15+#
16+
17+name 'docker4latest_ubuntu'
18+description 'Docker for the latest Ubuntu'
19+
20+run_list(
21+ 'role[docker]',
22+)
23+
24+#env_run_lists()
25+
26+#default_attributes()
27+
28+override_attributes(
29+ 'docker-grid' => {
30+ 'install_flavor' => 'dockerproject',
31+ 'dockerproject' => {
32+ 'enable_new_repo' => true,
33+ 'package_name' => 'docker-ce', # new package name.
34+ },
35+ # install the package for the newer distribution of ubuntu.
36+ 'apt_repo' => {
37+ # new repo.
38+ #'override_apt_line' => 'deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable', # not active yet
39+ 'override_apt_line' => 'deb [arch=amd64] https://download.docker.com/linux/ubuntu zesty stable',
40+ # old repo.
41+ #'override_apt_line' => 'deb https://apt.dockerproject.org/repo ubuntu-zesty main',
42+ #'override_apt_line' => 'deb https://apt.dockerproject.org/repo ubuntu-xenial main',
43+ },
44+ 'engine' => {
45+ # new package: `docker-ce``
46+ 'version' => '17.09.0~ce-0~ubuntu',
47+ #'version' => '17.06.2~ce-0~ubuntu',
48+ # old package: `docker-engine``
49+ #'version' => '17.05.0~ce-0~ubuntu-zesty',
50+ #'version' => '17.03.1~ce-0~ubuntu-yakkety',
51+ #'version' => '1.12.3-0~xenial',
52+ 'storage-driver_on_ubuntu' => 'overlay2', # default: aufs
53+ #'daemon_extra_options' => [
54+ #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24',
55+ # for docker >= 1.10, docker-engine >= 1.12 (on rhel family)
56+ # '-H fd://' option automatically removed by this cookbook.
57+ # See https://github.com/docker/docker/issues/22847
58+ #].join(' '),
59+ #'users_allow' => [
60+ #],
61+ },
62+ },
63+)
旧リポジトリブラウザで表示