Deploying Red Hat OpenStack 14 with pre-provisioned nodes

Platform : Red Hat OpenStack 14
Environment: 1 * Undercloud, 1* controller, 2 * compute nodes

Add require subscriptions and install base packages in undercloud and overcloud nodes as per the deployment steps in Red Hat Director installation document:
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/director_installation_and_usage/

Undercloud configuration for a simple deployment: undercloud.conf

[DEFAULT]
clean_nodes = true
cleanup = true
container_images_file = /home/stack/containers-prepare-parameter.yaml
custom_env_files = /home/stack/templates/custom-undercloud-params.yaml
local_interface = eno1
local_ip = 192.168.100.10/24
local_subnet = ctlplane-subnet
overcloud_domain_name = demo.com
undercloud_admin_host = 192.168.100.12
undercloud_hostname = basecamp.demo.com
undercloud_log_file = install-undercloud.log
undercloud_ntp_servers = << IP address of NTP >>
undercloud_public_host = 192.168.100.11
[ctlplane-subnet]
cidr = 192.168.100.0/24
dhcp_start = 192.168.100.60
dhcp_end = 192.168.100.100
inspection_iprange = 192.168.100.110,192.168.100.150
gateway = 192.168.100.1
masquerade = true

Prepare the container images on undercloud with below command:

# openstack tripleo container image prepare default \   --local-push-destination \   --output-env-file containers-prepare-parameter.yaml

Custom heat parameters for undercloud can be passed with custom-undercloud-params.yaml

Deploy undercloud :

# openstack undercloud install

Basic overcloud deployment with pre-provisioned nodes

For this deployment we are using three nodes:
Node 1: Controller-00 : 192.168.100.51
Node 2: Compute-00 : 192.168.100.52
Node 3: Compute-01 : 192.168.100.53

Create stack user in all the overcloud nodes and then copy the public key of Director’s stack user on all the overcloud nodes. Director stack user requires password less access on all the overcloud nodes. Also copy and update the certificate authority file from Director to all the overcloud nodes

Use the below configuration for overcloud ctlplane network:

resource_registry:
  OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
parameter_defaults:
  DeployedServerPortMap:
    controller-00-ctlplane:
      fixed_ips:
        - ip_address: 192.168.100.51
      subnets:
        - cidr: 192.168.100.0/24
      network:
        tags:
          - 192.168.100.0/24
    compute-00-ctlplane:
      fixed_ips:
        - ip_address: 192.168.100.52
      subnets:
        - cidr: 192.168.100.0/24
      network:
        tags:
          - 192.168.100.0/24
    compute-01-ctlplane:
      fixed_ips:
        - ip_address: 192.168.100.53
      subnets:
        - cidr: 192.168.100.0/24
      network:
        tags:
          - 192.168.100.0/24

Map the hostnames : hostname-map.yaml

parameter_defaults:
  HostnameMap:
    overcloud-controller-0: controller-00
    overcloud-novacompute-0: compute-00
    overcloud-novacompute-1: compute-01

Deploy basic overcloud with the below command:

openstack overcloud deploy   --disable-validations  â€”templates  \
 -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml   \
 -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-bootstrap-environment-rhel.yaml   \
 -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-pacemaker-environment.yaml   \
 -e /home/stack/templates/hostname-map.yaml   \
 -e /home/stack/templates/ctlplane-assignments.yaml   \
 -r /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-server-roles-data.yaml   \
 --overcloud-ssh-user stack   \
 --overcloud-ssh-key ~/.ssh/id_rsa \
--control-scale 1 \
 --compute-scale 2 \
--ntp-server << IP address of the NTP >>