jfut/ganeti-rpm

Missing dependencies for master-ip-setup

Closed this issue · 5 comments

Ganeti's INSTALL doc mentions, among others, requirements on

  • iproute2
  • arping
  • ndisc6
  • fping

however only iproute is mentioned in the spec file. Unfortunately due to the way tools/master-ip-setup is written, there's no way to detect a missing binary vs a successful test in code like:

  # Check if the master IP address is already configured on another machine
  if fping -c $FPING_PACKET_COUNT -p $FPING_PACKET_INTERVAL_MS \
      $MASTER_IP >/dev/null 2>&1; then
    echo "Error: master IP address configured on another machine." >&2
    exit 1
  fi
  • If fping cannot ping the MASTER_IP address on another machine, we continue.
  • If fping is missing, we also continue.

Please add the necessary Requires lines to ganeti.spec to ensure the master-ip-setup script can run.

Some of the packages require EPEL, but that's already mentioned in the installation tutorial.

jfut commented

Thanks for the request.

I checked and found that what was missing were packages for ndisc6 and fping.

  • iproute2
    • el7: iproute
    • el8: iproute
  • arping
    • el7: iputils
    • el8: iputils
  • ndisc6
    • el7: ndisc6 (EPEL)
    • el8: missing
  • fping
    • el7: fping (EPEL)
    • el8: fping (EPEL)

ndisc6 is provided in EPEL for el7, but it seems that be not yet available for el8. So, we would like to add Requires: fping for both el7 and el8, and Requires: ndisc6 for el7 only for now.

jfut commented

We have just released Ganeti 3.0.1-2 RPM.

Thanks for the fast response.

Unfortunately it seems the ndisc6 Fedora package maintainer is looking to / has already stepped down.
https://bugzilla.redhat.com/show_bug.cgi?id=1779134#c3

I don't have any great suggestions therefore about running Ganeti on RHEL8 with IPv6.

jfut commented

Thanks for sharing the information. If there are more requests for IPv6 support in the future, and if it is still unresolved at that time, I would like to consider building the ndisc6 package for EL8.