Since EL9 does not contain the legacy network scripts,
add EL9 support without network-scripts dependency
Signed-off-by: Elkhan Mammadli <elkhan.mammadli@protonmail.com>
- Change the value to 'C' (POSIX) which is more generic
- LANG can be insufficiant and will not override LC_TIME for example if
that was set
- LC_ALL will ensure that all categories of locale are POSIX C
- This commit also provides a way for the scripts to find the original
locale via '_one_orig_*' variables if that would be needed
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
New variable RECOMMENDS can be used as a weak dependency list on rpm and
deb based distros.
The package open-vm-tools is moved to RECOMMENDS on el7 and el8 due to
the absence of arm64 version of these packages in RH distros.
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Update network context
- Rework support for DHCP and DHCP6
- Support new context ETH?_METHOD and ETH?_IP6_METHOD
- Add new loc-10-network netcfg interface: initialize_network
- Wipe out stale netcfg configs to avoid conflicts
- Add reference links for some workarounds
- Fix shellcheck
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Let networkd to use default for IPv6
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Improve cleanup in initialize_network
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Fix Network Manager reconfiguration
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* M #-: Update systemd service descriptions
* F #227: Adapt FreeBSD, support live reconfiguration
* B #239: Use systemctl --no-block in udev on Debian-like
* F #227: Fix unmanaged-devices with NM on ubuntu
Instead of touching 10-globally-managed-devices.conf during netcfg-nm
script we are shipping the file as part of the package. The reason is
that this file must be in place *BEFORE* Network Manager daemon is
started and reload is not sufficiant (read: it does not work). Other
option would be to restarting NM instead of reloading but that would
ifup/down all interfaces which is not a desired behavior especially if
those are in use (recontextualization).
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Improve cleanup for NM
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Fix initialize_network usage and cleanup
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Workaround FreeBSD emul. NIC attach, manage rtsold
* F #227: Fix is_true argument usage
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Improve NM reconfigure
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Fix NM and networkd reconfiguration
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* F #227: Fix netplan's issue with empty stanzas
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
* B #239: Use abs. path /bin/systemctl in Debian-like udev
Closes#239
Co-authored-by: Vlastimil Holer <vholer@opennebula.io>
Periodically runs one-context-reconfigure to poll for changes
in vCenter context metadata to apply. Implemented via:
- systemd timer conditionally started only on vCenter
- cron job which checks for vmware and triggers service on non-systemd
Closes#185
Also enables support for Alpine post-upgrade script with warning
if it's necessary to run update-conf to apply new version of files
in /etc:
```
...
Executing one-context-6.1.80-r0.20210809gitbcd3c5b.post-upgrade
WARNING: Run update-conf to process any updated one-context files in /etc!
Executing busybox-1.33.1-r2.trigger
Executing eudev-3.2.10-r0.trigger
OK: 148 MiB in 118 packages
$ update-conf -l
//etc/one-context.d/loc-09-timezone
//etc/one-context.d/loc-30-console
//etc/one-context.d/loc-10-network
//etc/one-context.d/loc-16-gen-env
```
Closes#163
- Use one script loc-10-network for all systems
- Deduplicate and cleanup the code
- Create a source file with functions
- Remove usage of global variables while using shared functions
- Add support for different network configuration via new context
parameter: CONTEXT_NETCFG_TYPE
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
The default 'awk' _alternative_ on the Debian is an old mawk of version
1.3.3 with plenty of bugs and problems. One of them is the lack of
support for POSIX regex character classes which old mawk does not know
despite the fact that it does advertise a support for extended regex (as
egrep for example).
This was reported and fixed in 2009 with version of 1.3.4 but Debian is
still using the old unfixed version 1.3.3:
https://bugs.launchpad.net/ubuntu/+source/mawk/+bug/69724
This commit workaround this issue by simple test and possible abort if
the usage of an incompatible awk implementation is unreasonable - user
choice.
Note: Currently just only two optional (non-default) tests are skipped
due to this issue.
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
Because MOUNT_DIR can be different than real MOUNT_DIR,
so we would need to pass it to realpath. Which is not on
some legacy systems like RHEL 6 or Ubuntu 14.04.