Merge branch 'docker-lvm' into 'master'
Docker lvm See merge request fablab/labsync!20
This commit is contained in:
commit
7d9d9a27fc
4 changed files with 84 additions and 0 deletions
2
packer/ansible/roles/docker/files/docker-override.conf
Normal file
2
packer/ansible/roles/docker/files/docker-override.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[Service]
|
||||
ExecStartPre=/usr/local/sbin/docker-setup.sh
|
||||
49
packer/ansible/roles/docker/files/docker-setup.sh
Executable file
49
packer/ansible/roles/docker/files/docker-setup.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#!/bin/sh
|
||||
|
||||
vg='vglab'
|
||||
|
||||
if ! lvs -o layout --noheadings $vg/docker-thinpool | grep -q 'thin,pool'; then
|
||||
|
||||
if ! lvs -o LV_NAME --noheadings | grep -q docker-thinpool; then
|
||||
lvcreate --wipesignatures y -n docker-thinpool "$vg" -l 10%VG
|
||||
fi
|
||||
|
||||
if ! lvs -o LV_NAME --noheadings | grep -q docker-thinpoolmeta; then
|
||||
lvcreate --wipesignatures y -n docker-thinpoolmeta "$vg" -l 1%VG
|
||||
fi
|
||||
|
||||
lvconvert -y \
|
||||
--zero n \
|
||||
-c 512K \
|
||||
--thinpool "$vg/docker-thinpool" \
|
||||
--poolmetadata "$vg/docker-thinpoolmeta"
|
||||
fi
|
||||
|
||||
if ! [ -f /etc/lvm/profile/docker-thinpool.profile ]; then
|
||||
[ -d /etc/lvm/profile ] || mkdir /etc/lvm/profile
|
||||
cat > /etc/lvm/profile/docker-thinpool.profile << EOF
|
||||
activation {
|
||||
thin_pool_autoextend_threshold=80
|
||||
thin_pool_autoextend_percent=20
|
||||
}
|
||||
EOF
|
||||
lvchange --metadataprofile docker-thinpool "$vg/docker-thinpool"
|
||||
lvs -o+seg_monitor
|
||||
fi
|
||||
|
||||
lv_path="${vg}-docker--thinpool"
|
||||
|
||||
if ! [ -d /etc/docker ]; then
|
||||
mkdir /etc/docker
|
||||
fi
|
||||
cat > /etc/docker/daemon.json << EOF
|
||||
{
|
||||
"storage-driver": "devicemapper",
|
||||
"storage-opts": [
|
||||
"dm.thinpooldev=$lv_path",
|
||||
"dm.use_deferred_removal=true",
|
||||
"dm.use_deferred_deletion=true"
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
29
packer/ansible/roles/docker/tasks/lvm-setup-service.yml
Normal file
29
packer/ansible/roles/docker/tasks/lvm-setup-service.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
- name: install tools for lvm thin pools
|
||||
package:
|
||||
name: thin-provisioning-tools
|
||||
|
||||
- name: copy docker-setup script
|
||||
copy:
|
||||
src: docker-setup.sh
|
||||
dest: /usr/local/sbin/docker-setup.sh
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0744"
|
||||
|
||||
- name: create override directory for docker service unit
|
||||
file:
|
||||
path: /etc/systemd/system/docker.service.d
|
||||
state: directory
|
||||
mode: "0755"
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: copy systemd unit override for docker service
|
||||
copy:
|
||||
src: docker-override.conf
|
||||
dest: /etc/systemd/system/docker.service.d/override.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
|
|
@ -2,3 +2,7 @@
|
|||
- import_tasks: packages.yml
|
||||
tags:
|
||||
- docker:packages
|
||||
|
||||
- import_tasks: lvm-setup-service.yml
|
||||
tags:
|
||||
- docker:lvm-setup-service
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue