import files

This commit is contained in:
Yann Autissier
2021-02-09 17:05:00 +01:00
parent f5c4576411
commit 44a6d37ba5
425 changed files with 23195 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
---
# file: tasks/build.yml
- name: build - Build docker image
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-build -q -c {{docker_cluster|default('\"\"')}} {{item}}"
register: docker_build_image_command
- name: build - Register docker_build_image
with_items: "{{docker_build_image_command.results}}"
set_fact:
docker_build_image: "{{docker_build_image |default({}) |combine( {item.item: item.stdout} ) }}"
- name: build - Debug docker_elk_build_image
with_items: "{{dockers|default([])}}"
debug: msg="{{docker_build_image[item]}}"
when: docker_debug|default(false)
+16
View File
@@ -0,0 +1,16 @@
---
# file: tasks/check.yml
- name: check - kernel version
fail:
msg: >
docker requires a minimum kernel version of {{docker_check_kernel}}
on {{ansible_distribution}} {{ansible_distribution_version}}
when: ansible_kernel is version(docker_check_kernel, "<")
- name: check - machine architecture
fail:
msg: >
docker requires a {{docker_check_machine}} version
of {{ansible_distribution}} {{ansible_distribution_version}}
when: ansible_machine != docker_check_machine
+18
View File
@@ -0,0 +1,18 @@
---
# file: tasks/config.yml
- name: config - add docker storage setup
lineinfile: dest="{{docker_init_config_directory}}/{{docker_package}}-storage-setup" state="present" line="STORAGE_DRIVER=\"\""
when: docker_package|length > 0 and ansible_service_mgr == "systemd" and ansible_os_family|lower == "redhat"
become: yes
# - name: config - disable docker iptables setup
# lineinfile: dest="/lib/systemd/system/docker.service" state="present" regex="^ExecStart=" line="ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --iptables=false"
# notify: restart docker
# when: docker_package|length > 0 and ansible_service_mgr == "systemd"
# become: yes
- name: config - setup docker mtu on Openstack VMs
lineinfile: dest="{{docker_init_config_directory}}/{{docker_package}}" state="present" backrefs=true regexp='^{{docker_opts}}=(?:\'|\")?((?:\s*[\w=\/\-\.](?<!--mtu=1450)\s*)*)(?:\'|\")?$' line='{{docker_opts}}="\1 --mtu=1450"'
when: docker_package|length > 0 and ansible_product_name == "OpenStack Nova"
become: yes
+23
View File
@@ -0,0 +1,23 @@
---
# file: tasks/files.yml
- name: files - copy files
with_items:
- /usr/local/bin/docker-build
- /usr/local/bin/docker-cleanup
- /usr/local/bin/docker-cleanup-images
- /usr/local/bin/docker-cleanup-volumes
- /usr/local/bin/docker-log-cleanup
- /usr/local/bin/docker-log-truncate
- /usr/local/bin/docker-run
- /usr/local/bin/docker-get-image
- /usr/local/bin/docker-get-status
copy: src=../files/{{item}} dest={{item}} owner=root group=root mode=0755
become: yes
- name: files - copy sysctl configuration files
with_items:
- /etc/sysctl.d/docker.conf
copy: src=../files/{{item}} dest={{item}} owner=root group=root mode=0644
become: yes
+12
View File
@@ -0,0 +1,12 @@
---
# file: tasks/group.yml
- name: group - create docker group
group: name="docker" state="present" system="yes"
become: yes
when: ansible_os_family|lower != "alpine"
- name: group - add me to the docker group
user: name="{{ansible_user_id}}" groups=docker append=yes
become: yes
when: ansible_os_family|lower != "alpine" and ansible_user_id != "root"
+30
View File
@@ -0,0 +1,30 @@
---
# file: tasks/main.yml
- import_tasks: vars.yml
tags:
- vars
- import_tasks: check.yml
tags:
- check
- import_tasks: files.yml
tags:
- files
- import_tasks: package.yml
tags:
- package
- import_tasks: config.yml
tags:
- config
- import_tasks: service.yml
tags:
- service
- import_tasks: group.yml
tags:
- group
- import_tasks: build.yml
tags:
- build
- import_tasks: run.yml
tags:
- run
+21
View File
@@ -0,0 +1,21 @@
---
# file: tasks/package.yml
- name: package - packages pre installation
with_items: "{{docker_packages|default([])}}"
package: name="{{item.name}}" state="{{item.state}}"
become: yes
- name: package - add docker GPG key
apt_key: url=https://download.docker.com/linux/debian/gpg
when: ansible_os_family|lower == "debian"
- name: add docker APT repository
apt_repository:
repo: deb [arch=amd64] https://download.docker.com/linux/{{ansible_distribution|lower}} {{ansible_distribution_release}} stable
when: ansible_os_family|lower == "debian"
- name: package - add docker package
package: name="{{docker_package}}" state=present
when: docker_package|length > 0
become: yes
+53
View File
@@ -0,0 +1,53 @@
---
# file: tasks/run.yml
- name: run - Get current docker status
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-get-status {{item}}"
register: docker_current_status_command
- name: run - Register docker_current_status
with_items: "{{docker_current_status_command.results}}"
set_fact:
docker_current_status: "{{docker_current_status |default({}) |combine( {item.item: item.stdout} ) }}"
- name: run - Debug docker_current_status
with_items: "{{dockers|default([])}}"
debug: msg="{{docker_current_status[item]}}"
when: docker_debug|default(false)
- name: run - Get current docker image
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-get-image {{item}}"
register: docker_current_image_command
- name: run - Register docker_current_image
with_items: "{{docker_current_image_command.results}}"
set_fact:
docker_current_image: "{{docker_current_image |default({}) |combine( {item.item: item.stdout} ) }}"
- name: run - Debug docker_current_image
with_items: "{{dockers|default([])}}"
debug: msg="{{docker_current_image[item]}}"
when: docker_debug|default(false)
- name: run - Stop current docker
with_items: "{{dockers|default([])}}"
command: "docker stop {{item}}"
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" == "{{item}} running"
- name: run - Remove current docker
with_items: "{{dockers|default([])}}"
command: "docker rm {{item}}"
when: ( docker_restart|default(false) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false) ) and "{{docker_current_status[item]}}" != ""
- name: run - Run docker image
with_items: "{{dockers|default([])}}"
command: "/usr/local/bin/docker-run -q -c {{docker_cluster|default('\"\"')}} {{item}}"
when: docker_start|default(true) and "{{docker_current_image[item]}}" != "{{docker_build_image[item]}}" or docker_force_restart|default(false)
- name: run - Start docker
with_items: "{{dockers|default([])}}"
command: "docker start {{item}}"
when: docker_start|default(true) and "{{docker_current_image[item]}}" == "{{docker_build_image[item]}}" and "{{docker_current_status[item]}}" != "{{item}} running"
+32
View File
@@ -0,0 +1,32 @@
---
# file: tasks/service.yml
- name: service - start docker daemon
with_items: "{{docker_services|default([])}}"
service:
name: "{{item}}"
state: started
enabled: yes
become: yes
when: ansible_service_mgr|lower != "openrc" and ansible_os_family|lower != "alpine"
- name: service - force openrc status
shell: "kill -0 $(cat /run/{{item}}.pid) && [ ! -h /run/openrc/started/{{item}} ] && ln -s /etc/init.d/{{item}} /run/openrc/started/{{item}} && service {{item}} restart ||:"
with_items: "{{docker_services|default([])}}"
become: yes
when: ansible_service_mgr|lower == "openrc" or ansible_os_family|lower == "alpine"
- name: service - start docker daemon
with_items: "{{docker_services|default([])}}"
service:
name: "{{item}}"
state: started
enabled: yes
runlevel: boot
become: yes
when: ansible_service_mgr|lower == "openrc" or ansible_os_family|lower == "alpine"
- name: service - force docker restart
shell: "[ ! -d /var/lib/docker/tmp ] && service docker restart ||:"
become: yes
when: ansible_service_mgr|lower == "openrc" or ansible_os_family|lower == "alpine"
+34
View File
@@ -0,0 +1,34 @@
---
# file: tasks/vars.yml
- name: vars - load per operating system variables
include_vars: "{{item}}"
with_first_found:
- paths:
- "vars/"
- files:
- "{{ansible_distribution|lower}}-{{ansible_distribution_version|lower}}-{{ansible_machine}}.yml" # centos-6.4-i386.yml ubuntu-16.04-x86_64.yml
- "{{ansible_distribution|lower}}-{{ansible_distribution_version|lower}}.yml" # centos-6.4.yml ubuntu-16.04.yml
- "{{ansible_distribution|lower}}-{{ansible_distribution_major_version|lower}}-{{ansible_machine}}.yml" # centos-6-i386.yml ubuntu-16-x86_64.yml
- "{{ansible_distribution|lower}}-{{ansible_distribution_major_version|lower}}.yml" # centos-6.yml ubuntu-16.yml
- "{{ansible_os_family|lower}}-{{ansible_distribution_version|lower}}-{{ansible_machine}}.yml" # redhat-6.4-i386.yml debian-8.5-x86_64.yml
- "{{ansible_os_family|lower}}-{{ansible_distribution_version|lower}}.yml" # redhat-6.4.yml debian-8.5.yml
- "{{ansible_os_family|lower}}-{{ansible_distribution_major_version|lower}}-{{ansible_machine}}.yml" # redhat-6-i386.yml debian-8-x86_64.yml
- "{{ansible_os_family|lower}}-{{ansible_distribution_major_version|lower}}.yml" # redhat-6.yml debian-8.yml
- "{{ansible_distribution|lower}}-{{ansible_machine}}.yml" # centos-i386.yml ubuntu-x86_64.yml
- "{{ansible_distribution|lower}}.yml" # centos.yml ubuntu.yml
- "{{ansible_os_family|lower}}-{{ansible_machine}}.yml" # redhat-i386.yml debian-x86_64.yml
- "{{ansible_os_family|lower}}.yml" # redhat.yml debian.yml
- "{{ansible_system|lower}}-{{ansible_machine}}.yml" # linux-i386.yml linux-x86_64.yml
- "{{ansible_system|lower}}.yml" # linux.yml
- "default.yml" # default.yml
skip: true
- name: vars - override with local variables
include_vars: "{{item}}"
with_first_found:
- paths:
- "vars/"
- files:
- "local.yml"
skip: true