vmware-archive / salt-pack

Salt Package Builder
Apache License 2.0
55 stars 23 forks source link

Add ifupdown as a dependency for Salt on Ubuntu 18.04 and greater #682

Closed dmurphy18 closed 4 years ago

dmurphy18 commented 5 years ago

See https://github.com/saltstack/salt/issues/49078

From Ubuntu 18.04.1 LTS Release notes

ifupdown has been deprecated in favor of netplan.io and is no longer present on new installs. The installer will generate a configuration file for netplan.io in the /etc/netplan directory. This netplan.io configuration in turn renders backend-specific configuration via either systemd-networkd or NetworkManager. Desktop users will see their system fully managed via NetworkManager as it has been the case in previous releases. Server users will now see their network devices managed via systemd-networkd. This only applies to new installations.

smaragd commented 4 years ago

Was this dependency just added in the salt-common Ubuntu package for 2019.2.1+ds-1? Because when upgrading to the latest Salt version on our minions today, the ifupdown package got pulled into all our 18.04 systems that are happily running netplan and don't really need it otherwise.

Before, without ifupdown dependency:

Package: salt-common
Version: 2019.2.0+ds-1
Priority: extra
Section: admin
Source: salt
Maintainer: Debian Salt Team <pkg-salt-team@lists.alioth.debian.org>
Installed-Size: 28.6 MB
Depends: python-apt, python-dateutil, python-jinja2, python-msgpack (>= 0.4),
    python-pkg-resources, python-requests (>= 1.0.0), python-concurrent.futures,
    python-tornado (>= 4.2.1), python-yaml, python-systemd, python-psutil, python-gnupg,
    python:any (<< 2.8), python:any (>= 2.7.5-5~)

Now, with ifupdown dependency:

Package: salt-common
Version: 2019.2.1+ds-1
Priority: extra
Section: admin
Source: salt
Maintainer: Debian Salt Team <pkg-salt-team@lists.alioth.debian.org>
Installed-Size: 28.8 MB
Depends: python-apt, python-dateutil, python-jinja2, python-msgpack (>= 0.4),
    python-pkg-resources, python-requests (>= 1.0.0), python-concurrent.futures,
    python-tornado (>= 4.2.1), python-yaml, python-systemd, python-psutil, python-gnupg,
    ifupdown, python:any (<< 2.8), python:any (>= 2.7.5-5~)

On some 18.04 minions, where we still had an /etc/network/interfaces file from pre-18.04, the system went back to using ifupdown to configure the network interfaces after salt-common pulled in the previously purged ifupdown package.

What was the motivation for a hard-dependency of the ifupdown package in the salt-common Ubuntu package?

dmurphy18 commented 4 years ago

Need to change from Depends to Suggests

dmurphy18 commented 4 years ago

https://github.com/saltstack/salt-pack/pull/703

hsmade commented 4 years ago

This actually breaks installs that use netplan and cloud-init and have the example /etc/network/interfaces installed (which is then empty, apart from comments).

hsmade commented 4 years ago

A workaround while this isn't fixed: remove /etc/network/interfaces (which should only contain comments), and ifupdown will no longer interfere with netplan

remche commented 4 years ago

@hsmade Cloud-init check for binaries to select renderer.

This behavior can be changed, but it might be better to drop ifupdown dependencie. For example, Packer Salt-Masterless provisionner will build network broken VM with 2019.2.1+ packages.

hsmade commented 4 years ago

image Ok, so we're advised to not use this version. However, the previous version has been removed from the repo. So what are we supposed to use now??

remche commented 4 years ago

@hsmade you will find it in archive repository : https://repo.saltstack.com/apt/ubuntu/18.04/amd64/archive/2019.2.0/, or use bootstrap-salt script with stable 2019.2.0 arguments.

dmurphy18 commented 4 years ago

Closing since fixed 2019.2.2.