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

Multiple nodeset CRs in single deployment is not working

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • Proposed
    • ?
    • Proposed
    • ?
    • None
    • Critical

      I have 2 EDPM nodes for which I have OVS-DPDK network configuration nodeset CR for 1 node and SRIOV configuration CR for another node. I am creating 2 unique label on bmh and using them on nodeset CR. But the services are getting triggered even though bmh status is "provisioned".

       

      NAME           STATE                    CONSUMER                 ONLINE   ERROR   AGE
      nfv-master-0   externally provisioned   nfv-v9m2z-master-0       true             22h
      nfv-master-1   externally provisioned   nfv-v9m2z-master-1       true             22h
      nfv-master-2   externally provisioned   nfv-v9m2z-master-2       true             22h
      nfv02          provisioned              openstack-edpm-ovsdpdk   true             21h
      nfv03          provisioned              openstack-edpm-sriov     true             21h  ===> This status seems agreeable, I'm able to SSH and see right RHEL version in the nodes.
      
      [stack@rhos-nfv-01 OSP_18]$ oc get openstackdataplanedeployment
      NAME         NODESETS               STATUS   MESSAGE
      openstack-edpm-nodes   ["openstack-edpm-ovsdpdk","openstack-edpm-sriov"]   False    Deployment in progress  
      ====> Deployment is in progress since very long time!
      
      [stack@rhos-nfv-01 OSP_18]$ oc get pods -l app=openstackansibleee
      No resources found in openstack namespace.   ====>>> services are not running! 

       

       

      This is how my CRs look like:

       

      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: nfv02
        namespace: openshift-machine-api
        labels:
          app: dpdk  ==> Using this label in nodeset CR to differentiate 
      ....
      ....
      apiVersion: metal3.io/v1alpha1
      kind: BareMetalHost
      metadata:
        name: nfv03
        namespace: openshift-machine-api
        labels:
          app: sriov ==> Using this label in nodeset CR to differentiate 
       
      Nodeset CR snippet:
       baremetalSetTemplate:
          osImage: edpm-hardened-uefi.qcow2
          osContainerImageUrl: registry.access.redhat.com/rhosp-dev-preview/edpm-hardened-uefi-rhel9:18.0.0-9
          bmhLabelSelector:
            app: dpdk
      ...
      ...
       
       baremetalSetTemplate:
          osImage: edpm-hardened-uefi.qcow2
          osContainerImageUrl: registry.access.redhat.com/rhosp-dev-preview/edpm-hardened-uefi-rhel9:18.0.0-9
          bmhLabelSelector:
            app: sriov
      ...
      ...
       
      Dataplane deployment CR:
      apiVersion: dataplane.openstack.org/v1beta1
      kind: OpenStackDataPlaneDeployment
      metadata:
        name: openstack-edpm-nodes
      spec:
        nodeSets:
          - openstack-edpm-ovsdpdk
          - openstack-edpm-sriov
      

       

      Dataplane operator logs:

      oc logs -n openstack-operators dataplane-operator-controller-manager-58f68bf464-wg9f5 
      2024-03-04T08:13:38Z ERROR Reconciler error {"controller": "openstackansibleee", "controllerGroup": "ansibleee.openstack.org", "controllerKind": "OpenStackAnsibleEE", "OpenStackAnsibleEE": {"name":"bootstrap-openstack-edpm-nodes","namespace":"openstack"}, "namespace": "openstack", "name": "bootstrap-openstack-edpm-nodes", "reconcileID": "a9c4ebff-937c-4bc1-be23-f387b3a79ec2", "error": "inventory mount inventory overrides existing inventory location"} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler /opt/app-root/src/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:329 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem /opt/app-root/src/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:266 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2 /opt/app-root/src/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:227
      

       

      Workaround:
      If I try to create 2 different deployment CR, one for each nodeSet, the services run and deployment completes. 

              rhn-support-ramishra Rabi Mishra
              rh-ee-spk Spoorthi K
              rhos-dfg-df
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: