From 55ba4275eef7d5929af3aa31267fa090ae24a6a2 Mon Sep 17 00:00:00 2001 From: mrjk Date: Thu, 10 Jul 2025 01:59:50 -0400 Subject: [PATCH] fix: hostname and domain setup --- roles/os_base/defaults/main.yml | 5 +++++ roles/os_base/tasks/main.yml | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/roles/os_base/defaults/main.yml b/roles/os_base/defaults/main.yml index ae5d69b..4f0d148 100644 --- a/roles/os_base/defaults/main.yml +++ b/roles/os_base/defaults/main.yml @@ -9,3 +9,8 @@ system_packages__default: [] system_accounts: "{{ vars | dict2items | selectattr('key', 'match', '^system_accounts__.*') | map(attribute='value') | list | flatten | unique }}" system_packages: "{{ vars | dict2items | selectattr('key', 'match', '^system_packages__.*') | map(attribute='value') | list | flatten | unique }}" +# system_hostname: "{{ ansible_hostname }}" +system_hostname: "{{ inventory_hostname | split('.') | first }}" +system_domain: "{{ (inventory_hostname | split('.'))[1:] | join('.') }}" +# system_domain: "lan.test" +system_fqdn: "{{ system_hostname }}.{{ system_domain }}" \ No newline at end of file diff --git a/roles/os_base/tasks/main.yml b/roles/os_base/tasks/main.yml index 1decf69..d3599ea 100644 --- a/roles/os_base/tasks/main.yml +++ b/roles/os_base/tasks/main.yml @@ -8,7 +8,11 @@ role_config: system_accounts: "{{ system_accounts }}" system_packages: "{{ system_packages }}" + system_hostname: "{{ system_hostname }}" + system_domain: "{{ system_domain }}" + system_fqdn: "{{ system_fqdn }}" tasks: + - "Configure system hostname, domain and fqdn" - Ensure system security groups are present - Create system users from system_accounts - Ensure ssh keys are correctly deployed @@ -18,6 +22,23 @@ tags: - config_show +# Configure system fqdn +# ========================== +- name: Configure system hostname in /etc/hosts + ansible.builtin.lineinfile: + path: /etc/hosts + regexp: '^127\.0\.1\.1 ' + line: '127.0.1.1 {{ system_fqdn }} {{ system_hostname }}' + state: present + register: machine_name_changed + +- name: "Apply system hostname (changed={{ machine_name_changed.changed }})" + ansible.builtin.shell: + cmd: "test '{{ ansible_check_mode|lower }}' == true || hostnamectl set-hostname {{ system_fqdn }}" + when: machine_name_changed.changed + changed_when: true + check_mode: false + # Configure groups and users # ==========================