From c7c437373fae8850704b7066eff3addb9913a474 Mon Sep 17 00:00:00 2001 From: uumas Date: Tue, 16 May 2023 07:17:59 +0300 Subject: [PATCH] fix legacy docker_volumes configuration support --- roles/container/tasks/init.yml | 54 +++++++++++++++++----------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/roles/container/tasks/init.yml b/roles/container/tasks/init.yml index de319e6..2b3c327 100644 --- a/roles/container/tasks/init.yml +++ b/roles/container/tasks/init.yml @@ -8,6 +8,33 @@ final_docker_volumes: "{{ docker_volumes }}" 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 set_fact: template_mounts_needed: "{{ docker_mounts | selectattr('template', 'defined') | list | length > 0 }}" @@ -27,30 +54,3 @@ set_fact: docker_service_name: "{{ docker_service }}_{{ docker_service_suffix }}" 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