Compare commits

..

6 Commits

Author SHA1 Message Date
coryHawkvelt 1b95015c0f cpu and memory limits 2024-07-03 10:27:22 +09:30
coryHawkvelt 58d4ca0cf7 Added CPU and memoty limits 2024-07-03 10:22:31 +09:30
coryHawkvelt a99dbaee07 Includes conditional setting for ulimts and devices 2022-11-17 00:37:48 +10:30
coryHawkvelt f0a6a7d51a changed defaultto None 2022-10-22 01:18:28 +10:30
coryHawkvelt 3c2d85f480 Add devices 2022-10-22 01:03:01 +10:30
coryHawkvelt 56beaa8208 Rollback ulimits 2022-10-11 00:18:19 +10:30
+34 -41
View File
@@ -56,6 +56,7 @@
#----------------------------------TEMPLATES---------------------------------- #----------------------------------TEMPLATES----------------------------------
#Only copy template files if there are templates defined in the incoming defintion dict #Only copy template files if there are templates defined in the incoming defintion dict
- set_fact: templates_Defined=0 - set_fact: templates_Defined=0
@@ -79,13 +80,9 @@
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
tags: always tags: always
- name: Set the flag to restart the container if file was changed register: regular_template
set_fact: container_restart='yes' notify: Restart container
when: file_changed is defined and file_changed.changed
tags: always
#Copy templates form a generic dir, allow ansible to search #Copy templates form a generic dir, allow ansible to search
- name: "Generic template mappings for {{ container_Name }}" - name: "Generic template mappings for {{ container_Name }}"
#Files will be copied to the 'config' dir as defined by container_configDir, they will be stored using their template file name but with the '.j2' stripped #Files will be copied to the 'config' dir as defined by container_configDir, they will be stored using their template file name but with the '.j2' stripped
@@ -95,13 +92,9 @@
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
tags: always tags: always
- name: Set the flag to restart the container if file was changed register: generic_template
set_fact: container_restart='yes' notify: Restart container
when: file_changed is defined and file_changed.changed
tags: always
- name: Append templated files to the mapping list - name: Append templated 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
@@ -141,12 +134,9 @@
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
tags: always
- name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes'
when: file_changed is defined and file_changed.changed
tags: always tags: always
register: file_copy
notify: Restart container
#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 }}"
#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
@@ -156,13 +146,9 @@
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
tags: always tags: always
- name: Set the flag to restart the container if file was changed register: generic_copy
set_fact: container_restart='yes' notify: Restart container
when: file_changed is defined and file_changed.changed
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
@@ -172,12 +158,9 @@
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
tags: always
- name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes'
when: file_changed is defined and file_changed.changed
tags: always tags: always
register: text_copy
notify: Restart container
- name: Append static remote files to the mapping list - name: Append static remote files to the mapping list
set_fact: set_fact:
@@ -191,6 +174,9 @@
tags: always tags: always
#----------------------------------/FILES---------------------------------- #----------------------------------/FILES----------------------------------
#----------------------------------LOCAL---------------------------------- #----------------------------------LOCAL----------------------------------
#Local files alreeady exist on the host, commonly local time and or netns for namespace, could also be locl disk drives? #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 #Nothing gets copied for local mappings, just defintiions added to the mapping list
@@ -215,14 +201,7 @@
loop_control: loop_control:
loop_var: outer_item loop_var: outer_item
when: local_Defined == 1 when: local_Defined == 1
register: file_changed
tags: always tags: always
- name: Set the flag to restart the container if file was changed
set_fact: container_restart='yes'
when: file_changed is defined and file_changed.changed
tags: always
#----------------------------------/LOCAL---------------------------------- #----------------------------------/LOCAL----------------------------------
@@ -238,12 +217,14 @@
tags: always tags: always
#----------------------------------/Check ENV---------------------------------- #----------------------------------/Check ENV----------------------------------
- name: Restart the container if file_changed is defined - name: Restart the container if fileChanged is defined
set_fact: container_restart1='yes' set_fact: containerRestart1='yes'
when: (container_restart is defined and container_restart=='yes') or (item.value.restart is defined and item.value.restart =='yes') when: (containerRestart is defined and containerRestart=='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 +233,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 +243,17 @@
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 ('') }}" cpu_period: "{{ item.value.cpu_period | default(0) }}"
cpu_quota: "{{ item.value.cpu_quota | default(0) }}"
cpu_shares: "{{ item.value.cpu_shares | default(0) }}"
cpus: "{{ item.value.cpus | default(0) }}"
cpuset_cpus: "{{ item.value.cpuset_cpus | default('') }}"
mem_limit: "{{ item.value.mem_limit | default(0) }}"
mem_reservation: "{{ item.value.mem_reservation | default(0) }}"
#log_driver: fluentd
#"{{item.value.ports | default ([json-file])}}"
#log_options:
# fluentd-sub-second-precision: true
# tag: myservice
tags: always tags: always