Adopt the Placement service
To adopt the Placement service, you patch an existing OpenStackControlPlane custom resource (CR) that has the Placement service disabled. The patch starts the service with the configuration parameters that are provided by the Red Hat OpenStack Platform (RHOSP) environment.
Before you begin
- You import your databases to MariaDB instances on the control plane. For more information, see Migrating databases to MariaDB instances.
- You adopt the Identity service (keystone). For more information, see Adopting the Identity service.
Procedure
Patch the
OpenStackControlPlane CR to deploy the Placement service:
$ oc patch openstackcontrolplane openstack --type=merge --patch '
spec:
placement:
enabled: true
apiOverride:
route: {}
template:
databaseInstance: openstack
databaseAccount: placement
secret: osp-secret
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.80>
spec:
type: LoadBalancer
'
where:
- <172.17.0.80>
- Specifies the load balancer IP in your environment. If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example,
metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80.
Results
- Check that the Placement service endpoints are defined and pointing to the
control plane FQDNs, and that the Placement API responds:
$ alias openstack="oc exec -t openstackclient -- openstack" $ openstack endpoint list | grep placement # Without OpenStack CLI placement plugin installed: $ PLACEMENT_PUBLIC_URL=$(openstack endpoint list -c 'Service Name' -c 'Service Type' -c URL | grep placement | grep public | awk '{ print $6; }') $ oc exec -t openstackclient -- curl "$PLACEMENT_PUBLIC_URL" # With OpenStack CLI placement plugin installed: $ openstack resource class list