[id="installing-openstack-user"] = Installing a cluster on OpenStack on your own infrastructure include::modules/common-attributes.adoc[] :context: installing-openstack-user toc::[] In {product-title} version {product-version}, you can install a cluster on {rh-openstack-first} that runs on user-provisioned infrastructure. Using your own infrastructure allows you to integrate your cluster with existing infrastructure and modifications. The process requires more labor on your part than installer-provisioned installations, because you must create all {rh-openstack} resources, like Nova servers, Neutron ports, and security groups. However, Red Hat provides Ansible playbooks to help you in the deployment process. == Prerequisites * Review details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. ** Verify that {product-title} {product-version} is compatible with your {rh-openstack} version in the _Available platforms_ section. You can also compare platform support across different versions by viewing the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. * Have an {rh-openstack} account where you want to install {product-title} * On the machine from which you run the installation program, have: ** A single directory in which you can keep the files you create during the installation process ** Python 3 include::modules/cluster-entitlements.adoc[leveloffset=+1] include::modules/installation-osp-default-deployment.adoc[leveloffset=+1] include::modules/installation-osp-control-compute-machines.adoc[leveloffset=+2] include::modules/installation-osp-bootstrap-machine.adoc[leveloffset=+2] include::modules/installation-osp-downloading-modules.adoc[leveloffset=+1] include::modules/installation-obtaining-installer.adoc[leveloffset=+1] include::modules/ssh-agent-using.adoc[leveloffset=+1] // include::modules/installation-osp-enabling-swift.adoc[leveloffset=+1] include::modules/installation-osp-creating-image.adoc[leveloffset=+1] include::modules/installation-osp-verifying-external-network.adoc[leveloffset=+1] include::modules/installation-osp-accessing-api.adoc[leveloffset=+1] include::modules/installation-osp-accessing-api-floating.adoc[leveloffset=+2] include::modules/installation-osp-accessing-api-no-floating.adoc[leveloffset=+2] include::modules/installation-osp-describing-cloud-parameters.adoc[leveloffset=+1] include::modules/installation-initializing.adoc[leveloffset=+1] include::modules/installation-configuration-parameters.adoc[leveloffset=+1] include::modules/installation-osp-custom-subnet.adoc[leveloffset=+2] include::modules/installation-osp-config-yaml.adoc[leveloffset=+2] include::modules/installation-osp-fixing-subnet.adoc[leveloffset=+2] include::modules/installation-osp-emptying-worker-pools.adoc[leveloffset=+2] include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] include::modules/installation-osp-converting-ignition-resources.adoc[leveloffset=+1] include::modules/installation-osp-creating-control-plane-ignition.adoc[leveloffset=+1] include::modules/installation-osp-creating-network-resources.adoc[leveloffset=+1] include::modules/installation-osp-creating-bootstrap-machine.adoc[leveloffset=+1] include::modules/installation-osp-creating-control-plane.adoc[leveloffset=+1] include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] include::modules/installation-osp-deleting-bootstrap-resources.adoc[leveloffset=+1] include::modules/installation-osp-creating-compute-machines.adoc[leveloffset=+1] include::modules/installation-approve-csrs.adoc[leveloffset=+1] include::modules/installation-osp-verifying-installation.adoc[leveloffset=+1] == Next steps * xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. * If necessary, you can xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting]. * If you need to enable external access to node ports, xref:../../networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-nodeport.adoc#nw-using-nodeport_configuring-ingress-cluster-traffic-nodeport[configure ingress cluster traffic by using a NodePort]. * If you did not configure {rh-openstack} to accept application traffic over floating IP addresses, xref:../../post_installation_configuration/network-configuration.adoc#installation-osp-configuring-api-floating-ip_post-install-network-configuration[configure {rh-openstack} access with floating IP addresses].