Uploaded image for project: 'On Prem Networking'
  1. On Prem Networking
  2. OPNET-340

Mechanism to change Infrastructure values

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • Mutable Infrastructure
    • Strategic Product Work
    • False
    • False
    • Green
    • To Do
    • OCPSTRAT-178 - Allow adding ipv6 VIPs to existing dual stack clusters via Mutable Infrastructure
    • OCPSTRAT-178Allow adding ipv6 VIPs to existing dual stack clusters via Mutable Infrastructure
    • 0% To Do, 0% In Progress, 100% Done
    • Hide

      [QE] June 25, 2024
       * Baremetal and vsphere 4.15 upgrade testing complete

      [QE] June 13, 2024

      • Testing Baremetal IPI upgrades.

      [QE] June 6, 2024

       [QE] May 30, 2024

      • OCPBUGS-34706 seems to be blocking. keepalived.conf does not get IPv6 addresses.

       [QE] May 6, 2024

      • Baremetal test-blocked by OCPBUGS-33204. RHEL8.8 4.16 openshift-baremetal-install broken GLIBC version
        unblocked, just use openshift-install
      • OCPBUGS-33018 MCD content mismatch bug still active, testing with OPNET-512 fixes

        [QE] Apr 25, 2024

        [QE] Apr 21, 2024

      • OCPBUGS-32014 happens in the main add 2nd VIP case. Changing VIPs seems to cause MCO degraded nodes regularly.

        [QE] Apr 9, 2024

      [QE] Apr 8, 2024

      • delayed by general vSphere CI install failures, testing on baremetal, checking OCPBUGS-31424 blocking status

       [QE] Mar 26, 2024

       [QE] Mar 11, 2024

      Show
      [QE] June 25, 2024  * Baremetal and vsphere 4.15 upgrade testing complete [QE] June 13, 2024 Testing Baremetal IPI upgrades. [QE] June 6, 2024 Testing vSphere upgrades with OCPBUGS-34706 PR.   [QE] May 30, 2024 OCPBUGS-34706 seems to be blocking. keepalived.conf does not get IPv6 addresses.   [QE] May 6, 2024 Baremetal test-blocked by OCPBUGS-33204 . RHEL8.8 4.16 openshift-baremetal-install broken GLIBC version unblocked, just use openshift-install OCPBUGS-33018 MCD content mismatch bug still active, testing with OPNET-512 fixes    [QE] Apr 25, 2024 Testing OPNET-512 fix pre-merge    [QE] Apr 21, 2024 OCPBUGS-32014 happens in the main add 2nd VIP case. Changing VIPs seems to cause MCO degraded nodes regularly.    [QE] Apr 9, 2024 OCPBUGS-32014 [QE] Apr 8, 2024 delayed by general vSphere CI install failures, testing on baremetal, checking OCPBUGS-31424 blocking status   [QE] Mar 26, 2024 infrastructure spec and status not syncing OCPBUGS-31424   [QE] Mar 11, 2024  Possibly blocked by IPv6 conformance tests OCPBUGS-26603

      For epics https://issues.redhat.com/browse/OPNET-14 and https://issues.redhat.com/browse/OPNET-80 we need a mechanism to change configuration values related to our static pods. Today that is not possible because all of the values are put in the status field of the Infrastructure object.

      We had previously discussed this as part of https://issues.redhat.com/browse/OPNET-21 because there was speculation that people would want to move from internal LB to external, which would require mutating a value in Infrastructure. In fact, there was a proposal to put that value in the spec directly and skip the status field entirely, but that was discarded because a migration would be needed in that case and we need separate fields to indicate what was requested and what the current state actually is.

      There was some followup discussion about that with Joel Speed from the API team (which unfortunately I have not been able to find a record of yet) where it was concluded that if/when we want to modify Infrastructure values we would add them to the Infrastructure spec and when a value was changed it would trigger a reconfiguration of the affected services, after which the status would be updated.

      This means we will need new logic in MCO to look at the spec field (currently there are only fields in the status, so spec is ignored completely) and determine the correct behavior when they do not match. This will mean the values in ControllerConfig will not always match those in Infrastructure.Status. That's about as far as the design has gone so far, but we should keep the three use cases we know of (internal/external LB, VIP addition, and DNS record overrides) in mind as we design the underlying functionality to allow mutation of Infrastructure status values.

      Depending on how the design works out, we may only track the design phase in this epic and do the implementation as part of one of the other epics. If there is common logic that is needed by all and can be implemented independently we could do that under this epic though.

              mkowalsk@redhat.com Mat Kowalski
              bnemec@redhat.com Benjamin Nemec
              Ross Brattain Ross Brattain
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: