From b854644d4aa5293dccd03bcb7242234e2fede5a8 Mon Sep 17 00:00:00 2001
From: Jan Philipp Timme <jan.philipp@timme.it>
Date: Tue, 3 Dec 2019 18:05:52 +0100
Subject: [PATCH] Add new state to manage /etc/hostname and /etc/hosts

---
 hshbase/hostname/files/hosts | 20 ++++++++++++++++++++
 hshbase/hostname/init.sls    | 12 ++++++++++++
 hshbase/init.sls             |  1 +
 3 files changed, 33 insertions(+)
 create mode 100644 hshbase/hostname/files/hosts
 create mode 100644 hshbase/hostname/init.sls

diff --git a/hshbase/hostname/files/hosts b/hshbase/hostname/files/hosts
new file mode 100644
index 0000000..20d45e3
--- /dev/null
+++ b/hshbase/hostname/files/hosts
@@ -0,0 +1,20 @@
+### THIS FILE IS MANAGED BY SALT!
+### YOUR CHANGES WILL BE OVERWRITTEN!
+127.0.0.1	localhost
+
+# The following lines are desirable for IPv6 capable hosts
+::1     localhost ip6-localhost ip6-loopback
+ff02::1 ip6-allnodes
+ff02::2 ip6-allrouters
+
+{%- set fqdn = grains['id'] -%}
+{%- set localname = '' -%}
+{%- if '.' in grains['id'] -%}
+{%- set localname = fqdn.split('.')[0] -%}
+{%- endif %}
+
+{% for ip in grains['ipv4'] -%}
+{%- if ip != '127.0.0.1'%}
+{{ ip }}	{{ fqdn }} {{ localname }} 
+{%- endif %}
+{%- endfor %}
diff --git a/hshbase/hostname/init.sls b/hshbase/hostname/init.sls
new file mode 100644
index 0000000..4a4c62e
--- /dev/null
+++ b/hshbase/hostname/init.sls
@@ -0,0 +1,12 @@
+
+hsh_etc_hostname_content:
+  file.managed:
+    - name: /etc/hostname
+    - contents: |
+        {{ grains['id'] }}
+
+hsh_etc_hosts_content:
+  file.managed:
+    - name: /etc/hosts
+    - template: jinja
+    - source: salt://hshbase/hostname/files/hosts
diff --git a/hshbase/init.sls b/hshbase/init.sls
index 706fd03..06815f1 100644
--- a/hshbase/init.sls
+++ b/hshbase/init.sls
@@ -8,3 +8,4 @@ include:
   - .openvmtools
   - .time
   - .locale
+  - .hostname
-- 
GitLab