Install the OpenStack Operator

  1. Clone the Files Repo

    In the bastion terminal, clone the repo and change directory to the files that we will used later in the lab

    git clone https://github.com/rh-osp-demo/showroom_osp-on-ocp.git labrepo
    cd labrepo/content/files/disconnected
  2. Install the OpenStack Operators

    The next step in installing the OpenStack Operators will be create the openstack-operators project for the RHOSO operators:

    oc new-project openstack-operators
  3. Create the openstack project for the deployed RHOSO environment:

    oc new-project openstack
  4. Configure the Catalog Source, OperatorGroup and Subscription for the OpenStack Operator using your registry:

    Create the new CatalogSource, OperatorGroup, and Subscription CRs in the openstack namespace from files/openstack-operators.yaml: You can cut and paste the referenced yamlfiles from the repo or you may wish to clone the repository onto the bastion which this guide will assume:

    oc apply -f osp-ng-openstack-operator.yaml
  5. Install the operator using the Manual approval strategy. Confirm that an install plan has been created but not executed as it has not been approved:

    oc get installplan -n openstack-operators
NAME            CSV                       APPROVAL   APPROVED
install-lfs4j   octavia-operator.v1.0.0   Manual     false
  1. Approve the installation of the operator by updating the approved field of the InstallPlan:

    oc patch installplan install-lfs4j  \
        --namespace openstack-operators \
        --type merge \
        --patch '{"spec":{"approved":true}}'
  2. Confirm that you have installed the Openstack Operator, openstack-operator.openstack-operators:

    oc get operators openstack-operator.openstack-operators
  3. Review the pods in the openstack-operators namespace:

    oc get pods -n openstack-operators
  4. If you run:

    oc get pods -n openstack-operators --sort-by=.metadata.creationTimestamp

    You should see a list of completed pods and then the running openstack services pods. It should look like:

    Sample Output
    (...)
    4125610f4af9dfe5c6e5c6f7eee599a6b7a7211154c9c2a29bb1290239gq966   0/1     Completed   0          7m49s
    c0899d48e01d3359dbcab05499bcee071d413f937e1f712d949751a098f844r   0/1     Completed   0          7m48s
    2ce988007db74ed96e2b4f6223d3c76d9a6e177368efdc7c468b73a0bc4fk47   0/1     Completed   0          7m48s
    neutron-operator-controller-manager-5755996c4b-ctbf8              2/2     Running     0          7m19s
    openstack-ansibleee-operator-controller-manager-6d7d77fc45pdtfj   2/2     Running     0          7m13s
    openstack-operator-controller-manager-56fb74ccb7-r8lvn            2/2     Running     0          7m1s
    dataplane-operator-controller-manager-6844bfd645-f2zvs            2/2     Running     0          7m1s
    glance-operator-controller-manager-596b56cd5-rvfrm                2/2     Running     0          6m59s
    swift-operator-controller-manager-df5fbbbc5-zscc5                 2/2     Running     0          6m49s
    octavia-operator-controller-manager-6549bc8f-r6xbp                2/2     Running     0          6m42s
    openstack-baremetal-operator-controller-manager-7cd655c4c7f5glm   2/2     Running     0          6m42s
    barbican-operator-controller-manager-69b766c996-ldg4n             2/2     Running     0          6m28s
    (...)