Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

d/control: remove netifaces [mantic] #5003

Closed

Conversation

catmsred
Copy link
Collaborator

@catmsred catmsred commented Mar 5, 2024

netifaces is being removed from tip of main in GH-4634. This change also removes it from the Ubuntu packaging.

Test Steps

Untested

Checklist

Merge type

  • Squash merge using "Proposed Commit Message"
  • Rebase and merge unique commits. Requires commit messages per-commit each referencing the pull request number (#<PR_NUM>)

blackboxsw and others added 30 commits May 18, 2022 20:33
Depends: add python3-debconf
Build-Depends: add python3-debconf
Drop deprecated keys: XS-Python-Version and XB-Python-Version.
Fix systemd-service-file-refers-to-unusual-wantedby-target format.
Fix command-with-path-in-maintainer-script for grub-install.
TheRealFalcon and others added 29 commits February 20, 2024 12:48
Saw "cat: /before-local.start-nostatusjson: No such file or directory"
failures. After this change, I no longer see these failures.
…onical#4876)

Unlike the majority of other Linux distros /dev/mapper entries in
Alpine Linux are NOT symlinks to /dev/dm-X block devices but rather are
actual block devices themselves. This is a side-effect of Alpine's use
of mdev, rather than udev, in its initramfs.

Therefore this change works out the corresponding /dev/dm-X for any
/dev/mapper/XYZ device on Alpine.
isc-dhcp-client is no longer supported by upstream

BREAKING CHANGE: dhcpcd has been promoted to the default dhcp client.
Previous behavior can be configured in cloud.cfg via the dhcp_client_priority
key.
Keep dhclient as default client.
patches:
debian/patches/keep-dhclient-as-priority-client.patch
debian/patches/revert-551f560d-cloud-config-after-snap-seeding.patch
…anonical#4935)

Until ubuntu-advantage-tools version 32 is SRU'd to stable series
Pro images will continue to auto-attach by default unless an
ubuntu_advantage key is provided in user-data.

Allow our integration test to provide ubuntu_advantage and ubuntu_pro
keys knowing that any ubuntu_pro config overrides ubuntu_advantage
in latest cloud-init.

This will emit a warning message about preference of ubuntu_pro
over ubuntu_advantage and deprecation warnings, but the integration
test doesn't validate deprecation warnings.

We can drop ubuntu_advantage from our user-data in May when Pro 32
releases.
…canonical#4936)

Fix errors seen on lxd_vm where test service
before-cloud-init-local.service gets run before the filesytem
is mounted read-write.

Test failures exhibit the following failure:
 systemctl status before-cloud-init-local.service:

/waitoncloudinit.sh: 7: cannot create /before-local: Read-only file system
livecd-rootfs changes now place a default /etc/apt/sources.list
file in Ubuntu Noble and later where deb822 feature flag is enabled
in cloud-init.
Assert that the /etc/apt/sources.list content matches expectations.
Focal uses user.network-config while others use
cloud-init.network-config. Ensure we handle all cases approparitely in
test_networking.py

There are also some minor refactors
The one major functional change in this commit is around how we detect
running vs error states. Status reporting has a fundamental problem in
that we can't accurately tell if cloud-init is done because cloud-init
is actually several processes. There isn't always a way to tell whether
a service isn't running because it simply hasn't started yet vs the
service being blocked/crashed and will never start/finish.

In the past, if any of the cloud-init services reported an error, we
would assume that cloud-init as a whole has crashed and report that
cloud-init is "done", but with error. This commit flips that logic to
assume that cloud-init is always running unless we see indication that
cloud-init has completely finished. This means that
`cloud-init status --wait` may run forever if cloud-init has crashed or
is blocked on another service. This is preferable to returning early
and potentially allowing provisioning scripts that wait for cloud-init
to continue provisioning. On systemd-enabled systems, there is extra
logic to inspect the state of the services, so this should rarely be a
problem in practice.

Additionally, this commit includes the following refactoring:
- Split UXAppStatus into RunningStatus and ConditionStatus so they can
  be tracked independently
- Simplify the tabular printing
- On error print extended_status as "error - done" or "error - running"
- Add several helper functions in `get_status_details` to simplify
  logic
- Rename `_get_error_or_running_from_systemd` to `systemd_failed`
  and only return if error is detected
- Change "is running" logic to be determined solely by the existence
  of the status.json and results.json files.
The cloud dir is configurable, so we shouldn't be hardcoding the
hotplug.enabled file location
- Verify that NoCloud smbios seed gets read for file://
- Verify that NoCloud smbios seed gets read from http:// and https://
Bump the version in cloudinit/version.py to 23.4.4 and update ChangeLog.

Co-authored-by: Brett Holman <brett.holman@canonical.com>
patches:
debian/patches/status-do-not-remove-duplicated-data.patch
debian/patches/status-retain-recoverable-error-exit-code.patch
debian/patches/revert-551f560d-cloud-config-after-snap-seeding.patch
patches:
debian/patches/status-do-not-remove-duplicated-data.patch
debian/patches/status-retain-recoverable-error-exit-code.patch
netifaces is being removed from tip of main in canonicalGH-4634.  This change also
removes it from the Ubuntu packaging.
@catmsred catmsred closed this Mar 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.