Hello,
We (NetworkManager) are working on a tool that should help configuring NetworkManager in cloud.
This is for example for configuring the secondary IP addresses on AWS/EC2 ([1], [2])
[1] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-centos-rhel-secon... [2] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-...
It's inspired by and serves a similar purpose as SuSE's cloud-netconfig ([3], [4]) and ec2-net-utils package on Amazon Linux ([5]).
[3] https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/ [4] https://github.com/SUSE-Enceladus/cloud-netconfig [5] https://github.com/aws/ec2-net-utils
The tool can be triggered via a systemd.timer and/or a NetworkManager dispatcher scripts. Then it fetches meta data from the Instance Metadata Service (thereby detecting whether it runs in a cloud environment). Finally it configures the networking using NetworkManager.
Currently it only supports EC2 and IPv4. But if the tool shows to be useful, it could be extended to also support other cloud providers (Azure).
There is a merge request on review ([6], [7]). There is a bit of a hurry to get this merged, because it should make the cut for the next NetworkManager release. So, I will merge it soon to master, albeit still in an experimental state.
[6] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/... [7] https://bugzilla.redhat.com/show_bug.cgi?id=1642461
The plan is that cloud images could install and enable the tool, so you boot a (Fedora) image and networking would just work.
Is there interrest in something like this? Any comments, questions?
best, Thomas
On 11/27/19 4:50 PM, Thomas Haller wrote:
Hello,
We (NetworkManager) are working on a tool that should help configuring NetworkManager in cloud.
This is for example for configuring the secondary IP addresses on AWS/EC2 ([1], [2])
[1] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-centos-rhel-secon... [2] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-...
It's inspired by and serves a similar purpose as SuSE's cloud-netconfig ([3], [4]) and ec2-net-utils package on Amazon Linux ([5]).
[3] https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/ [4] https://github.com/SUSE-Enceladus/cloud-netconfig [5] https://github.com/aws/ec2-net-utils
The tool can be triggered via a systemd.timer and/or a NetworkManager dispatcher scripts. Then it fetches meta data from the Instance Metadata Service (thereby detecting whether it runs in a cloud environment). Finally it configures the networking using NetworkManager.
Currently it only supports EC2 and IPv4. But if the tool shows to be useful, it could be extended to also support other cloud providers (Azure).
There is a merge request on review ([6], [7]). There is a bit of a hurry to get this merged, because it should make the cut for the next NetworkManager release. So, I will merge it soon to master, albeit still in an experimental state.
[6] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/... [7] https://bugzilla.redhat.com/show_bug.cgi?id=1642461
The plan is that cloud images could install and enable the tool, so you boot a (Fedora) image and networking would just work.
Is there interrest in something like this? Any comments, questions?
I think the cloud images are already using Network Manager. Would we need to include another rpm and enable a service?
Dusty
On Mon, 2019-12-02 at 14:27 -0500, Dusty Mabe wrote:
On 11/27/19 4:50 PM, Thomas Haller wrote:
Hello,
We (NetworkManager) are working on a tool that should help configuring NetworkManager in cloud.
This is for example for configuring the secondary IP addresses on AWS/EC2 ([1], [2])
[1] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-centos-rhel-secon... [2] https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-...
It's inspired by and serves a similar purpose as SuSE's cloud- netconfig ([3], [4]) and ec2-net-utils package on Amazon Linux ([5]).
[3] https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/ [4] https://github.com/SUSE-Enceladus/cloud-netconfig [5] https://github.com/aws/ec2-net-utils
The tool can be triggered via a systemd.timer and/or a NetworkManager dispatcher scripts. Then it fetches meta data from the Instance Metadata Service (thereby detecting whether it runs in a cloud environment). Finally it configures the networking using NetworkManager.
Currently it only supports EC2 and IPv4. But if the tool shows to be useful, it could be extended to also support other cloud providers (Azure).
There is a merge request on review ([6], [7]). There is a bit of a hurry to get this merged, because it should make the cut for the next NetworkManager release. So, I will merge it soon to master, albeit still in an experimental state.
[6] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/... [7] https://bugzilla.redhat.com/show_bug.cgi?id=1642461
The plan is that cloud images could install and enable the tool, so you boot a (Fedora) image and networking would just work.
Is there interrest in something like this? Any comments, questions?
I think the cloud images are already using Network Manager. Would we need to include another rpm and enable a service?
Yes, that would be the idea. It's called NetworkManager-cloud-setup and now built in Fedora 32: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fbcebb7cb3
(note: it's still experimental. It definitely needs first better testing).
best, Thomas
On Tue, 2019-12-03 at 15:06 +0100, Thomas Haller wrote:
On Mon, 2019-12-02 at 14:27 -0500, Dusty Mabe wrote:
On 11/27/19 4:50 PM, Thomas Haller wrote:
I think the cloud images are already using Network Manager. Would we need to include another rpm and enable a service?
Yes, that would be the idea. It's called NetworkManager-cloud-setup and now built in Fedora 32: https://bodhi.fedoraproject.org/updates/FEDORA-2019-fbcebb7cb3
(note: it's still experimental. It definitely needs first better testing).
Btw, in a cloud image you probably anyway run something like cloud-init (or e.g. Ignition on CoreOS) to pick up various settings from the cloud environment. If you detect that you run in a certain cloud, cloud-init could enable the tool.
That would be an alternative to have nm-cloud-setup enabled in your cloud image by default.
best, Thomas