fix legacy docker_volumes configuration support

This commit is contained in:
uumas
2023-05-16 07:17:59 +03:00
parent 234bb70d73
commit c7c437373f

View File

@@ -8,6 +8,33 @@
final_docker_volumes: "{{ docker_volumes }}" final_docker_volumes: "{{ docker_volumes }}"
container_image: '' container_image: ''
- name: Warn about docker_volumes legacy format
debug:
msg: "docker_volumes is deprecated. This support may be removed after december 2022. Use docker_mounts instead!"
when: docker_volumes | length > 0
- name: Convert docker_volumes from legacy format (DEPRECATED)
when: docker_volumes | length > 0 and docker_volumes[0] is not mapping
block:
- name: Add legacy docker volumes to docker_volumes_new using the new format
set_fact:
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'name': item.split(':')[0] | regex_replace('^' + docker_service_name + '_', ''), 'path': item.split(':')[1]}] }}"
when: "'/' not in item.split(':')[0]"
loop: "{{ docker_volumes }}"
- name: Add legacy docker src bind mounts to docker_volumes_new using the new format
set_fact:
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'src': item.split(':')[0], 'path': item.split(':')[1]}] }}"
when: "'/' in item.split(':')[0]"
loop: "{{ docker_volumes }}"
- name: Set final_docker_volumes variable
set_fact:
final_docker_volumes: "{{ docker_volumes_new }}"
- name: Convert final_docker_volumes to docker_mounts (DEPRECATED)
set_fact:
docker_mounts: "{{ final_docker_volumes }}"
when: docker_mounts | length == 0 and final_docker_volumes | length > 0
- name: Set assistive variables - name: Set assistive variables
set_fact: set_fact:
template_mounts_needed: "{{ docker_mounts | selectattr('template', 'defined') | list | length > 0 }}" template_mounts_needed: "{{ docker_mounts | selectattr('template', 'defined') | list | length > 0 }}"
@@ -27,30 +54,3 @@
set_fact: set_fact:
docker_service_name: "{{ docker_service }}_{{ docker_service_suffix }}" docker_service_name: "{{ docker_service }}_{{ docker_service_suffix }}"
when: docker_service_suffix is defined when: docker_service_suffix is defined
- name: Warn about docker_volumes legacy format
debug:
msg: "docker_volumes is deprecated. This support may be removed after december 2022. Use docker_mounts instead!"
when: docker_volumes | length > 0
- name: Convert docker_volumes from legacy format
when: docker_volumes | length > 0 and docker_volumes[0] is not mapping
block:
- name: Add legacy docker volumes to docker_volumes_new using the new format
set_fact:
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'name': item.split(':')[0] | regex_replace('^' + docker_service_name + '_', ''), 'path': item.split(':')[1]}] }}"
when: "'/' not in item.split(':')[0]"
loop: "{{ docker_volumes }}"
- name: Add legacy docker src bind mounts to docker_volumes_new using the new format
set_fact:
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'src': item.split(':')[0], 'path': item.split(':')[1]}] }}"
when: "'/' in item.split(':')[0]"
loop: "{{ docker_volumes }}"
- name: Set final_docker_volumes variable
set_fact:
final_docker_volumes: "{{ docker_volumes_new }}"
- name: Convert final_docker_volumes to docker_mounts
set_fact:
docker_mounts: "{{ final_docker_volumes }}"
when: docker_mounts | length == 0 and final_docker_volumes | length > 0