Adopting the {compute_service}
To adopt the {compute_service_first_ref}, you patch an existing OpenStackControlPlane
custom resource (CR) where the {compute_service} is disabled. The patch starts the service with the configuration parameters that are provided by the {rhos_prev_long} ({OpenStackShort}) environment. The following procedure describes a single-cell setup.
-
You have completed the previous adoption steps.
-
You have defined the following shell variables. Replace the following example values with the values that are correct for your environment:
alias openstack="oc exec -t openstackclient -- openstack"
-
Patch the
OpenStackControlPlane
CR to deploy the {compute_service}:oc patch openstackcontrolplane openstack -n openstack --type=merge --patch ' spec: nova: enabled: true apiOverride: route: {} template: secret: osp-secret apiServiceTemplate: override: service: internal: metadata: annotations: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/allow-shared-ip: internalapi metallb.universe.tf/loadBalancerIPs: 172.17.0.89 spec: type: LoadBalancer customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true metadataServiceTemplate: enabled: true # deploy single nova metadata on the top level override: service: metadata: annotations: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/allow-shared-ip: internalapi metallb.universe.tf/loadBalancerIPs: 172.17.0.89 spec: type: LoadBalancer customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true schedulerServiceTemplate: customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true cellTemplates: cell0: conductorServiceTemplate: customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true cell1: metadataServiceTemplate: enabled: false # enable here to run it in a cell instead override: service: metadata: annotations: metallb.universe.tf/address-pool: internalapi metallb.universe.tf/allow-shared-ip: internalapi metallb.universe.tf/loadBalancerIPs: 172.17.0.89 spec: type: LoadBalancer customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true conductorServiceTemplate: customServiceConfig: | [workarounds] disable_compute_service_check_for_ffu=true '
The local Conductor services are started for each cell, while the superconductor runs in cell0 .
Note that disable_compute_service_check_for_ffu is mandatory for all imported Compute services until the external data plane is imported, and until Compute services are fast-forward upgraded. For more information, see Adopting Compute services to the {rhos_acro} data plane and Performing a fast-forward upgrade on Compute services.
|
-
Check that {compute_service} endpoints are defined and pointing to the control plane FQDNs, and that the Nova API responds:
openstack endpoint list | grep nova openstack server list
-
Compare the outputs with the topology-specific configuration in Retrieving topology-specific service configuration.
-
-
Query the superconductor to check that
cell1
exists, and compare it to pre-adoption values:. ~/.source_cloud_exported_variables echo $PULL_OPENSTACK_CONFIGURATION_NOVAMANAGE_CELL_MAPPINGS oc rsh nova-cell0-conductor-0 nova-manage cell_v2 list_cells | grep -F '| cell1 |'
The following changes are expected:
-
The
cell1
nova
database and username becomenova_cell1
. -
The default cell is renamed to
cell1
. -
RabbitMQ transport URL no longer uses
guest
.
-
At this point, the {compute_service} control plane services do not control the existing {compute_service} workloads. The control plane manages the data plane only after the data adoption process is completed. For more information, see Adopting Compute services to the {rhos_acro} data plane. |
To import external Compute services to the {rhos_acro} data plane, you must upgrade them first. For more information, see Adopting Compute services to the {rhos_acro} data plane, and Performing a fast-forward upgrade on Compute services. |