summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvteratipally <67723486+vteratipally@users.noreply.github.com>2022-01-20 14:26:02 -0800
committerGitHub <noreply@github.com>2022-01-20 16:26:02 -0600
commit2a08d592f7fbdb64452eb2da14592ae5aec806ea (patch)
tree320cfddf64504d062a99e72cb7ba022e23a3487c
parent6c8770f5336c8c74dc8208f50ab0a479363d1332 (diff)
downloadvyos-cloud-init-2a08d592f7fbdb64452eb2da14592ae5aec806ea.tar.gz
vyos-cloud-init-2a08d592f7fbdb64452eb2da14592ae5aec806ea.zip
Add support for gentoo templates and cloud.cfg (#1179)
-rw-r--r--config/cloud.cfg.tmpl8
-rw-r--r--templates/hosts.gentoo.tmpl23
-rw-r--r--tests/unittests/test_render_cloudcfg.py1
-rwxr-xr-xtools/render-cloudcfg2
4 files changed, 31 insertions, 3 deletions
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
index 37c223f3..fb4b456c 100644
--- a/config/cloud.cfg.tmpl
+++ b/config/cloud.cfg.tmpl
@@ -177,7 +177,7 @@ cloud_final_modules:
system_info:
# This will affect which distro class gets used
{% if variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "debian",
- "eurolinux", "fedora", "freebsd", "netbsd", "miraclelinux", "openbsd", "openEuler",
+ "eurolinux", "fedora", "freebsd", "gentoo", "netbsd", "miraclelinux", "openbsd", "openEuler",
"photon", "rhel", "rocky", "suse", "ubuntu", "virtuozzo"] %}
distro: {{ variant }}
{% elif variant in ["dragonfly"] %}
@@ -232,7 +232,7 @@ system_info:
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh
{% elif variant in ["almalinux", "alpine", "amazon", "arch", "centos", "cloudlinux", "eurolinux",
- "fedora", "miraclelinux", "openEuler", "rhel", "rocky", "suse", "virtuozzo"] %}
+ "fedora", "gentoo", "miraclelinux", "openEuler", "rhel", "rocky", "suse", "virtuozzo"] %}
# Default user name + that default users groups (if added/used)
default_user:
{% if variant == "amazon" %}
@@ -246,6 +246,10 @@ system_info:
{% endif %}
{% if variant == "suse" %}
groups: [cdrom, users]
+{% elif variant == "gentoo" %}
+ groups: [users, wheel]
+ primary_group: users
+ no_user_group: true
{% elif variant == "alpine" %}
groups: [adm, sudo]
{% elif variant == "arch" %}
diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
new file mode 100644
index 00000000..cc5e6f00
--- /dev/null
+++ b/templates/hosts.gentoo.tmpl
@@ -0,0 +1,23 @@
+## 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/tests/unittests/test_render_cloudcfg.py b/tests/unittests/test_render_cloudcfg.py
index 01a728da..30fbd1a4 100644
--- a/tests/unittests/test_render_cloudcfg.py
+++ b/tests/unittests/test_render_cloudcfg.py
@@ -16,6 +16,7 @@ DISTRO_VARIANTS = [
"eurolinux",
"fedora",
"freebsd",
+ "gentoo",
"netbsd",
"openbsd",
"photon",
diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
index c14097b5..176df36b 100755
--- a/tools/render-cloudcfg
+++ b/tools/render-cloudcfg
@@ -4,7 +4,6 @@ import os
import sys
import argparse
-
def main():
_tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
sys.path.insert(0, _tdir)
@@ -21,6 +20,7 @@ def main():
"eurolinux",
"fedora",
"freebsd",
+ "gentoo",
"miraclelinux",
"netbsd",
"openbsd",