Skip to content
Snippets Groups Projects
Commit dd301148 authored by fejao's avatar fejao
Browse files

Updated files

parent bce633cb
No related branches found
No related tags found
No related merge requests found
Pipeline #38399 passed
Pipeline: c3infodesk-deployment

#38400

    ......@@ -15,7 +15,7 @@ variables:
    ###
    stages:
    - yamllint
    - upstream-trigger
    - downstream-trigger
    ###
    ### SCRIPTS
    ......@@ -41,7 +41,7 @@ yamllint-test:
    - yamllint .
    trigger-pipeline:
    stage: upstream-trigger
    stage: downstream-trigger
    variables:
    RUN_UPSTREAM_FOR_ROLE_DOCKER_IMAGES: true
    trigger:
    ......
    ......@@ -2,17 +2,7 @@
    # defaults file for docker-images
    ###
    ### roles/clone_repositories
    ###
    c3infodesk_printer_clone_printer: true
    c3infodesk_deployment_repository_url: "https://git.cccv.de/fejao/c3infodesk-printer.git"
    c3infodesk_deployment_repository_dest_folder: "Coding/c3infodesk-printer"
    c3infodesk_deployment_repository_branch_change: true
    c3infodesk_deployment_repository_branch_name: "example_printer_test_branch"
    ###
    ### roles/docker-images
    ### roles/docker-images ---> setted for c3infodesk-printer
    ###
    c3infodesk_deployment_paht_docker_folder: "Coding/c3infodesk-printer/docker"
    ......
    ......@@ -7,11 +7,10 @@ galaxy_info:
    company: cccv.de
    license: "MIT / BSD"
    min_ansible_version: '2.10'
    # galaxy_tags: []
    galaxy_tags:
    - docker
    - build
    - ducker-build
    - docker-build
    - c3infodesk
    - c3infodesk-printer
    - c3buttons
    ......
    ---
    - name: MOLECULE | Converge
    - name: MOLECULE | CONVERGE | Setting tasks for converge...
    hosts: all
    vars:
    # molecule_debug_outputs: true
    molecule_debug_outputs: false
    pre_tasks:
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
    ansible.builtin.include_vars:
    dir: ../../defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    ansible.builtin.include_vars:
    dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
    ansible.builtin.include_vars:
    dir: ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
    depth: 1
    extensions:
    - 'yml'
    ##############################################
    ##############################################
    ##############################################
    - name: MOLECULE | CONVERGE | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
    ansible.builtin.set_fact:
    host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
    - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'host_var_file_name' fact.
    ansible.builtin.debug:
    msg: "molecule_debug_outputs: {{ host_var_file_name }}"
    when: molecule_debug_outputs | bool
    - name: MOLECULE | CONVERGE | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
    ansible.builtin.include_vars:
    file: "{{ host_var_file_name }}"
    - name: MOLECULE | CONVERGE | PRE-TASKS | DEBUG | Value from 'c3infodesk_deployment_repository_url' variable.
    ansible.builtin.debug:
    msg: "molecule_debug_outputs: {{ c3infodesk_deployment_repository_url }}"
    when: molecule_debug_outputs | bool
    #####################
    - name: MOLECULE | CONVERGE | PRE-TASKS | INSTALL | Install the python pip requests package.
    ansible.builtin.pip:
    name: requests
    pre_tasks:
    - name: MOLECULE | CONVERGE | PRE-TASKS | Import tasks...
    tags: import_pre_tasks
    ansible.builtin.import_tasks: pre_tasks.yml
    tasks:
    - name: MOLECULE | CONVERGE | Call the 'docker_images' role.
    - name: MOLECULE | CONVERGE | TASKS | Call the 'clone_repositories' role.
    tags: execute_role
    ansible.builtin.include_role:
    name: c3infodesk-deployment-role-docker-images
    ---
    # This is the pre-tasks shared between converge and verify.
    - name: MOLECULE | PRE-TASKS | VARIABLES
    tags: variables
    vars:
    # molecule_debug_outputs: true
    molecule_debug_outputs: false
    block:
    - name: MOLECULE | PRE-TASKS | VARIABLES | From -> ../../defaults
    ansible.builtin.include_vars:
    dir: ../../defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    ansible.builtin.include_vars:
    dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
    ansible.builtin.set_fact:
    host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
    - name: MOLECULE | PRE-TASKS | DEBUG | Value from 'host_var_file_name' fact.
    ansible.builtin.debug:
    msg: "molecule_debug_outputs: {{ host_var_file_name }}"
    when: molecule_debug_outputs | bool
    - name: MOLECULE | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
    ansible.builtin.include_vars:
    file: "{{ host_var_file_name }}"
    - name: MOLECULE | PRE-TASKS | DEBUG | Value from 'c3infodesk_deployment_repository_url' variable.
    ansible.builtin.debug:
    msg: "molecule_debug_outputs: {{ c3infodesk_deployment_repository_url }}"
    when: molecule_debug_outputs | bool
    ### c3infodesk-deployment-role-docker-images
    - name: MOLECULE | CONVERGE | PRE-TASKS | INSTALL | Install the python pip requests package.
    ansible.builtin.pip:
    name: requests
    ---
    - name: VERIFY | Test role for debugging variables
    - name: VERIFY | Test role for debugging variables.
    hosts: all
    vars:
    verify_package_name_docker: 'docker'
    verify_package_name_docker_ce: 'docker-ce'
    verify_package_name_docker_compose: 'docker-compose'
    verify_package_name_docker_compose_plugin: 'docker-compose-plugin'
    pre_tasks:
    - name: MOLECULE | COVERGE | PRE-TASKS | VARIABLES | From -> ../../defaults
    ansible.builtin.include_vars:
    dir: ../../defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    ansible.builtin.include_vars:
    dir: ../../../../roles/c3infodesk-deployment-role-dependencies/defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
    ansible.builtin.include_vars:
    dir: ../../../../roles/c3infodesk-deployment-role-clone-repositories/defaults
    depth: 1
    extensions:
    - 'yml'
    - name: MOLECULE | VERIFY | PRE-TASKS | SET FACT | Read the parsed 'HOST_VAR_FILE_NAME' env var or set the default to 'host_var_file_name' variable.
    ansible.builtin.set_fact:
    host_var_file_name: "../../../../inventories/host_vars/{{ lookup('ansible.builtin.env', 'HOST_VAR_FILE_NAME') | default('example_printer.yml', True) }}"
    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> 'host_vars_from_proj_path' variable.
    ansible.builtin.include_vars:
    file: "{{ host_var_file_name }}"
    - name: MOLECULE | VERIFY | PRE-TASKS | Import tasks...
    tags: import_pre_tasks
    ansible.builtin.import_tasks: pre_tasks.yml
    tasks:
    ###
    ### POPULATE
    ###
    - name: MOLECULE | VERIFY | POPULATE | Gather the package facts
    ansible.builtin.package_facts:
    manager: auto
    # - name: MOLECULE | VERIFY | POPULATE | Gather service facts
    # ansible.builtin.service_facts:
    ###
    ### TESTS - PACKAGES
    ###
    - name: MOLECULE | VERIFY | TEST | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
    ansible.builtin.debug:
    msg: "Package: '{{ package_name }}' is installed"
    loop: "{{ os_dependencies_packages }}"
    loop_control:
    loop_var: package_name
    failed_when: package_name not in ansible_facts.packages
    ###
    ### TESTS - DOCKER
    ###
    - name: MOLECULE | VERIFY | TEST | DOCKER | Is installed.
    ansible.builtin.debug:
    msg: "Package: 'docker' is installed"
    failed_when:
    - verify_package_name_docker not in ansible_facts.packages
    - verify_package_name_docker_ce not in ansible_facts.packages
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | TEST | DOCKER | docker-compose is installed.
    ansible.builtin.debug:
    msg: "Package: 'docker-cokmpose' is installed"
    failed_when:
    - verify_package_name_docker_compose not in ansible_facts.packages
    - verify_package_name_docker_compose_plugin not in ansible_facts.packages
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | TEST | DOCKER | Get docker service state.
    ansible.builtin.systemd:
    name: "docker"
    register: docker_service
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | TEST | DOCKER | Check that docker is running.
    ansible.builtin.debug:
    msg: "Docker IS running..."
    failed_when: "'active' != docker_service.status.ActiveState"
    when: docker_set_to_install | bool
    ###
    ### TESTS - ADDED DOCKER USERS
    ###
    - name: MOLECULE | VERIFY | TEST | USER | Get added users infos.
    ansible.builtin.user:
    name: "{{ item }}"
    loop: "{{ docker_users }}"
    check_mode: true
    register: test_users
    - name: MOLECULE | VERIFY | TEST | USER | Check if users exists
    ansible.builtin.debug:
    msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}"
    loop: "{{ test_users.results }}"
    loop_control:
    label: "{{ item.item }}"
    - name: MOLECULE | VERIFY | TEST | USER | Get the groups that the users belongs to.
    ansible.builtin.command:
    cmd: "id -Gn {{ item.item }}"
    loop: "{{ test_users.results }}"
    loop_control:
    label: "{{ item.item }}"
    register: user_groups
    changed_when: false
    - name: MOLECULE | VERIFY | TEST | USER | Check that the users are at the 'docker' group.
    ansible.builtin.debug:
    msg: "User '{{ item.item.item }}' belongs to the docker group"
    with_items: "{{ user_groups.results }}"
    failed_when: "'docker' not in item.stdout"
    ###
    ### TESTS - CLONE REPOSITORY
    ###
    - name: MOLECULE | VERIFY | TEST | Get if the repository was cloned.
    ansible.builtin.git:
    repo: "{{ c3infodesk_deployment_repository_url }}"
    dest: "{{ c3infodesk_deployment_repository_dest_folder }}"
    version: main
    clone: false
    update: false
    register: check_repository
    - name: MOLECULE | VERIFY | TEST | Checking if the repository was cloned.
    ansible.builtin.debug:
    msg: "Repository: '{{ c3infodesk_deployment_repository_url }}' cloned..."
    failed_when: check_repository.changed | bool
    - name: MOLECULE | VERIFY | POPULATE
    tags: import_verify_populate
    ansible.builtin.import_tasks: verify_populate.yml
    ###
    ### TESTS - DOCKER IMAGES
    ###
    - name: MOLECULE | VERIFY | TEST | Check if the Docker images are on the system.
    community.docker.docker_image_info:
    name: "{{ item.docker_image_name }}"
    with_items: "{{ c3infodesk_deployment_docker_images_list }}"
    - name: MOLECULE | VERIFY | TASKS
    tags: import_verify_tasks
    ansible.builtin.import_tasks: verify_tasks.yml
    ---
    # This is the file for populating the facts before verify
    - name: MOLECULE | VERIFY | POPULATE | Gather the package facts
    tags: populate
    ansible.builtin.package_facts:
    manager: auto
    ---
    # This is the tasks to be runned from the verify.yml file
    ###
    ### DEPENDENCIES - PACKAGES
    ###
    - name: MOLECULE | VERIFY | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
    tags:
    - install_packages
    - role_dependency_needed
    ansible.builtin.debug:
    msg: "Package: '{{ package_name }}' is installed"
    loop: "{{ os_dependencies_packages }}"
    loop_control:
    loop_var: package_name
    failed_when: package_name not in ansible_facts.packages
    ###
    ### DEPENDENCIES - DOCKER
    ###
    - name: MOLECULE | VERIFY | DOCKER
    tags:
    - install_docker
    - role_dependency_needed
    vars:
    verify_package_name_docker: 'docker'
    verify_package_name_docker_ce: 'docker-ce'
    verify_package_name_docker_compose: 'docker-compose'
    verify_package_name_docker_compose_plugin: 'docker-compose-plugin'
    block:
    - name: MOLECULE | VERIFY | DOCKER | Is installed.
    ansible.builtin.debug:
    msg: "Package: 'docker' is installed"
    failed_when:
    - verify_package_name_docker not in ansible_facts.packages
    - verify_package_name_docker_ce not in ansible_facts.packages
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | DOCKER | docker-compose is installed.
    ansible.builtin.debug:
    msg: "Package: 'docker-cokmpose' is installed"
    failed_when:
    - verify_package_name_docker_compose not in ansible_facts.packages
    - verify_package_name_docker_compose_plugin not in ansible_facts.packages
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | DOCKER | Get docker service state.
    ansible.builtin.systemd:
    name: "docker"
    register: docker_service
    when: docker_set_to_install | bool
    - name: MOLECULE | VERIFY | DOCKER | Check that docker is running.
    ansible.builtin.debug:
    msg: "Docker IS running..."
    failed_when: "'active' != docker_service.status.ActiveState"
    when: docker_set_to_install | bool
    ###
    ### DEPENDENCIES - DOCKER USERS
    ###
    - name: MOLECULE | VERIFY | USER
    tags:
    - install_docker_users
    - role_dependency_needed
    block:
    - name: MOLECULE | VERIFY | USER | Get added users infos.
    ansible.builtin.user:
    name: "{{ item }}"
    loop: "{{ docker_users }}"
    check_mode: true
    register: test_users
    - name: MOLECULE | VERIFY | USER | Check if users exists
    ansible.builtin.debug:
    msg: "User {{ item.item }} {{ 'exists' if item.state | d('') == 'present' else 'does not exist' }}"
    loop: "{{ test_users.results }}"
    loop_control:
    label: "{{ item.item }}"
    - name: MOLECULE | VERIFY | USER | Get the groups that the users belongs to.
    ansible.builtin.command:
    cmd: "id -Gn {{ item.item }}"
    loop: "{{ test_users.results }}"
    loop_control:
    label: "{{ item.item }}"
    register: user_groups
    changed_when: false
    - name: MOLECULE | VERIFY | USER | Check that the users are at the 'docker' group.
    ansible.builtin.debug:
    msg: "User '{{ item.item.item }}' belongs to the docker group"
    with_items: "{{ user_groups.results }}"
    failed_when: "'docker' not in item.stdout"
    ###
    ### CLONE REPOSITORIES
    ###
    - name: MOLECULE | VERIFY | REPOSITORY
    tags:
    - clone_repositories
    - role_dependency_needed
    block:
    - name: MOLECULE | VERIFY | REPOSITORY | Get if the repository was cloned.
    ansible.builtin.git:
    repo: "{{ c3infodesk_deployment_repository_url }}"
    dest: "{{ c3infodesk_deployment_repository_dest_folder }}"
    version: main
    clone: false
    update: false
    register: check_repository
    - name: MOLECULE | VERIFY | REPOSITORY | Checking if the repository was cloned.
    ansible.builtin.debug:
    msg: "Repository: '{{ c3infodesk_deployment_repository_url }}' cloned..."
    failed_when: check_repository.changed | bool
    ###
    ### DOCKER IMAGES
    ###
    - name: MOLECULE | VERIFY | IMAGES | Check if the Docker images are on the system.
    tags: build_images
    community.docker.docker_image_info:
    name: "{{ item.docker_image_name }}"
    with_items: "{{ c3infodesk_deployment_docker_images_list }}"
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment