@Greg_Simpson Thanks for the detailed documentation you provided above!
The NetworkManager dependency was introduced via this github issue:
opened 03:50PM - 09 Oct 23 UTC
closed 05:00PM - 12 Dec 23 UTC
We use nmcli (Network Manager cli) and expect the associated systemd service, Ne… tworkManager, to be enabled and running. As such, it is proposed that we explicitly 'Require' this service within our own systemd services.
## Current explicit 'Require's in our systemd services
| service | Requires |
| -- | -- |
| rockstor-pre | postgresql.service |
| rockstor | rockstor-pre |
| rockstor-bootstrap | rockstor |
| rockstor-hdparm | systemd-udev-settle |
Our installer already establishes this service, but it can only help to be explicit. This may also help with speeding up on-boarding for those doing rpm installs without first referencing our following doc entry:
**Install on Vanilla openSUSE/SuSE SLES**: https://rockstor.com/docs/howtos/rpm_install.html
And in ground-up developmental setups, or deployments experimenting with new OS bases.
N.B. the postgresql.service `/usr/lib/systemd/system/postgresql.service` has the following:
`After=network.target`
however on some of our current and likely future platforms this does not imply/guarantee the NetworkManager.service but could for example still be provided by the wicked.service.
and subsequently addressed with this PR:
rockstor:testing
← phillxnet:2685-Make-explicit-to-systemd-our-NetworkManager-dependency
opened 11:59AM - 12 Dec 23 UTC
Adds `After` & `Requires` for NetworkManager.service to rockstor-pre.service. P… rimarily to surface to admins our dependency on nmcli.
Fixes #2685
## Testing:
### Before:
```
rleap15-5:~ # systemd-analyze dot --require rockstor-pre.service
digraph systemd {
"rockstor-pre.service"->"-.mount" [color="black"];
"rockstor-pre.service"->"sysinit.target" [color="black"];
"rockstor-pre.service"->"system.slice" [color="black"];
"rockstor-pre.service"->"postgresql.service" [color="black"];
"rockstor-pre.service"->"opt.mount" [color="black"];
"rockstor-pre.service"->"shutdown.target" [color="red"];
"rockstor.service"->"rockstor-pre.service" [color="black"];
}
...
```
### After:
```
lbuildvm:~ # systemd-analyze dot --require rockstor-pre.service
digraph systemd {
"rockstor-pre.service"->"NetworkManager.service" [color="black"];
"rockstor-pre.service"->"system.slice" [color="black"];
"rockstor-pre.service"->"postgresql.service" [color="black"];
"rockstor-pre.service"->"sysinit.target" [color="black"];
"rockstor-pre.service"->"-.mount" [color="black"];
"rockstor-pre.service"->"opt.mount" [color="black"];
"rockstor-pre.service"->"shutdown.target" [color="red"];
"rockstor.service"->"rockstor-pre.service" [color="black"];
"multi-user.target"->"rockstor-pre.service" [color="grey66"];
}
...
```
# Caveat
We seem to have now inherited, via the new association/requires, the multi-user.target. This may well put us a little later on in the boot sequence.
I believe, the thinking was that the network in a NAS is a critical component that should be up, since the UI depends on it as well as other connectivity.
You could at least test by removing that dependency in the service temporarily and see whether that works for you. I myself have experienced some intermittent issues with the NetworkManager running into trouble due to it taking to long bringing up a network adapter, so since the bonding process takes a while (too long for Network Manager) that might be your option …
I believe there probably is a need for a longer-term solution in this space, though as there has not been much, if any development in the bonding space since moving to Rockstor on OpenSUSE.
I assume, you also had a peek at this thread?
Update: the issue is that libteam-tools and libteam5 are not installed by default in the opensuse kernel used, nor in the latest stable kernel. this leads to a missing support for team_mode_lacp, confirmed by checking /proc/config.gz that lists all the
I had to update the kernel to latest, install both packages and bingo.
Steps (summarized by ChatGPT):
Step 1: Switch to a Compatible Kernel
Added the Kernel:Stable repository to access a newer kernel version with LACP support:
sudo zypper ar /…
May be @Dahita has some additional insights in their pursuits …
1 Like