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

Set more strict version dependencies between openstack-operator and services operators

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • openstack-operator
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • Proposed
    • No Docs Impact
    • Proposed
    • Proposed
    • Moderate

      Hi,

      Using CDN content, I tried to deploy an old version of the `openstack-operator`.  In the menu I choose v1.0.0:

      But then, I'm forced to accept an installation of all dependent operators to the latest verision v1.0.3:

      Deny it and nothing get installed.

      Eventually those are the csv I got installed:

       

       

      oc get csv -n openstack-operators
      NAME                                    DISPLAY                        VERSION
      REPLACES                                PHASE
      barbican-operator.v1.0.3                Barbican Operator              1.0.3
      barbican-operator.v1.0.2                Succeeded
      cinder-operator.v1.0.3                  Cinder Operator                1.0.3
      cinder-operator.v1.0.2                  Succeeded
      designate-operator.v1.0.3               Designate Operator             1.0.3
      designate-operator.v1.0.2               Succeeded
      glance-operator.v1.0.3                  Glance Operator                1.0.3
      glance-operator.v1.0.2                  Succeeded
      heat-operator.v1.0.3                    Heat Operator                  1.0.3
      heat-operator.v1.0.2                    Succeeded
      horizon-operator.v1.0.3                 Horizon Operator               1.0.3
      horizon-operator.v1.0.2                 Succeeded
      infra-operator.v1.0.3                   OpenStack Infra                1.0.3
      infra-operator.v1.0.2                   Succeeded
      ironic-operator.v1.0.3                  Ironic Operator                1.0.3
      ironic-operator.v1.0.2                  Succeeded
      keystone-operator.v1.0.3                Keystone Operator              1.0.3
      keystone-operator.v1.0.2                Succeeded
      manila-operator.v1.0.3                  Manila Operator                1.0.3
      manila-operator.v1.0.2                  Succeeded
      mariadb-operator.v1.0.3                 MariaDB Operator               1.0.3
      mariadb-operator.v1.0.2                 Succeeded
      metallb-operator.v4.16.0-202410220434   MetalLB Operator               4.16.0-202410220434
      metallb-operator.v4.16.0-202410172201   Succeeded
      neutron-operator.v1.0.3                 Neutron Operator               1.0.3
      neutron-operator.v1.0.2                 Succeeded
      nova-operator.v1.0.3                    Nova Operator                  1.0.3
      nova-operator.v1.0.2                    Succeeded
      octavia-operator.v1.0.3                 Octavia Operator               1.0.3
      octavia-operator.v1.0.2                 Succeeded
      openstack-ansibleee-operator.v1.0.3     OpenStackAnsibleEE             1.0.3
      openstack-ansibleee-operator.v1.0.2     Succeeded
      openstack-baremetal-operator.v1.0.3     OpenStack Baremetal Operator   1.0.3
      openstack-baremetal-operator.v1.0.2     Succeeded
      openstack-operator.v1.0.0               OpenStack                      1.0.0
      Succeeded
      ovn-operator.v1.0.3                     OVN Operator                   1.0.3
      ovn-operator.v1.0.2                     Succeeded
      placement-operator.v1.0.3               Placement Operator             1.0.3
      placement-operator.v1.0.2               Succeeded
      rabbitmq-cluster-operator.v1.0.3        RabbitMQ Cluster Operator      1.0.3
      rabbitmq-cluster-operator.v1.0.2        Succeeded
      swift-operator.v1.0.3                   Swift operator                 1.0.3
      swift-operator.v1.0.2                   Succeeded
      telemetry-operator.v1.0.3               Telemetry Operator             1.0.3
      telemetry-operator.v1.0.2               Succeeded
       

      So everything v1.0.3 but openstack-operator with version v1.0.0.

       

      There is no way to install any other verison than the latest without this kind of mixed environement.

       

      A workaround is to create the subscription manually and then install the plan. As an attachement, I provide a sample script: deploy-v1.0.2.sh.gz

      Then:

       

       

      oc new-project openstack-operators
      cat > ./openstack-operator-group.yaml <<'EOF'
      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: openstack-operators-group
        namespace: openstack-operators
      spec:
        targetNamespaces:
        - openstack-operators
      EOF
      
      oc create -f ./openstack-operator-group.yaml
      
      ./deploy-v1.0.2.sh # create the necessary subs with the startingCSV hardcoded to v1.0.2 in this case.
      
      
      for yaml in subscriptions/*.yaml; do oc create -f $yaml; done

       

      Then run the install plan of the openstack operator and you get a fully v1.0.2 deployed, that can be updated later on if needed.

       

       

       

        1. 2024-10-30_12-09-30_screenshot.png
          83 kB
          Sofer Athlan Guyot
        2. 2024-10-30_13-22-59_screenshot.png
          70 kB
          Sofer Athlan Guyot
        3. deploy-v1.0.2.sh.gz
          0.9 kB
          Sofer Athlan Guyot

              Unassigned Unassigned
              sathlang@redhat.com Sofer Athlan Guyot
              rhos-dfg-reldel
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: