ad9e5f
From 13ded463a6a0b1b0bf0dffc0a997f006dd25c4f3 Mon Sep 17 00:00:00 2001
ad9e5f
From: Emanuele Giuseppe Esposito <eesposit@redhat.com>
ad9e5f
Date: Thu, 19 May 2022 15:51:27 +0200
ad9e5f
Subject: [PATCH 2/4] Use Network-Manager and Netplan as default renderers for
ad9e5f
 RHEL and Fedora (#1465)
ad9e5f
ad9e5f
RH-Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
ad9e5f
RH-MergeRequest: 57: Add native NetworkManager support (#1224)
ad9e5f
RH-Commit: [2/2] f2f977564bea496b0d76c0cef242959d03c2c73e
ad9e5f
RH-Bugzilla: 2059872
ad9e5f
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
ad9e5f
RH-Acked-by: Jon Maloy <jmaloy@redhat.com>
ad9e5f
RH-Acked-by: Eduardo Otubo <otubo@redhat.com>
ad9e5f
ad9e5f
commit 7703aa98b89c8daba207c28a0422268ead10019a
ad9e5f
Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
ad9e5f
Date:   Thu May 19 15:05:01 2022 +0200
ad9e5f
ad9e5f
    Use Network-Manager and Netplan as default renderers for RHEL and Fedora (#1465)
ad9e5f
ad9e5f
    This is adapted from Neal Gompa's PR:
ad9e5f
    https://github.com/canonical/cloud-init/pull/1435
ad9e5f
ad9e5f
    The only difference is that we are not modifying renderers.py (thus
ad9e5f
    modifying the priority of all distros), but just tweaking cloud.cfg to
ad9e5f
    apply this change to Fedora and RHEL. Other distros can optionally
ad9e5f
    add themselves afterwards.
ad9e5f
ad9e5f
            net: Prefer Netplan and NetworkManager renderers by default
ad9e5f
ad9e5f
            NetworkManager is used by default on a variety of Linux distributions,
ad9e5f
            and exists as a cross-distribution network management service.
ad9e5f
ad9e5f
            Additionally, add information about the NetworkManager renderer to
ad9e5f
            the cloud-init documentation.
ad9e5f
ad9e5f
            Because Netplan can be explicitly used to manage NetworkManager,
ad9e5f
            it needs to be preferred before NetworkManager.
ad9e5f
ad9e5f
            This change is a follow-up to #1224, which added the native
ad9e5f
            NetworkManager renderer.
ad9e5f
            This patch has been deployed on Fedora's cloud-init package throughout
ad9e5f
            the development of Fedora Linux 36 to verify that it works.
ad9e5f
ad9e5f
            This should also make it tremendously easier for Linux distributions
ad9e5f
            to use cloud-init because now a standard configuration is supported
ad9e5f
            by default.
ad9e5f
ad9e5f
            Signed-off-by: Neal Gompa <ngompa13@gmail.com>
ad9e5f
ad9e5f
    Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
ad9e5f
ad9e5f
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
ad9e5f
---
ad9e5f
 config/cloud.cfg.tmpl             |  3 +++
ad9e5f
 doc/rtd/topics/network-config.rst | 12 +++++++++++-
ad9e5f
 2 files changed, 14 insertions(+), 1 deletion(-)
ad9e5f
ad9e5f
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
ad9e5f
index fb4b456c..86beee3c 100644
ad9e5f
--- a/config/cloud.cfg.tmpl
ad9e5f
+++ b/config/cloud.cfg.tmpl
ad9e5f
@@ -330,4 +330,7 @@ system_info:
ad9e5f
 {% elif variant in ["dragonfly"] %}
ad9e5f
    network:
ad9e5f
       renderers: ['freebsd']
ad9e5f
+{% elif variant in ["rhel", "fedora"] %}
ad9e5f
+   network:
ad9e5f
+      renderers: ['netplan', 'network-manager', 'networkd', 'sysconfig', 'eni']
ad9e5f
 {% endif %}
ad9e5f
diff --git a/doc/rtd/topics/network-config.rst b/doc/rtd/topics/network-config.rst
ad9e5f
index c461a3fe..f503caab 100644
ad9e5f
--- a/doc/rtd/topics/network-config.rst
ad9e5f
+++ b/doc/rtd/topics/network-config.rst
ad9e5f
@@ -188,6 +188,15 @@ generated configuration into an internal network configuration state. From
ad9e5f
 this state `Cloud-init`_ delegates rendering of the configuration to Distro
ad9e5f
 supported formats.  The following ``renderers`` are supported in cloud-init:
ad9e5f
 
ad9e5f
+- **NetworkManager**
ad9e5f
+
ad9e5f
+`NetworkManager <https://networkmanager.dev>`_ is the standard Linux network
ad9e5f
+configuration tool suite. It supports a wide range of networking setups.
ad9e5f
+Configuration is typically stored in ``/etc/NetworkManager``.
ad9e5f
+
ad9e5f
+It is the default for a number of Linux distributions, notably Fedora;
ad9e5f
+CentOS/RHEL; and derivatives.
ad9e5f
+
ad9e5f
 - **ENI**
ad9e5f
 
ad9e5f
 /etc/network/interfaces or ``ENI`` is supported by the ``ifupdown`` package
ad9e5f
@@ -215,6 +224,7 @@ is as follows:
ad9e5f
 - ENI
ad9e5f
 - Sysconfig
ad9e5f
 - Netplan
ad9e5f
+- NetworkManager
ad9e5f
 
ad9e5f
 When applying the policy, `Cloud-init`_ checks if the current instance has the
ad9e5f
 correct binaries and paths to support the renderer.  The first renderer that
ad9e5f
@@ -223,7 +233,7 @@ supplying an updated configuration in cloud-config. ::
ad9e5f
 
ad9e5f
   system_info:
ad9e5f
     network:
ad9e5f
-      renderers: ['netplan', 'eni', 'sysconfig', 'freebsd', 'netbsd', 'openbsd']
ad9e5f
+      renderers: ['netplan', 'network-manager', 'eni', 'sysconfig', 'freebsd', 'netbsd', 'openbsd']
ad9e5f
 
ad9e5f
 
ad9e5f
 Network Configuration Tools
ad9e5f
-- 
ad9e5f
2.35.3
ad9e5f