~thetoolsmith/cloud-init:main

Last commit made on 2022-03-01
Get this branch:
git clone -b main https://git.launchpad.net/~thetoolsmith/cloud-init
Only paul bruno can upload to this branch. If you are paul bruno please log in for upload directions.

Branch merges

Branch information

Name:
main
Repository:
lp:~thetoolsmith/cloud-init

Recent commits

f99bb8c... by Chris Patterson <email address hidden>

net/dhcp: surface type of DHCP lease failure to caller (#1276)

When performing DHCP, it is useful for the caller to have context
on the type of failure. This can be done with some new exceptions
types, subclassing NoDHCPLeaseError so the caller's current
contract remains.

- Add the following errors:

  - NoDHCPLeaseInterfaceError if there are problems finding
  the (possibly specified) interface.

  - NoDHCPLeaseMissingDhclientError for missing dhclient.

- Update InvalidDHCPLeaseFileError to subclass NoDHCPLeaseError.

- Pass through these errors rather than catching it in obtain_lease().

Tests:

- Add missing mock for test_provided_nic_does_not_exist().

- Add new test coverage for EphemeralDHCPv4 errors.

- Update existing tests for maybe_perform_dhcp_discovery() to match
  new behavior.

Signed-off-by: Chris Patterson <email address hidden>

3642ed7... by Robert Schweikert

Stop hardcoding systemctl location (#1278)

Expect that "systemctl" is found in the PATH. Using the '/bin' prefix
is very distribution specific. A number of distributions are moving
all executables from '/' to '/usr'.

f106b2f... by Brett Holman <email address hidden>

Remove python2 syntax from docs (#1310)

c7a30fd... by Adam Collard <email address hidden>

[tools/migrate-lp-user-to-github] Rename master branch to main (#1301)

Blacken the script.

8f445ae... by Lubomir Rintel

redhat: Depend on "hostname" package (#1288)

The hostname command, that cloud-init uses to apply a hostname change,
is in a package that is typically around, but not guarranteed to be.

Include it in package dependencies.

feda344... by Lubomir Rintel

Add native NetworkManager support (#1224)

Fedora currently relies on sysconfig/ifcfg renderer. This is not too great,
because Fedora (also RHEL since version 8) dropped support for the legacy
network service that uses ifcfg files long ago.

In turn, Fedora ended up patching cloud-init downstream to utilize
NetworkManager's ifcfg compatibility mode [1]. This seems to have worked
for a while, nevertheless the NetworkManager's ifcfg backend is reaching
the end of its useful life too [2].

[1] https://src.fedoraproject.org/rpms/cloud-init/blob/rawhide/f/cloud-init-21.3-nm-controlled.patch
[2] https://fedoraproject.org/wiki/Changes/NoIfcfgFiles

Let's not mangle things downstream and make vanilla cloud-init work great
on Fedora instead.

This also means that the sysconfig compatibility with
Network Manager was removed.

Firstly, this relies upon the fact that you can get ifcfg support by adding
it to NetworkManager.conf. That is not guaranteed and certainly will not
be case in future.

Secondly, cloud-init always generates configuration with
NM_CONTROLLED=no, so the generated ifcfg files are no good for
NetworkManager. Fedora patches around this by just removing those lines
in their cloud-init package.

5c297cf... by Adam Collard <email address hidden>

Fix link in CLA check to point to contribution guide. (#1299)

f68c5d5... by Adam Collard <email address hidden>

lp-to-git-users: adding sparkiegeek (#1300)

Mapped from adam-collard

2e17a0d... by Shreenidhi Shedi <email address hidden>

check for existing symlink while force creating symlink (#1281)

If a dead symlink by the same name is present, os.path.exists returns
false, use os.path.lexists instead.

Signed-off-by: Shreenidhi Shedi <email address hidden>

2837b83... by Brett Holman <email address hidden>

Do not silently ignore integer uid (#1280)

The docs do not make it obvious that uid is supposed to be of type string.
Current behavior is to silently ignore integer uid.

LP: #1875772