:_mod-docs-content-type: PROCEDURE [id="adopting-the-openstack-dashboard_{context}"] = Adopting the {dashboard_service} [role="_abstract"] To adopt the {dashboard_first_ref}, you patch an existing `OpenStackControlPlane` custom resource (CR) that has the {dashboard_service} disabled. The patch starts the service with the configuration parameters that are provided by the {rhos_prev_long} environment. .Prerequisites * You adopted Memcached. For more information, see xref:deploying-backend-services_migrating-databases[Deploying back-end services]. * You adopted the {identity_service_first_ref}. For more information, see xref:adopting-the-identity-service_adopt-control-plane[Adopting the {identity_service}]. .Procedure * Patch the `OpenStackControlPlane` CR to deploy the {dashboard_service}: + ---- $ oc patch openstackcontrolplane openstack --type=merge --patch ' spec: horizon: enabled: true apiOverride: route: {} template: memcachedInstance: memcached secret: osp-secret ' ---- .Verification . Verify that the {dashboard_service} instance is successfully deployed and ready: + ---- $ oc get horizon ---- . Confirm that the {dashboard_service} is reachable and returns a `200` status code: + ---- PUBLIC_URL=$(oc get horizon horizon -o jsonpath='{.status.endpoint}') curl --silent --output /dev/stderr --head --write-out "%{http_code}" "$PUBLIC_URL/dashboard/auth/login/?next=/dashboard/" -k | grep 200 ----