diff --git a/roles/miniforge/molecule/default/verify.yml b/roles/miniforge/molecule/default/verify.yml index 31d5427..20efe2d 100644 --- a/roles/miniforge/molecule/default/verify.yml +++ b/roles/miniforge/molecule/default/verify.yml @@ -5,13 +5,13 @@ any_errors_fatal: true pre_tasks: - - name: "Include default vars" + - name: "Verify | include default vars" ansible.builtin.include_vars: dir: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') }}/defaults/" extensions: ['yml'] tasks: - - name: "Get the version of Miniforge installed" + - name: "Verify | get the version of Miniforge installed" become: true become_user: alice changed_when: false @@ -19,13 +19,13 @@ ansible.builtin.command: cmd: ~/miniforge3/bin/conda --version - - name: "Verify the installed version of Miniforge" + - name: "Verify | check the installed version of Miniforge" ansible.builtin.assert: that: "'{{ miniforge_release | split('-') | first }}' in miniforge_installed_version.stdout" success_msg: "OK, expected version installed: '{{ miniforge_installed_version.stdout }}'" fail_msg: "FAIL: unexpected version installed: '{{ miniforge_installed_version.stdout }}'" - - name: "Check Mamba installing correct tools from channels" + - name: "Verify | check Mamba installing correct tools from channels" become: true become_user: alice changed_when: false @@ -35,13 +35,13 @@ ansible.builtin.command: cmd: ~/miniforge3/envs/{{ env }}/bin/stress-ng --version - - name: "Verify the version of the installed tool" + - name: "Verify | check the version of the installed tool" ansible.builtin.assert: that: "'stress-ng, version 0.17.03' in miniforge_tool_version.stdout" success_msg: "OK, expected version installed: '{{ miniforge_tool_version.stdout }}'" fail_msg: "FAIL: unexpected version installed: '{{ miniforge_tool_version.stdout }}'" - - name: "Check the deployed environments for Alice (pip)" + - name: "Verify | check the deployed environments for Alice (pip)" become: true become_user: alice loop: @@ -51,7 +51,7 @@ ansible.builtin.command: cmd: ~/miniforge3/envs/{{ item.env }}/bin/python -c 'import {{ item.module }}' - - name: "Check the deployed environments for Bob" + - name: "Verify | check the deployed environments for Bob" become: true become_user: bob loop: @@ -60,7 +60,7 @@ ansible.builtin.command: cmd: ~/miniforge3/envs/{{ item.env }}/bin/python -c 'import {{ item.module }}' - - name: "Check that no environments were deployed for Charlie" + - name: "Verify | check that no environments were deployed for Charlie" become: true become_user: charlie register: miniforge_charlie_envs diff --git a/roles/miniforge/tasks/manifests.yml b/roles/miniforge/tasks/manifests.yml index 51b7af4..c8d7cbb 100644 --- a/roles/miniforge/tasks/manifests.yml +++ b/roles/miniforge/tasks/manifests.yml @@ -1,20 +1,20 @@ --- -- name: "Get contents of the manifest file" +- name: "Manifests | get contents of the manifest file" register: miniforge_manifest_content ansible.builtin.slurp: src: "{{ miniforge_homedir }}/{{ file }}" # Since the file can be named whatever, we need to extract the environment name # as that is what the actual environment folder name will be -- name: "Extract enviroment name from manifest file" +- name: "Manifests | extract environment name from manifest file" ansible.builtin.set_fact: miniforge_env_name: '{{ (miniforge_manifest_content.content | b64decode | from_yaml).name }}' -- name: "Display the extracted environment name" +- name: "Manifests | display the extracted environment name" ansible.builtin.debug: msg: "{{ miniforge_env_name }}" -- name: "Create environment: {{ miniforge_env_name }}" +- name: "Manifests | create environment: {{ miniforge_env_name }}" become: true become_user: "{{ user.name }}" ansible.builtin.shell: diff --git a/roles/miniforge/tasks/miniforge.yml b/roles/miniforge/tasks/miniforge.yml index 14e69f7..5c74a6b 100644 --- a/roles/miniforge/tasks/miniforge.yml +++ b/roles/miniforge/tasks/miniforge.yml @@ -1,73 +1,73 @@ --- # These variables are registered as host vars, for whatever deep reason -- name: "Get current user entity info ({{ user.name }})" +- name: "Miniforge | get current user entity info ({{ user.name }})" ansible.builtin.getent: database: passwd key: "{{ user.name }}" split: ":" -- name: "Get current user home directory ({{ user.name }})" +- name: "Miniforge | get current user home directory ({{ user.name }})" ansible.builtin.set_fact: miniforge_homedir: "{{ getent_passwd[user.name][4] }}" -- name: "Set miniforge dir ({{ user.name }})" +- name: "Miniforge | set miniforge dir ({{ user.name }})" ansible.builtin.set_fact: miniforge_dir: "{{ miniforge_homedir }}/miniforge3" -- name: "Build miniforge bin path ({{ user.name }})" +- name: "Miniforge | build miniforge bin path ({{ user.name }})" ansible.builtin.set_fact: miniforge_mamba_bin_path: "{{ miniforge_dir }}/bin/mamba" -- name: "Display miniforge script path ({{ user.name }})" +- name: "Miniforge | display miniforge script path ({{ user.name }})" ansible.builtin.debug: msg: "{{ miniforge_script_path }}" -- name: "Install miniforge ({{ user.name }})" +- name: "Miniforge | install miniforge ({{ user.name }})" become: true become_user: "{{ user.name }}" vars: allow_world_readable_tmpfiles: true block: - - name: "Check Mamba availability ({{ user.name }})" + - name: "Miniforge | check Mamba availability ({{ user.name }})" changed_when: false ansible.builtin.command: cmd: "{{ miniforge_mamba_bin_path }} info" rescue: - - name: "Install miniforge in a non-interactive mode ({{ user.name }})" + - name: "Miniforge | install miniforge in a non-interactive mode ({{ user.name }})" ansible.builtin.command: cmd: "/bin/bash {{ miniforge_script_path }} -b" creates: "{{ miniforge_homedir }}/miniforge3" - - name: "Initialize Mamba/Conda ({{ user.name }})" + - name: "Miniforge | initialize Mamba/Conda ({{ user.name }})" changed_when: false ansible.builtin.command: cmd: "{{ miniforge_mamba_bin_path }} shell init" - - name: "Check if Mamba has become available ({{ user.name }})" + - name: "Miniforge | check if Mamba has become available ({{ user.name }})" changed_when: false ansible.builtin.command: cmd: "{{ miniforge_mamba_bin_path }} info" -- name: "Deploy default .condarc if it doesn't exist already ({{ user.name }})" +- name: "Miniforge | deploy default .condarc if it doesn't exist already ({{ user.name }})" become: true become_user: "{{ user.name }}" block: - - name: "Check if .condarc already exists ({{ user.name }})" + - name: "Miniforge | check if .condarc already exists ({{ user.name }})" register: miniforge_condarc_stat failed_when: miniforge_condarc_stat.stat.exists is false ansible.builtin.stat: path: "{{ miniforge_homedir }}/.condarc" rescue: - - name: "Set default .condarc from external file if provided ({{ user.name }})" + - name: "Miniforge | set default .condarc from external file if provided ({{ user.name }})" when: condarc_file is defined and condarc_file != "" ansible.builtin.copy: src: "{{ condarc_file }}" dest: "{{ miniforge_homedir }}/.condarc" mode: "0600" - - name: "Set default content via .condarc ({{ user.name }})" + - name: "Miniforge | set default content via .condarc ({{ user.name }})" when: condarc_file is not defined or condarc_file == "" ansible.builtin.copy: dest: "{{ miniforge_homedir }}/.condarc" @@ -75,7 +75,7 @@ mode: "0600" -- name: "Deploy manifest files for user: {{ user.name }}" +- name: "Miniforge | deploy manifest files for user: {{ user.name }}" when: - "manifest_dir is defined" - "user.mamba_files is defined" @@ -91,7 +91,7 @@ # Variables from the outer scope (like 'user') will get passed down to the included tasks -- name: "Create environments from deployed manifests for user: {{ user.name }}" +- name: "Miniforge | create environments from deployed manifests for user: {{ user.name }}" when: - "miniforge_create_envs is true" - "user.mamba_files is defined"