Compare commits

..

No commits in common. "7016ab24642fbadfc4323761116d5a72a66635a5" and "24d69d8d662e922f67ca0d6d79647dfa4185117d" have entirely different histories.

2 changed files with 54 additions and 45 deletions

View File

@ -79,11 +79,11 @@
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: templates_Defined ==1 and outer_item.value.generic is not defined when: templates_Defined ==1 and outer_item.value.generic is not defined
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
#Copy templates form a generic dir, allow ansible to search #Copy templates form a generic dir, allow ansible to search
@ -95,11 +95,11 @@
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: templates_Defined ==1 and outer_item.value.generic is defined when: templates_Defined ==1 and outer_item.value.generic is defined
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
- name: Append templated files to the mapping list - name: Append templated files to the mapping list
@ -141,11 +141,11 @@
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: files_Defined == 1 and outer_item.value.generic is not defined and outer_item.value.src_text is not defined when: files_Defined == 1 and outer_item.value.generic is not defined and outer_item.value.src_text is not defined
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
#Copy files from a generic dir, allow ansible to search #Copy files from a generic dir, allow ansible to search
- name: "Generic File mappings for {{ container_Name }}" - name: "Generic File mappings for {{ container_Name }}"
@ -156,45 +156,48 @@
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: files_Defined == 1 and outer_item.value.generic is defined and outer_item.value.src_text is not defined when: files_Defined == 1 and outer_item.value.generic is defined and outer_item.value.src_text is not defined
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
# Create files based on the suplied src_text param #Create files based on the suplied src_text param
- name: "Text based file creation for {{ container_Name }}" - name: "Text based file creation for {{ container_Name }}"
# Files will be copied to the 'config' dir as defined by container_configDir, they will be stored using their file name #Files will be copied to the 'config' dir as defined by container_configDir, they will be stored using their file name
# Need to ensure you dont have duplicate files names here #Need to ensure you dont have duplicate files names here
copy: content="{{ outer_item.value.src_text }}" dest="{{ container_configDir }}/{{ outer_item.key }}" mode=0644 copy: content="{{ outer_item.value.src_text }}" dest="{{ container_configDir }}/{{ outer_item.key }}" mode=0644
with_dict: "{{ item.value.mappings.files }}" with_dict: "{{ item.value.mappings.files }}"
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: files_Defined == 1 and outer_item.value.src_text is defined when: files_Defined == 1 and outer_item.value.src_text is defined
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
- name: Append static remote files to the mapping list - name: Append static remote files to the mapping list
set_fact: set_fact:
# build a list to pass to docker containing the source of the file(As on disk on the host) and the destination mount within the container #build a list to pass to docker containing the source of the file(As on disk on the host) and the destination mount within the container
# Also allows the passing of 'params' which is rw or ro, defaults to rw #Also allows the passing of 'params' which is rw or ro, defaults to rw
mappings: "{{ mappings + [ container_configDir + outer_item.key + ':' + outer_item.value.dest + ':' + outer_item.value.params | default('rw') ] }}" mappings: "{{ mappings + [ container_configDir + outer_item.key + ':' + outer_item.value.dest + ':' + outer_item.value.params | default('rw') ] }}"
with_dict: "{{ item.value.mappings.files }}" with_dict: "{{ item.value.mappings.files }}"
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: files_Defined == 1 when: files_Defined == 1
tags: always tags: always
# ----------------------------------/FILES---------------------------------- #----------------------------------/FILES----------------------------------
# ----------------------------------LOCAL----------------------------------
# Local files alreeady exist on the host, commonly local time and or netns for namespace, could also be locl disk drives?
# Nothing gets copied for local mappings, just defintiions added to the mapping list
# Only copy files if there are local files defined in the incoming defintion dict #----------------------------------LOCAL----------------------------------
#Local files alreeady exist on the host, commonly local time and or netns for namespace, could also be locl disk drives?
#Nothing gets copied for local mappings, just defintiions added to the mapping list
#Only copy files if there are local files defined in the incoming defintion dict
- set_fact: local_Defined=0 - set_fact: local_Defined=0
tags: always tags: always
- name: Check if Local files have been defined or not - name: Check if Local files have been defined or not
@ -202,32 +205,32 @@
local_Defined: 1 local_Defined: 1
when: item.value.mappings.local is defined when: item.value.mappings.local is defined
tags: always tags: always
# - debug: msg="local not defined" #- debug: msg="local not defined"
# when: local_Defined is not defined # when: local_Defined is not defined
- name: Append static local files to the mapping list - name: Append static local files to the mapping list
set_fact: set_fact:
# build a list to pass to docker containing the source of the file(As on disk on the host) and the destination mount within the container #build a list to pass to docker containing the source of the file(As on disk on the host) and the destination mount within the container
# Also allows the passing of 'params' which is rw or ro, defaults to rw #Also allows the passing of 'params' which is rw or ro, defaults to rw
# mappings: "{{ mappings + ['type=\"bind\", source=\"' + item.value.src + '\",target=\"' + item.value.dest + '\",readonly=\"' + item.value.readonly | default('false') +'\"'] }}" #mappings: "{{ mappings + ['type=\"bind\", source=\"' + item.value.src + '\",target=\"' + item.value.dest + '\",readonly=\"' + item.value.readonly | default('false') +'\"'] }}"
mappings: "{{ mappings + [ outer_item.value.src + ':' + outer_item.value.dest + ':' + outer_item.value.params | default('rw') ] }}" mappings: "{{ mappings + [ outer_item.value.src + ':' + outer_item.value.dest + ':' + outer_item.value.params | default('rw') ] }}"
with_dict: "{{ item.value.mappings.local }}" with_dict: "{{ item.value.mappings.local }}"
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: local_Defined == 1 when: local_Defined == 1
register: file_changed register: fileChanged
tags: always tags: always
- name: Set the flag to restart the container if file was changed - name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes' set_fact: containerRestart='yes'
when: file_changed is defined and file_changed.changed when: fileChanged is defined and fileChanged.changed
tags: always tags: always
# ----------------------------------/LOCAL---------------------------------- #----------------------------------/LOCAL----------------------------------
# ----------------------------------Check ENV---------------------------------- #----------------------------------Check ENV----------------------------------
# If the env varibale isnt defined then dont error out, set the network variable to an empty list #If the env varibale isnt defined then dont error out, set the network variable to an empty list
- name: Setup a blank env variable - name: Setup a blank env variable
set_fact: env_checked={} set_fact: env_checked={}
when: item.value.env is not defined when: item.value.env is not defined
@ -236,14 +239,16 @@
set_fact: env_checked="{{ item.value.env }}" set_fact: env_checked="{{ item.value.env }}"
when: item.value.env is defined when: item.value.env is defined
tags: always tags: always
# ----------------------------------/Check ENV---------------------------------- #----------------------------------/Check ENV----------------------------------
- name: Restart the container if fileChanged is defined
set_fact: containerRestart1='yes'
when: (containerRestart is defined and containerRestart=='yes') or (item.value.restart is defined and item.value.restart =='yes')
- name: Restart the container if file_changed is defined
set_fact: container_restart1='yes'
when: (container_restart is defined and container_restart=='yes') or (item.value.restart is defined and item.value.restart =='yes')
- name: "Container {{ container_Name }}" - name: "Container {{ container_Name }}"
become: true become: yes
docker_container: docker_container:
name: "{{ container_Name }}" name: "{{ container_Name }}"
hostname: "{{ item.value.hostname | default(container_Name) }}" hostname: "{{ item.value.hostname | default(container_Name) }}"
@ -252,7 +257,7 @@
recreate: "{{ item.value.recreate | default('false') }}" recreate: "{{ item.value.recreate | default('false') }}"
image: "{{ item.value.image }}" image: "{{ item.value.image }}"
state: "{{ item.value.start | default ('started') }}" state: "{{ item.value.start | default ('started') }}"
restart: "{{ container_restart1 | default ('no') }}" restart: "{{ containerRestart1 | default ('no') }}"
restart_policy: "{{ item.value.restart_policy | default ('always') }}" restart_policy: "{{ item.value.restart_policy | default ('always') }}"
purge_networks: "{{ item.value.purge_networks | default ('yes') }}" purge_networks: "{{ item.value.purge_networks | default ('yes') }}"
networks: "{{ net_checked }}" networks: "{{ net_checked }}"
@ -262,5 +267,9 @@
network_mode: "{{ item.value.network_mode | default ('default') }}" network_mode: "{{ item.value.network_mode | default ('default') }}"
shm_size: "{{ item.value.shm_size | default ('64M') }}" shm_size: "{{ item.value.shm_size | default ('64M') }}"
ports: "{{ item.value.ports | default ([]) }}" ports: "{{ item.value.ports | default ([]) }}"
ulimits: "{{ item.value.ulimits | default ('') }}" #log_driver: fluentd
#"{{item.value.ports | default ([json-file])}}"
#log_options:
# fluentd-sub-second-precision: true
# tag: myservice
tags: always tags: always

View File

@ -1,7 +1,7 @@
# - name: "Checking docker volume {{working_volume_name}}" #- name: "Checking docker volume {{working_volume_name}}"
# debug: msg="Checking docker volume {{working_volume_name}}" # debug: msg="Checking docker volume {{working_volume_name}}"
# ----------------------------------Local Volume---------------------------------- #----------------------------------Local Volume----------------------------------
- set_fact: base_volume_name="local_" - set_fact: base_volume_name="local_"
tags: always tags: always