Data Plane Deployment

Reference:

  • 5.3. Creating a set of data plane nodes from deployment guide.

  • Sample pre-provisioned nodes config from upstream repository.

  • 5.5. Deploying the data plane from deployment guide.

    1. Connect to the bastion server with password redhat

      ssh root@192.168.123.100
      Sample Output
      [root@ocp4-bastion ~] #
    2. Create Secret

      oc create secret generic dataplane-ansible-ssh-private-key-secret --save-config --dry-run=client --from-file=authorized_keys=/root/.ssh/id_rsa_compute.pub --from-file=ssh-privatekey=/root/.ssh/id_rsa_compute --from-file=ssh-publickey=/root/.ssh/id_rsa_compute.pub -n openstack -o yaml | oc apply -f-
      ssh-keygen -f ./id -t ecdsa-sha2-nistp521 -N ''
      oc create secret generic nova-migration-ssh-key --from-file=ssh-privatekey=id --from-file=ssh-publickey=id.pub -n openstack -o yaml | oc apply -f-
    3. Change to the sample configuration files' repository.

      cd ~/rhoso-deploy-files/sample/
    4. Copy sample dataplane node set configuration from upstream repository link mentioned above.

      or

      Use dataplane-node-set-deploy.sample file.

    5. Create a copy of sample configuration file.

      cp dataplane-node-set-deploy.sample osp-ng-dataplane-node-set-deploy.yaml
    6. Edit the file with your preferred editor.

      vi osp-ng-dataplane-node-set-deploy.yaml
    7. You may need to perform following changes in the yaml file copied from sample:

      1. Under spec section add environment variables for ansible output (optional)

          env:
            - name: ANSIBLE_FORCE_COLOR
              value: "True"
            - name: ANSIBLE_VERBOSITY
              value: "2"
      2. Add download-cache under services list.

      3. Set ansibleHost varialbe to the ip address of compute node.

      4. Add ansibleUser variable and set it to root.

      5. Under the nodes blok for edpm-compute-0 node, make sure all network names are their settings are as per your network configuration table.

      6. Control plane network is not your default route on the compute host in this lab.

      7. Remove the block for edpm-compute-1, we are deploying single compute now.

      8. Under nodeTemplate change ansibleUser from cloud-admin to root.

      9. Set the appropriate name for your nova api networks, change the string from internal_api to internalapi.

      10. Under edpm_network_config_template jinja2 block:

        1. Under network_config change for network in role_networks to for network in role_networks if network != 'external'

        2. Add below jinja2 block

                    {% if 'external' in role_networks or 'external_bridge' in role_tags %}
                    - type: ovs_bridge
                      name: br-ex
                      dns_servers: {{ ctlplane_dns_nameservers }}
                      domain: {{ dns_search_domains }}
                      use_dhcp: false
                      members:
                      - type: interface
                        name: nic2
                        mtu: 1500
                        primary: true
                    {% endif %}
                    {% if 'external' in role_networks %}
                      routes:
                      - ip_netmask: 0.0.0.0/0
                        next_hop: {{ external_gateway_ip | default('192.168.123.1') }}
                      addresses:
                      - ip_netmask: {{ external_ip }}/{{ external_cidr }}
                    {% endif %}
        3. Set the variables for compute host networking, e.g dns, vlan, mtu, etc.

        4. Define role_networks used in jinja2 block.

        5. Set edpm_sshd_allowed_ranges to ctlplane subnet.

        6. Set edpm_container_registry_logins with your credentials.

          Make sure nmae of the nodesets in deployment config matches with metadata name in your dataplane nodeset configuration.
          Configuration of data plane node set file is tricky. Compare your configuration settings with the pre-configured file for reference.
    8. Copy sample dataplane deployment configuration from the documentation link mentioned in the reference on top.

      or

      Use dataplane-deployment.sample file.

    9. Create a copy of sample configuration file.

      cp dataplane-deployment.sample osp-ng-dataplane-deployment.yaml
    10. Edit the file with your preferred editor.

      vi osp-ng-dataplane-deployment.yaml
    11. Make sure you appropriate nodeSets are listed.

    12. Delete the other unwatend nodeSets configuration lines.

    13. Deploy the data plane by applying nodesets and deployment configuration.

      oc apply -f osp-ng-dataplane-node-set-deploy.yaml
      oc apply -f osp-ng-dataplane-deployment.yaml

      The data plane deployment takes several minutes to complete.

    14. Go to the next page for steps to track the progress of your deployment.