Uploaded image for project: 'OpenShift Hive'
  1. OpenShift Hive
  2. HIVE-3002

IBM Cloud MachinePool Zone Matching Issue

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • None
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Problem Summary

      When a MachinePool for IBM Cloud results in multiple zones (either explicitly configured or automatically discovered), the Hive controller only creates one MachineSet instead of creating separate MachineSets for each zone. 
      All generated MachineSets are incorrectly matched to the same remote MachineSet, preventing the creation of additional MachineSets for different zones.

      This issue occurs regardless of whether zones are explicitly configured in the MachinePool:

      • If zones are not configured: The controller automatically calls `GetVPCZonesForRegion()` to discover all zones in the region.  If the region has multiple zones, the issue will occur.
      • If zones are configured: The controller uses the configured zones.
      • If multiple zones are specified, the issue will occur.
      • If only one zone exists(either configured or discovered): The issue does not manifest because only one MachineSet is generated, so there's no matching problem.

      The issue is in the `matchFailureDomains()` function in `pkg/controller/machinepool/machinepool_controller.go`. IBM Cloud uses `GenericFailureDomain` which doesn't include zone information, and the `Equal()` method for generic failure domains always returns `true` for non-specific platform types, causing all IBM Cloud MachineSets to be considered equal regardless of their zone.
       
      Logs:

      Found matching remote MachineSet mihuangtest25-mkgsv-worker-1 for generated MachineSet mihuangtest25-mkgsv-worker-1 
      Found matching remote MachineSet mihuangtest25-mkgsv-worker-1 for generated MachineSet mihuangtest25-mkgsv-worker-2 ← Wrong match, Found matching remote MachineSet mihuangtest25-mkgsv-worker-1 for generated MachineSet mihuangtest25-mkgsv-worker-3 ← Wrong match,  

              efried.openshift Eric Fried
              mihuang@redhat.com Mingxia Huang
              None
              None
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: