1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
From 946ce2b005a71e9922654af79bce51fefa16c3d4 Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
Date: Wed, 24 Oct 2018 10:52:46 +0200
Subject: [PATCH 2/2] Add support for gentoo in cloud.cfg and templates
---
config/cloud.cfg.tmpl | 8 ++++++--
templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
tools/render-cloudcfg | 2 +-
3 files changed, 31 insertions(+), 3 deletions(-)
create mode 100644 templates/hosts.gentoo.tmpl
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
index 1fef133a..f66b5f7e 100644
--- a/config/cloud.cfg.tmpl
+++ b/config/cloud.cfg.tmpl
@@ -134,7 +134,7 @@ cloud_final_modules:
# (not accessible to handlers/transforms)
system_info:
# This will affect which distro class gets used
-{% if variant in ["centos", "debian", "fedora", "rhel", "suse", "ubuntu", "freebsd"] %}
+{% if variant in ["centos", "debian", "fedora", "rhel", "suse", "ubuntu", "freebsd", "gentoo"] %}
distro: {{ variant }}
{% else %}
# Unknown/fallback distro.
@@ -172,7 +172,7 @@ system_info:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh
-{% elif variant in ["centos", "rhel", "fedora", "suse"] %}
+{% elif variant in ["centos", "rhel", "fedora", "suse", "gentoo"] %}
# Default user name + that default users groups (if added/used)
default_user:
name: {{ variant }}
@@ -180,6 +180,10 @@ system_info:
gecos: {{ variant }} Cloud User
{% if variant == "suse" %}
groups: [cdrom, users]
+{% elif variant == "gentoo" %}
+ groups: [users, wheel]
+ primary_group: users
+ no-user-group: true
{% else %}
groups: [wheel, adm, systemd-journal]
{% endif %}
diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
new file mode 100644
index 00000000..cd045fa6
--- /dev/null
+++ b/templates/hosts.gentoo.tmpl
@@ -0,0 +1,24 @@
+## template:jinja
+{#
+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
+if enabled in cloud-config. Specifically, in order to enable it
+you need to add the following to config:
+ manage_etc_hosts: True
+-#}
+# Your system has configured 'manage_etc_hosts' as True.
+# As a result, if you wish for changes to this file to persist
+# then you will need to either
+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
+# b.) change or remove the value of 'manage_etc_hosts' in
+# /etc/cloud/cloud.cfg or cloud-config from user-data
+#
+# The following lines are desirable for IPv4 capable hosts
+127.0.0.1 {{fqdn}} {{hostname}}
+127.0.0.1 localhost.localdomain localhost
+127.0.0.1 localhost4.localdomain4 localhost4
+
+# The following lines are desirable for IPv6 capable hosts
+::1 {{fqdn}} {{hostname}}
+::1 localhost.localdomain localhost
+::1 localhost6.localdomain6 localhost6
+
diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
index 8b7cb875..d109044e 100755
--- a/tools/render-cloudcfg
+++ b/tools/render-cloudcfg
@@ -4,7 +4,7 @@ import argparse
import os
import sys
-VARIANTS = ["bsd", "centos", "fedora", "rhel", "suse", "ubuntu", "unknown"]
+VARIANTS = ["bsd", "centos", "fedora", "gentoo", "rhel", "suse", "ubuntu", "unknown"]
if "avoid-pep8-E402-import-not-top-of-file":
_tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
--
2.19.0
|