diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fd405c8fc195550b27132347b0316323f971cb3d..0332b7e19a986348b04908cac512bba280d00af3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ variables:
 ###
 stages:
   - yamllint
-  - upstream-trigger
+  - downstream-trigger
 
 ###
 ### SCRIPTS
@@ -44,7 +44,7 @@ yamllint-test:
     - yamllint .
 
 trigger-pipeline:
-  stage: upstream-trigger
+  stage: downstream-trigger
   variables:
     RUN_UPSTREAM_FOR_ROLE_DEPENDENCIES: true
   trigger:
diff --git a/meta/main.yml b/meta/main.yml
index 7253701e3d4d695aaf4b195a0766c07dc8ed22d9..f9ffad06a56df78508e578b177431e661bab0282 100644
--- a/meta/main.yml
+++ b/meta/main.yml
@@ -7,7 +7,6 @@ galaxy_info:
   company: cccv.de
   license: "MIT / BSD"
   min_ansible_version: '2.10'
-  # galaxy_tags: []
   galaxy_tags:
     - dependency
     - dependencies
diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml
index 331edd3c74f13bdfecbe88aabe11b576775ede47..9bedee55f0b2807f075ea67edc8db2ef4ca76375 100644
--- a/molecule/default/converge.yml
+++ b/molecule/default/converge.yml
@@ -2,43 +2,13 @@
 
 - name: MOLECULE | 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 | COVERGE | PRE-TASKS | VARIABLES | From -> ../../vars
-      ansible.builtin.include_vars:
-        dir: ../../vars
-        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 | Import pre-tasks...
+      tags: import_pre_tasks
+      ansible.builtin.import_tasks: pre_tasks.yml
 
   tasks:
     - name: MOLECULE | CONVERGE | TASKS | Call the 'dependencies' role.
+      tags: execute_role
       ansible.builtin.include_role:
         name: c3infodesk-deployment-role-dependencies
diff --git a/molecule/default/pre_tasks.yml b/molecule/default/pre_tasks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..eabb95ab126df6224ff6e733b2b5064e591b61a7
--- /dev/null
+++ b/molecule/default/pre_tasks.yml
@@ -0,0 +1,41 @@
+---
+# 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 -> ../../vars
+    ansible.builtin.include_vars:
+      dir: ../../vars
+      depth: 1
+      extensions:
+        - 'yml'
+
+  ### This should be parsed also by calling the 'molecule test' command --> HOST_VAR_FILE_NAME="example_buttons.yml" molecule test
+  - 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
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 444b567933d75dad3c217d5d37ec4ac429741728..cb336c40656b0ed5a65ca873081ba5727f1978b0 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -1,118 +1,18 @@
 ---
 
-- 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 | VERIFY | PRE-TASKS | VARIABLES | From -> ../../defaults
-      ansible.builtin.include_vars:
-        dir: ../../defaults
-        depth: 1
-        extensions:
-          - 'yml'
-
-    - name: MOLECULE | VERIFY | PRE-TASKS | VARIABLES | From -> ../../vars
-      ansible.builtin.include_vars:
-        dir: ../../vars
-        depth: 1
-        extensions:
-          - 'yml'
-
-    ### This should be parsed also by calling the 'molecule test' command --> HOST_VAR_FILE_NAME="example_buttons.yml" molecule test
-    - 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 | POPULATE
+      tags: import_verify_populate
+      ansible.builtin.import_tasks: verify_populate.yml
 
-    - 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"
+    - name: MOLECULE | VERIFY | TASKS
+      tags: import_verify_tasks
+      ansible.builtin.import_tasks: verify_tasks.yml
diff --git a/molecule/default/verify_populate.yml b/molecule/default/verify_populate.yml
new file mode 100644
index 0000000000000000000000000000000000000000..caa85c6f12d21abf5f930bba1bec83da0e0acc52
--- /dev/null
+++ b/molecule/default/verify_populate.yml
@@ -0,0 +1,7 @@
+---
+# 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
diff --git a/molecule/default/verify_tasks.yml b/molecule/default/verify_tasks.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5b408fe178e21b3826d71faeb8b1d7952ff41786
--- /dev/null
+++ b/molecule/default/verify_tasks.yml
@@ -0,0 +1,88 @@
+---
+# This is the tasks to be runned from the verify.yml file
+
+###
+### PACKAGES
+###
+- name: MOLECULE | VERIFY | PACKAGES | Check that the packages from 'os_dependencies_packages' are installed.
+  tags: install_packages
+  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
+
+###
+### DOCKER
+###
+- name: MOLECULE | VERIFY | DOCKER
+  tags: install_docker
+  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
+
+###
+### DOCKER USERS
+###
+- name: MOLECULE | VERIFY | USER
+  tags: install_docker_users
+  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"
diff --git a/tasks/main.yml b/tasks/main.yml
index e8715f9e1603b5c1e95158dc483e6a9a2e55f55c..d24ca15779f84463e309865d90d188e4dc80d981 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -2,15 +2,18 @@
 # tasks file for dependencies
 
 - name: Importing the 'install_packages.yml' tasks
+  tags: packages_install
   ansible.builtin.import_tasks: install_packages.yml
 
 - name: Get docker service state.
+  tags: docker_install
   ansible.builtin.systemd:
     name: "docker"
   register: docker_service
   when: docker_set_to_install | bool
 
 - name: Set fact if docker already installed and active.
+  tags: docker_install
   ansible.builtin.set_fact:
     docker_installed: true
   when:
@@ -19,6 +22,7 @@
     - "'active' == docker_service.status.ActiveState"
 
 - name: Importing the 'install_docker.yml' tasks if docker not installed.
+  tags: docker_install
   ansible.builtin.import_tasks: install_docker.yml
   when:
     - docker_set_to_install | bool