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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154 | diff --git a/doc/rtd/topics/datasources/nocloud.rst b/doc/rtd/topics/datasources/nocloud.rst
index 9afff8f..ba4d199 100644
--- a/doc/rtd/topics/datasources/nocloud.rst
+++ b/doc/rtd/topics/datasources/nocloud.rst
@@ -72,6 +72,27 @@ Example metadata:
gateway 192.168.1.254
hostname: myhost
+
+**HELPME(link Config V1 and Config V2 here))**
+Network configuration can also be provided to cloud-init in
+either Network Config v1 or Network Config v2 by providing that
+yaml formatted data in a file named ``network-config``. If found,
+this file will override a ``network-interfaces`` file.
+
+See an example below. Note specifically that this file does not
+have a top level ``network`` key as it it is already assumed to
+be network configuration based on the filename.
+
+**HELPME(give a example below, ideally that does the same thing as the ENI
+above))**
+
+.. code:: yaml
+
+ version: 1
+ config:
+ ...
+
+
.. _iso9660: https://en.wikipedia.org/wiki/ISO_9660
.. _vfat: https://en.wikipedia.org/wiki/File_Allocation_Table
.. vi: textwidth=78
diff --git a/doc/rtd/topics/network-config-format-eni.rst b/doc/rtd/topics/network-config-format-eni.rst
index c09522f..3717f43 100644
--- a/doc/rtd/topics/network-config-format-eni.rst
+++ b/doc/rtd/topics/network-config-format-eni.rst
@@ -3,11 +3,14 @@
Network Configuration ENI (Legacy)
----------------------------------
-`Cloud-init`_ supports reading and writing network config in the ``ENI`` format
-which is consumed by the ``ifupdown`` tool to parse and apply network
+`Cloud-init`_ supports reading and writing network config in the ``ENI``
+format which is consumed by the ``ifupdown`` tool to parse and apply network
configuration.
-As an input format this is **legacy** and `Cloud-init`_ will perfer either :ref:`network_config_v1` or :ref:`network_config_v2`.
+As an input format this is **legacy** and `Cloud-init`_. In cases where
+ENI format is available and another format is also available, it will
+prefer to use the other format. This can happen in either `NoCloud` or
+`Openstack` datasources.
Please reference existing `documentation`_ for the ``/etc/network/interfaces(5)`` format.
diff --git a/doc/rtd/topics/network-config-format-v1.rst b/doc/rtd/topics/network-config-format-v1.rst
index f35a987..40ec916 100644
--- a/doc/rtd/topics/network-config-format-v1.rst
+++ b/doc/rtd/topics/network-config-format-v1.rst
@@ -7,10 +7,12 @@ This network configuration format lets users customize their instance's
networking interfaces by assigning subnet configuration, virtual device
creation (bonds, bridges, vlans) routes and DNS configuration.
-Cloud-init accepts a YAML input under the ``system_info`` config
-namespace. The ``network_config`` key indicate that a user would like to
-specify a custom networking configuration. Required elements of a network
-configuration are ``config`` and ``version``. :
+Required elements of a Network Config Version 1 are ``config`` and
+``version``.
+
+Cloud-init will read this format from system config.
+For example the following could be present in
+``/etc/cloud/cloud.cfg.d/custom-networking.cfg``:
.. code-block:: yaml
@@ -22,6 +24,10 @@ configuration are ``config`` and ``version``. :
subnets:
- type: dhcp
+**HELPME(link NoCloud Here))**
+The :ref:`NoCloud` datasource can also provide cloud-init networking
+configuration in this Format.
+
Configuration Types
-------------------
Within the network ``config`` portion, users include a list of configuration
diff --git a/doc/rtd/topics/network-config-format-v2.rst b/doc/rtd/topics/network-config-format-v2.rst
index a7d3a4d..22feffc 100644
--- a/doc/rtd/topics/network-config-format-v2.rst
+++ b/doc/rtd/topics/network-config-format-v2.rst
@@ -8,15 +8,21 @@ version 2 format defined for the `netplan`_ tool. Cloud-init supports
both reading and writing of Version 2; the latter support requires a
distro with `netplan`_ present.
-Cloud-init accepts network configuration in the form of YAML input ``network``
-namespace. It may also be provided in other locations, see :ref:`default_behavior`
-for details. The ``network`` key has at least two required elements. First
-it must include ``version: 2`` and one or more of possible device ``types``. ::
+The ``network`` key has at least two required elements. First
+it must include ``version: 2`` and one or more of possible device
+``types``..
+
+Cloud-init will read this format from system config.
+For example the following could be present in
+``/etc/cloud/cloud.cfg.d/custom-networking.cfg``:
network:
version: 2
ethernets: []
+It may also be provided in other locations including the :ref:`NoCloud`
+datasource. see :ref:`default_behavior` for other places.
+
Supported device ``types`` values are as follows:
- Ethernets (``ethernets``)
diff --git a/doc/rtd/topics/network-config.rst b/doc/rtd/topics/network-config.rst
index 0138c9b..cd2480a 100644
--- a/doc/rtd/topics/network-config.rst
+++ b/doc/rtd/topics/network-config.rst
@@ -65,8 +65,9 @@ In the combined cloud-init configuration dictionary. ::
network:
config: disabled
-If `Cloud-init`_ 's networking config has not been disabled, then
-it will proceed to generate a fallback networking configuration.
+If `Cloud-init`_ 's networking config has not been disabled, and
+no other network information is found, then it will proceed
+to generate a fallback networking configuration.
Fallback Network Configuration
@@ -157,8 +158,7 @@ supported formats. The following ``renderers`` are supported in cloud-init:
- **ENI**
/etc/network/interfaces or ``ENI`` is supported by the ``ifupdown`` package
-found in Ubuntu and Debian. `Cloud-init`_ considered this format legacy and
-prefers either :ref:`network_config_v1` or :ref:`network_config_v2`.
+found in Ubuntu and Debian.
- **Netplan**
@@ -244,11 +244,6 @@ Example output convertion V2 to sysconfig:
USERCTL=no
-Examples
-========
-
-
-
.. _Cloud-init: https://launchpad.net/cloud-init
.. _DigitalOcean JSON metadata: https://developers.digitalocean.com/documentation/metadata/#network-interfaces-index
.. _OpenStack Metadata Service Network: https://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/metadata-service-network-info.html
|