From c951963ffa94145be1bd5f1cef7dba6007f75bd2 Mon Sep 17 00:00:00 2001 From: Gonéri Le Bouder Date: Tue, 28 May 2019 16:23:30 +0000 Subject: freebsd: fix the name of cloudcfg VARIANT config/cloud.cfg.tmpl uses 'freebsd', not 'bsd' to identify FreeBSD. --- tools/render-cloudcfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools/render-cloudcfg') diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg index 8b7cb875..0957c324 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 = ["freebsd", "centos", "fedora", "rhel", "suse", "ubuntu", "unknown"] if "avoid-pep8-E402-import-not-top-of-file": _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) -- cgit v1.2.3 From 5d5a32e039782ce3e1c0843082fe26260fa9273a Mon Sep 17 00:00:00 2001 From: Conrad Hoffmann Date: Tue, 1 Oct 2019 20:43:29 +0000 Subject: Add support for Arch Linux in render-cloudcfg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit  - Detect Arch Linux and set variant accordingly in `system_info()`  - Allow setting render-cloudcfg variant parameter to 'arch'  - Adjust some basic settings for Arch Linux in the cloud.cfg.tmpl The template might need some additional Arch-specific tweaks in the future, but at least for now the generated config works and contains the most relevant modules. Also: - Sort distro variant lists when adding Arch - Add debian to known variants in render-cloudcfg --- cloudinit/util.py | 3 ++- config/cloud.cfg.tmpl | 6 ++++-- tools/render-cloudcfg | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'tools/render-cloudcfg') diff --git a/cloudinit/util.py b/cloudinit/util.py index 6e8e73b0..0d338ca7 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -656,7 +656,8 @@ def system_info(): var = 'unknown' if system == "linux": linux_dist = info['dist'][0].lower() - if linux_dist in ('centos', 'debian', 'fedora', 'rhel', 'suse'): + if linux_dist in ( + 'arch', 'centos', 'debian', 'fedora', 'rhel', 'suse'): var = linux_dist elif linux_dist in ('ubuntu', 'linuxmint', 'mint'): var = 'ubuntu' diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl index 684c7473..87c37ba0 100644 --- a/config/cloud.cfg.tmpl +++ b/config/cloud.cfg.tmpl @@ -137,7 +137,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 ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %} distro: {{ variant }} {% else %} # Unknown/fallback distro. @@ -185,7 +185,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 ["arch", "centos", "fedora", "rhel", "suse"] %} # Default user name + that default users groups (if added/used) default_user: name: {{ variant }} @@ -193,6 +193,8 @@ system_info: gecos: {{ variant }} Cloud User {% if variant == "suse" %} groups: [cdrom, users] +{% elif variant == "arch" %} + groups: [wheel, users] {% else %} groups: [wheel, adm, systemd-journal] {% endif %} diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg index 0957c324..a441f4ff 100755 --- a/tools/render-cloudcfg +++ b/tools/render-cloudcfg @@ -4,7 +4,8 @@ import argparse import os import sys -VARIANTS = ["freebsd", "centos", "fedora", "rhel", "suse", "ubuntu", "unknown"] +VARIANTS = ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", + "ubuntu", "unknown"] if "avoid-pep8-E402-import-not-top-of-file": _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) -- cgit v1.2.3 From cf2f7a9c4a584bd3cfb265013fbed95836341919 Mon Sep 17 00:00:00 2001 From: Frederick Lefebvre Date: Fri, 20 Dec 2019 15:15:16 -0800 Subject: Add support for the amazon variant in cloud.cfg.tmpl (#119) --- config/cloud.cfg.tmpl | 22 +++++++++++++++++++--- tools/render-cloudcfg | 4 ++-- 2 files changed, 21 insertions(+), 5 deletions(-) (limited to 'tools/render-cloudcfg') diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl index 18ab0ac5..99f96ea1 100644 --- a/config/cloud.cfg.tmpl +++ b/config/cloud.cfg.tmpl @@ -21,8 +21,11 @@ disable_root: false disable_root: true {% endif %} -{% if variant in ["centos", "fedora", "rhel"] %} +{% if variant in ["amazon", "centos", "fedora", "rhel"] %} mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2'] +{% if variant == "amazon" %} +resize_rootfs: noblock +{% endif %} resize_rootfs_tmp: /dev ssh_pwauth: 0 @@ -42,6 +45,13 @@ datasource_list: ['NoCloud', 'ConfigDrive', 'Azure', 'OpenStack', 'Ec2'] # timeout: 5 # (defaults to 50 seconds) # max_wait: 10 # (defaults to 120 seconds) + +{% if variant == "amazon" %} +# Amazon Linux relies on ec2-net-utils for network configuration +network: + config: disabled +{% endif %} + # The modules that run in the 'init' stage cloud_init_modules: - migrator @@ -133,7 +143,7 @@ cloud_final_modules: # (not accessible to handlers/transforms) system_info: # This will affect which distro class gets used -{% if variant in ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %} +{% if variant in ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %} distro: {{ variant }} {% else %} # Unknown/fallback distro. @@ -181,12 +191,18 @@ system_info: primary: http://ports.ubuntu.com/ubuntu-ports security: http://ports.ubuntu.com/ubuntu-ports ssh_svcname: ssh -{% elif variant in ["arch", "centos", "fedora", "rhel", "suse"] %} +{% elif variant in ["amazon", "arch", "centos", "fedora", "rhel", "suse"] %} # Default user name + that default users groups (if added/used) default_user: +{% if variant == "amazon" %} + name: ec2-user + lock_passwd: True + gecos: EC2 Default User +{% else %} name: {{ variant }} lock_passwd: True gecos: {{ variant }} Cloud User +{% endif %} {% if variant == "suse" %} groups: [cdrom, users] {% elif variant == "arch" %} diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg index a441f4ff..3d5fa725 100755 --- a/tools/render-cloudcfg +++ b/tools/render-cloudcfg @@ -4,8 +4,8 @@ import argparse import os import sys -VARIANTS = ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", - "ubuntu", "unknown"] +VARIANTS = ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel", + "suse", "ubuntu", "unknown"] if "avoid-pep8-E402-import-not-top-of-file": _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) -- cgit v1.2.3