Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-12338

BZ#2246269 os-net-config needs to have two additonal options to handle IPV6_FORCE_ACCEPT_RA and IPV6_SET_SYSCTLS

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • os-net-config
    • os-net-config needs to have two additonal options to handle IPV6_FORCE_ACCEPT_RA and IPV6_SET_SYSCTLS
    • Bug Tracking
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • Committed
    • To Do
    • Committed
    • rhos-dfg-nfv
    • Committed
    • 0% To Do, 0% In Progress, 100% Done

      Description of problem:
      os-net-config needs to have two additional options to handle IPV6_FORCE_ACCEPT_RA and IPV6_SET_SYSCTLS.

      Additionally os-net-config should be able to set IPV6_GWADDR

      In IPv6 only and spin-leaf environment, default routing information provided by router adevertisement(RA) is important information to set default route.

      It affects to the communication to other leafs nodes, controller, compute or etc.

      Currently, os-net-config sets IPV6_AUTOCONF=no if v6_addresses is assigned.
      This implementation itself isn't a matter.

      However, ifup-ipv6 script has the following section.
      ~~~

      1. Set some proc switches depending on defines
        if is_true "$IPV6FORWARDING"; then
        :
        else
      2. Global forwarding should be disabled
      1. Check, if global IPv6 forwarding was already set by global script
        if [ $ipv6_global_forwarding_current -ne 0 ]; then
        net_log $"Global IPv6 forwarding is disabled in configuration, but not currently disabled in kernel"
        net_log $"Please restart network with '/sbin/service network restart'"
        fi

      ipv6_local_forwarding=0
      ipv6_local_auto=1
      ipv6_local_accept_ra=1
      if is_false "$IPV6_AUTOCONF"; then
      ipv6_local_auto=0
      if ! is_true "$IPV6_FORCE_ACCEPT_RA"; then
      ipv6_local_accept_ra=0
      fi
      fi
      fi

      if ! is_false "$IPV6_SET_SYSCTLS"; then
      /sbin/sysctl -e -w net.ipv6.conf.$SYSCTLDEVICE.forwarding=$ipv6_local_forwarding >/dev/null 2>&1
      /sbin/sysctl -e -w net.ipv6.conf.$SYSCTLDEVICE.accept_ra=$ipv6_local_accept_ra >/dev/null 2>&1
      /sbin/sysctl -e -w net.ipv6.conf.$SYSCTLDEVICE.accept_redirects=$ipv6_local_auto >/dev/null 2>&1
      /sbin/sysctl -e -w net.ipv6.conf.$SYSCTLDEVICE.autoconf=$ipv6_local_auto >/dev/null 2>&1
      fi
      ~~~

      Once IPV6_AUTOCONF=no is assigned, accept_ra kernel parameter will be 0 while IPV6_FORCE_ACCEPT_RA or IPV6_SET_SYSCTLS have relevant values.

      Due to that, undercloud cannot communicate with other leaf's nodes after os-net-config runs.

      Version-Release number of selected component (if applicable):
      OSP17.1

      How reproducible:
      Always

      Steps to Reproduce:
      1. Setup spine-leaf deployment with ipv6-only networks.
      2. Run overlcoud node provision.
      3. Try to access the other leaf's node from undercloud.

      Actual results:
      undercloud cannot communicate to other leaf's nodes.

      Expected results:
      undercloud can communicate all nodes.

      Additional info:

              rhn-engineering-dsneddon Dan Sneddon
              jira-bugzilla-migration RH Bugzilla Integration
              Eran Kuris Eran Kuris
              rhos-dfg-nfv
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: