-
Notifications
You must be signed in to change notification settings - Fork 415
Add new partitioner script, which can do job on first boot #1239
Changes from 29 commits
c721871
3f3db8c
55dd10b
12c4164
f6a7ff6
412d8fa
a920f7f
2359ba4
a2b1d20
9bd8f07
3609656
67a4cc2
6289790
af00466
924b941
f692f4d
16e205c
b68eb8f
f901abc
d13691e
6356491
9406ded
6d9e983
d7df323
8c380f3
3e7a50d
d114201
f71a577
a42735d
fa19252
1f795f2
5271aa6
afa8619
af414dd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[Service] | ||
ExecStart= | ||
ExecStart=/usr/bin/docker daemon $OPTIONS \ | ||
$MANTL_STORAGE_OPTIONS \ | ||
$DOCKER_NETWORK_OPTIONS \ | ||
$ADD_REGISTRY \ | ||
$BLOCK_REGISTRY \ | ||
$INSECURE_REGISTRY |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[dockerrepo] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are 2 docker repos in the PR. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct, I'll remove mine There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This has been done. |
||
name=Docker Repository | ||
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ | ||
enabled=1 | ||
gpgcheck=1 | ||
gpgkey=https://yum.dockerproject.org/gpg |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,105 +9,38 @@ | |
- docker | ||
- bootstrap | ||
|
||
- name: install docker packages | ||
sudo: yes | ||
yum: | ||
name: "{{ item }}" | ||
state: present | ||
with_items: | ||
- docker | ||
- docker-selinux | ||
tags: | ||
- docker | ||
- bootstrap | ||
|
||
- name: check if docker storage already set up with devicemapper | ||
sudo: yes | ||
shell: "test -f /etc/sysconfig/docker-storage-setup && . /etc/sysconfig/docker-storage-setup && echo ${STORAGE_DRIVER:-NOT_SET}" | ||
register: docker_storage_already_set_up | ||
tags: | ||
- disk | ||
- docker | ||
|
||
- name: set docker_configure_lvm | ||
set_fact: | ||
docker_configure_lvm: '{{ docker_lvm_backed|bool and docker_storage_driver in ["btrfs", "overlay"] and docker_storage_already_set_up.stdout in ["NOT_SET", "btrfs", "overlay"] }}' | ||
tags: | ||
- disk | ||
- docker | ||
|
||
- name: create backing storage volume for docker storage | ||
sudo: yes | ||
lvol: | ||
vg: "{{ volume_group_name }}" | ||
lv: "{{ docker_volume_name }}" | ||
size: "{{ docker_volume_size }}" | ||
when: docker_configure_lvm|bool | ||
tags: | ||
- disk | ||
- docker | ||
|
||
- name: create backing storage filesystem for docker storage | ||
- name: enable Docker, Inc. yum repo | ||
sudo: yes | ||
filesystem: | ||
dev: "{{ docker_volume_device }}" | ||
fstype: "{{ docker_volume_fs_type }}" | ||
opts: "{{ docker_volume_fs_opts }}" | ||
when: docker_configure_lvm|bool | ||
tags: | ||
- disk | ||
- docker | ||
|
||
- name: create mount point for docker storage | ||
sudo: yes | ||
file: | ||
state: directory | ||
name: "{{ docker_volume_mount }}" | ||
mode: 0755 | ||
when: docker_configure_lvm|bool | ||
copy: | ||
src: docker.repo | ||
dest: /etc/yum.repos.d/docker.repo | ||
tags: | ||
- disk | ||
- docker | ||
when: docker_package_source is defined and docker_package_source == "docker" | ||
|
||
- name: mount docker storage | ||
- name: remove old docker package | ||
sudo: yes | ||
mount: | ||
state: mounted | ||
name: "{{ docker_volume_mount }}" | ||
fstype: "{{ docker_volume_fs_type }}" | ||
src: "{{ docker_volume_device }}" | ||
dump: 1 | ||
passno: 2 | ||
when: docker_configure_lvm|bool | ||
yum: | ||
name: "{{ item }}" | ||
state: absent | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need to stop/start docker during the removal/installation process? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Manual need restart on upgrade. |
||
with_items: | ||
- "{{ docker_package_to_remove }}" | ||
- "{{ docker_package_to_remove }}-selinux" | ||
tags: | ||
- disk | ||
- docker | ||
- bootstrap | ||
|
||
- name: setup docker storage | ||
- name: install docker packages | ||
sudo: yes | ||
lineinfile: | ||
dest: /etc/sysconfig/docker-storage-setup | ||
regexp: "^{{ item.var }}=.*" | ||
line: "{{ item.var }}={{ item.value }}" | ||
yum: | ||
name: "{{ item }}" | ||
state: present | ||
create: yes | ||
with_items: | ||
- var: STORAGE_DRIVER | ||
value: "{{ docker_storage_driver }}" | ||
- var: DATA_SIZE | ||
value: "{{ docker_lvm_data_volume_size }}" | ||
- var: VG | ||
value: "{{ volume_group_name }}" | ||
- var: MIN_DATA_SIZE | ||
value: "{{ docker_lvm_data_volume_size_min }}" | ||
- var: AUTO_EXTEND_POOL | ||
value: "{{ docker_lvm_auto_extend_pool }}" | ||
when: docker_lvm_backed|bool and docker_storage_already_set_up.stdout == "NOT_SET" | ||
- "{{ docker_package }}" | ||
- "{{ docker_package }}-selinux" | ||
tags: | ||
- docker | ||
|
||
- include: lvm.yml | ||
when: docker_lvm_backed|bool and provider!="bare-metal" | ||
- bootstrap | ||
|
||
- name: create rsyslog.d | ||
sudo: yes | ||
|
@@ -131,19 +64,41 @@ | |
- docker | ||
|
||
|
||
- name: configure docker consul dns | ||
- name: create directory for systemd drop-ins | ||
sudo: yes | ||
lineinfile: | ||
dest: /etc/sysconfig/docker | ||
regexp: ^OPTIONS= | ||
line: OPTIONS='{% if docker_selinux_enabled %}--selinux-enabled {% endif %}--dns {{ private_ipv4 }} --dns-search service.{{ consul_dns_domain }} {% if kube_build is defined %}--dns-search {{ cluster_name }}{% endif %} --log-driver=syslog' | ||
state: present | ||
create: yes | ||
file: | ||
path: /etc/systemd/system/docker.service.d | ||
state: directory | ||
mode: 0755 | ||
tags: | ||
- docker | ||
|
||
# Not restart docker on file drop | ||
- name: systemd drop-in for options | ||
sudo: yes | ||
template: | ||
src: "{{ item }}.j2" | ||
dest: "/etc/systemd/system/docker.service.d/{{ item }}" | ||
with_items: | ||
- 10-options.conf | ||
- 12-network-options.conf | ||
- 14-storage-options.conf | ||
notify: | ||
- restart docker | ||
- reload systemd | ||
tags: | ||
- docker | ||
|
||
# Not restart docker on file drop | ||
- name: systemd drop-in for ExecStart | ||
sudo: yes | ||
copy: | ||
src: 20-ExecStart.conf.j2 | ||
dest: /etc/systemd/system/docker.service.d/20-ExecStart.conf | ||
notify: | ||
- reload systemd | ||
tags: | ||
- docker | ||
|
||
- name: ensure docker config dir exists | ||
sudo: yes | ||
file: | ||
|
@@ -172,6 +127,9 @@ | |
- docker | ||
- skip_ansible_lint | ||
|
||
- include: lvm.yml | ||
when: docker_lvm_backed|bool | ||
|
||
- name: enable docker | ||
sudo: yes | ||
service: | ||
|
@@ -181,3 +139,4 @@ | |
tags: | ||
- docker | ||
- bootstrap # needed to install Docker images during bootstrap | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# /etc/systemd/systemd/docker.service.d/10-options.conf | ||
[Service] | ||
Environment='OPTIONS={{ docker_options | join (" ") }}' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# /etc/systemd/systemd/docker.service.d/12-network-options.conf | ||
[Service] | ||
Environment='DOCKER_NETWORK_OPTIONS={{ docker_network_options | join (" ") }}' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# /etc/systemd/systemd/docker.service.d/14-storage-options.conf | ||
[Service] | ||
EnvironmentFile=/etc/sysconfig/mantl-storage |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{% if docker_lvm_backed|bool and docker_storage_driver in ["btrfs", "overlay"] %} | ||
[volume:docker] | ||
group = {{ volume_group_name }} | ||
volume = {{ docker_volume_name }} | ||
size = {{ docker_volume_size }} | ||
|
||
[filesystem:docker] | ||
dev = {{ docker_volume_device }} | ||
fstype = {{ docker_volume_fs_type }} | ||
mount = {{ docker_volume_mount }} | ||
required_by = docker-storage-setup.service docker.service | ||
|
||
[write:config] | ||
file = /etc/sysconfig/mantl-storage | ||
content = MANTL_STORAGE_OPTIONS=--storage-driver {{ docker_storage_driver }} | ||
{% endif %} | ||
{%if docker_lvm_backed|bool and docker_storage_driver == "devicemapper" %} | ||
[thin:docker] | ||
group = {{ volume_group_name }} | ||
# Fixed volume name, to be compatible with docker-storage-setup | ||
pool = docker-pool | ||
size = {{ docker_lvm_data_volume_size }} | ||
config = /etc/sysconfig/mantl-storage | ||
|
||
{% endif %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is kube_build ever set anywhere?