From f3c94b9bd12f3109c80025387f62958860912e82 Mon Sep 17 00:00:00 2001
From: Santiago Lo Coco <santilococo.01@gmail.com>
Date: Mon, 15 Apr 2024 22:44:14 +0200
Subject: [PATCH] Update molecule test and refactor

---
 .ansible-lint                                 |  6 ++-
 .pre-commit-config.yaml                       |  2 +-
 slococo/playground/meta/runtime.yml           |  2 +-
 .../playground/molecule/default/converge.yml  | 47 +++++++------------
 .../playground/molecule/default/molecule.yml  |  4 +-
 .../roles/local_accounts/tasks/main.yml       |  5 +-
 6 files changed, 29 insertions(+), 37 deletions(-)

diff --git a/.ansible-lint b/.ansible-lint
index 390412e..2a59016 100644
--- a/.ansible-lint
+++ b/.ansible-lint
@@ -1,7 +1,11 @@
+profile: production
+
 skip_list:
     - galaxy[no-changelog]
-    - meta-runtime[unsupported-version]
 
 mock_roles:
     - slococo.playground.ssh_config
     - slococo.playground.local_accounts
+
+exclude_paths:
+    - converge.yml
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 312ea08..55a582f 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -7,7 +7,7 @@ repos:
       - id: end-of-file-fixer
       - id: trailing-whitespace
   - repo: https://github.com/ansible/ansible-lint
-    rev: v6.20.0
+    rev: v24.2.2
     hooks:
       - id: ansible-lint
   - repo: https://github.com/psf/black
diff --git a/slococo/playground/meta/runtime.yml b/slococo/playground/meta/runtime.yml
index c467dd7..ce6befd 100644
--- a/slococo/playground/meta/runtime.yml
+++ b/slococo/playground/meta/runtime.yml
@@ -1,2 +1,2 @@
 ---
-requires_ansible: ">=2.12.0"
+requires_ansible: ">=2.14.0"
diff --git a/slococo/playground/molecule/default/converge.yml b/slococo/playground/molecule/default/converge.yml
index ac4a81e..2a72e33 100644
--- a/slococo/playground/molecule/default/converge.yml
+++ b/slococo/playground/molecule/default/converge.yml
@@ -1,32 +1,21 @@
 ---
-- name: Converge
-  hosts: all
-  become: true
+- name: Include a playbook from a collection
+  ansible.builtin.import_playbook: slococo.playground.main
 
-  pre_tasks:
-    - name: Update the apt cache and install openssh packages
-      ansible.builtin.apt:
-        update_cache: true
-        name:
-          - openssh-server
-          - openssh-client
-        state: present
+# - name: Converge
+#   hosts: all
+#   become: true
 
-    - name: Restart ssh service
-      ansible.builtin.service:
-        name: sshd
-        state: started
-
-  roles:
-    - role: slococo.playground.ssh_config
-    - role: slococo.playground.local_accounts
-      vars:
-        local_accounts_list:
-          - name: local_adm
-            shell: /bin/bash
-            userid: 38000087
-          - name: local_log
-            shell: /bin/sh
-            userid: 38000088
-            expiry_date: '2024-12-31'
-            passwordless: true
+#   roles:
+#     - role: slococo.playground.ssh_config
+#     - role: slococo.playground.local_accounts
+#       vars:
+#         local_accounts_list:
+#           - name: local_adm
+#             shell: /bin/bash
+#             userid: 38000087
+#           - name: local_log
+#             shell: /bin/sh
+#             userid: 38000088
+#             expiry_date: '2024-12-31'
+#             passwordless: true
diff --git a/slococo/playground/molecule/default/molecule.yml b/slococo/playground/molecule/default/molecule.yml
index 741cd63..dbaded1 100644
--- a/slococo/playground/molecule/default/molecule.yml
+++ b/slococo/playground/molecule/default/molecule.yml
@@ -1,13 +1,11 @@
 ---
 dependency:
   name: galaxy
-  ooptions:
-    ignore-errors: true
 driver:
   name: docker
 platforms:
   - name: instance
-    image: "docker.io/geerlingguy/docker-debian11-ansible:latest"
+    image: "slococo/dam-testing:latest"
     command: ${MOLECULE_DOCKER_COMMAND:-""}
     volumes:
       - /sys/fs/cgroup:/sys/fs/cgroup:rw
diff --git a/slococo/playground/roles/local_accounts/tasks/main.yml b/slococo/playground/roles/local_accounts/tasks/main.yml
index 5d197c3..54b6ea4 100644
--- a/slococo/playground/roles/local_accounts/tasks/main.yml
+++ b/slococo/playground/roles/local_accounts/tasks/main.yml
@@ -5,16 +5,17 @@
     shell: "{{ item.shell }}"
     uid: "{{ item.userid }}"
     expires: "{{ (((item.expiry_date + ' 00:00:00') | to_datetime).strftime('%s')) if item.expiry_date is defined else omit }}"
-    home: "{{ item.home | default('/home/' + item.name) }}"
+    home: "{{ item.home | default(omit)}}"
     groups: "{{ item.groups | default(omit) }}"
   loop: "{{ local_accounts_list }}"
 
-- name: Add key_path to the user accoounts
+- name: Add key_path to the user accounts
   ansible.builtin.set_fact:
     local_accounts_list_agg: >-
       {{
       local_accounts_list_agg | default([]) + [
         item | combine({
+          'home': item.home | default('/home/' + item.name),
           'key_path': local_accounts_key_path | regex_replace('/$', '') + '/id_' + local_accounts_key_type + '_' + item.name
         })
       ]