diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 6f1ad62413..5422109b44 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2464,6 +2464,8 @@ Topics: File: cluster-api-config-options-gcp - Name: Cluster API configuration options for Microsoft Azure File: cluster-api-config-options-azure + - Name: Cluster API configuration options for Red Hat OpenStack Platform + File: cluster-api-config-options-rhosp - Name: Cluster API configuration options for VMware vSphere File: cluster-api-config-options-vsphere # - Name: Cluster API resiliency and recovery diff --git a/machine_management/cluster_api_machine_management/cluster-api-about.adoc b/machine_management/cluster_api_machine_management/cluster-api-about.adoc index 2cc10b4073..270cafa5de 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-about.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-about.adoc @@ -9,7 +9,7 @@ toc::[] :FeatureName: Managing machines with the Cluster API include::snippets/technology-preview.adoc[] -The link:https://cluster-api.sigs.k8s.io/[Cluster API] is an upstream project that is integrated into {product-title} as a Technology Preview for {aws-first}, {gcp-first}, {azure-first} and {vmw-first}. +The link:https://cluster-api.sigs.k8s.io/[Cluster API] is an upstream project that is integrated into {product-title} as a Technology Preview for {aws-first}, {gcp-first}, {azure-first}, {rh-openstack-first}, and {vmw-first}. //Cluster API overview include::modules/capi-overview.adoc[leveloffset=+1] diff --git a/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc b/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc index 8b67a9b6d4..3250fc8552 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc @@ -26,4 +26,6 @@ For provider-specific configuration options for your cluster, see the following * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#cluster-api-config-options-azure[Cluster API configuration options for {azure-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc#cluster-api-config-options-rhosp[Cluster API configuration options for {rh-openstack}] + * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#cluster-api-config-options-vsphere[Cluster API configuration options for {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc b/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc index 0b82e2871b..203e9fc20b 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc @@ -34,6 +34,7 @@ include::modules/capi-creating-machine-template.adoc[leveloffset=+2] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-template-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API machine template resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-template-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API machine template resource on {gcp-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-template-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API machine template resource on {azure-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc#capi-yaml-machine-template-rhosp_cluster-api-config-options-rhosp[Sample YAML for a Cluster API machine template resource on {rh-openstack}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-template-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API machine template resource on {vmw-full}] //Creating a Cluster API compute machine set @@ -43,4 +44,5 @@ include::modules/capi-creating-machine-set.adoc[leveloffset=+2] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-set-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API compute machine set resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-set-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API compute machine set resource on {gcp-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-set-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API compute machine set resource on {azure-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc#capi-yaml-machine-set-rhosp_cluster-api-config-options-rhosp[Sample YAML for a Cluster API compute machine set resource on {rh-openstack}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-set-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API compute machine set resource on {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc b/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc index 9f0e6f59b8..d453454812 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc @@ -16,6 +16,7 @@ include::modules/capi-modifying-machine-template.adoc[leveloffset=+1] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-template-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API machine template resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-template-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API machine template resource on {gcp-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-template-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API machine template resource on {azure-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc#capi-yaml-machine-template-rhosp_cluster-api-config-options-rhosp[Sample YAML for a Cluster API machine template resource on {rh-openstack}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-template-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API machine template resource on {vmw-full}] * xref:../../machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc#machineset-modifying_cluster-api-managing-machines[Modifying a compute machine set by using the CLI] @@ -27,4 +28,5 @@ include::modules/machineset-modifying.adoc[leveloffset=+1,tag=!MAPI] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-set-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API compute machine set resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-set-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API compute machine set resource on {gcp-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-set-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API compute machine set resource on {azure-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc#capi-yaml-machine-set-rhosp_cluster-api-config-options-rhosp[Sample YAML for a Cluster API compute machine set resource on {rh-openstack}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-set-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API compute machine set resource on {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc new file mode 100644 index 0000000000..70a2899994 --- /dev/null +++ b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc @@ -0,0 +1,30 @@ +:_mod-docs-content-type: ASSEMBLY +[id="cluster-api-config-options-rhosp"] += Cluster API configuration options for Red{nbsp}Hat OpenStack Platform +include::_attributes/common-attributes.adoc[] +:context: cluster-api-config-options-rhosp + +toc::[] + +:FeatureName: Managing machines with the Cluster API +include::snippets/technology-preview.adoc[] + +You can change the configuration of your {rh-openstack-first} Cluster API machines by updating values in the Cluster API custom resource manifests. + +[id="cluster-api-sample-yaml-rhosp_{context}"] +== Sample YAML for configuring {rh-openstack} clusters + +The following example YAML files show configurations for a {rh-openstack} cluster. + +//Sample YAML for CAPI RHOSP machine template resource +include::modules/capi-yaml-machine-template-rhosp.adoc[leveloffset=+2] + +//Sample YAML for a CAPI RHOSP compute machine set resource +include::modules/capi-yaml-machine-set-rhosp.adoc[leveloffset=+2] + +// [id="cluster-api-supported-features-rhosp_{context}"] +// == Enabling {rh-openstack} features with the Cluster API + +// You can enable the following features by updating values in the Cluster API custom resource manifests. + +//Not sure what, if anything, we can add here at this time. \ No newline at end of file diff --git a/modules/capi-creating-cluster-resource.adoc b/modules/capi-creating-cluster-resource.adoc index 83a208255e..16abcfb579 100644 --- a/modules/capi-creating-cluster-resource.adoc +++ b/modules/capi-creating-cluster-resource.adoc @@ -43,10 +43,25 @@ spec: <2> Specify the infrastructure kind for the cluster. The following values are valid: + -* `AWSCluster`: The cluster is running on {aws-first}. -* `GCPCluster`: The cluster is running on {gcp-first}. -* `AzureCluster`: The cluster is running on {azure-first}. -* `VSphereCluster`: The cluster is running on {vmw-first}. +|==== +|Cluster cloud provider |Value + +|{aws-first} +|`AWSCluster` + +|{gcp-first} +|`GCPCluster` + +|{azure-first} +|`AzureCluster` + +|{rh-openstack-first} +|`OpenStackCluster` + +|{vmw-first} +|`VSphereCluster` + +|==== -- . Create the cluster CR by running the following command: diff --git a/modules/capi-creating-machine-template.adoc b/modules/capi-creating-machine-template.adoc index d1bb435fcd..a66bac9fb0 100644 --- a/modules/capi-creating-machine-template.adoc +++ b/modules/capi-creating-machine-template.adoc @@ -36,11 +36,28 @@ spec: template: spec: # <3> ---- -<1> Specify the machine template kind. This value must match the value for your platform. The following values are valid: -* `AWSMachineTemplate`: The cluster is running on {aws-first}. -* `GCPMachineTemplate`: The cluster is running on {gcp-first}. -* `AzureMachineTemplate`: The cluster is running on {azure-first}. -* `VSphereMachineTemplate`: The cluster is running on {vmw-first}. +<1> Specify the machine template kind. This value must match the value for your platform. +The following values are valid: ++ +|==== +|Cluster cloud provider |Value + +|{aws-first} +|`MachineTemplate` + +|{gcp-first} +|`MachineTemplate` + +|{azure-first} +|`AzureMachineTemplate` + +|{rh-openstack-first} +|`OpenStackMachineTemplate` + +|{vmw-first} +|`VSphereMachineTemplate` + +|==== <2> Specify a name for the machine template. <3> Specify the details for your environment. These parameters are provider specific. For more information, see the sample Cluster API machine template YAML for your provider. -- diff --git a/modules/capi-limitations.adoc b/modules/capi-limitations.adoc index 5ff0ad950e..a3f5836d9e 100644 --- a/modules/capi-limitations.adoc +++ b/modules/capi-limitations.adoc @@ -15,7 +15,7 @@ Using the Cluster API to manage machines is a Technology Preview feature and has Enabling this feature set cannot be undone and prevents minor version updates. ==== -* Only {aws-first}, {gcp-first}, {azure-first}, and {vmw-first} clusters can use the Cluster API. +* Only {aws-first}, {gcp-first}, {azure-first}, {rh-openstack-first}, and {vmw-first} clusters can use the Cluster API. * You must manually create some of the primary resources that the Cluster API requires. For more information, see "Getting started with the Cluster API". diff --git a/modules/capi-modifying-machine-template.adoc b/modules/capi-modifying-machine-template.adoc index 371b010640..ef1a2533ee 100644 --- a/modules/capi-modifying-machine-template.adoc +++ b/modules/capi-modifying-machine-template.adoc @@ -25,11 +25,28 @@ You can update the machine template resource for your cluster by modifying the Y ---- $ oc get <1> ---- -<1> Specify the value that corresponds to your platform. The following values are valid: -* `AWSMachineTemplate`: The cluster is running on {aws-first}. -* `GCPMachineTemplate`: The cluster is running on {gcp-first}. -* `AzureMachineTemplate`: The cluster is running on {azure-first}. -* `VSphereMachineTemplate`: The cluster is running on {vmw-first}. +<1> Specify the value that corresponds to your platform. +The following values are valid: ++ +|==== +|Cluster cloud provider |Value + +|{aws-full} +|`AWSMachineTemplate` + +|{gcp-full} +|`GCPMachineTemplate` + +|{azure-first} +|`AzureMachineTemplate` + +|{rh-openstack} +|`OpenStackMachineTemplate` + +|{vmw-full} +|`VSphereMachineTemplate` + +|==== -- + .Example output diff --git a/modules/capi-yaml-cluster.adoc b/modules/capi-yaml-cluster.adoc index 3308adc2f4..ec38fc1602 100644 --- a/modules/capi-yaml-cluster.adoc +++ b/modules/capi-yaml-cluster.adoc @@ -29,11 +29,24 @@ spec: <1> Specify the name of the cluster. <2> Specify the IP address of the control plane endpoint and the port used to access it. <3> Specify the infrastructure kind for the cluster. -Valid values are: +The following values are valid: + --- -* `AWSCluster`: The cluster is running on {aws-full}. -* `GCPCluster`: The cluster is running on {gcp-full}. -* `AzureCluster`: The cluster is running on {azure-full}. -* `VSphereCluster`: The cluster is running on {vmw-full}. --- \ No newline at end of file +|==== +|Cluster cloud provider |Value + +|{aws-full} +|`AWSCluster` + +|{gcp-short} +|`GCPCluster` + +|{azure-short} +|`AzureCluster` + +|{rh-openstack} +|`OpenStackCluster` + +|{vmw-full} +|`VSphereCluster` + +|==== \ No newline at end of file diff --git a/modules/capi-yaml-machine-set-rhosp.adoc b/modules/capi-yaml-machine-set-rhosp.adoc new file mode 100644 index 0000000000..7b3015d69a --- /dev/null +++ b/modules/capi-yaml-machine-set-rhosp.adoc @@ -0,0 +1,51 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-machine-set-rhosp_{context}"] += Sample YAML for a Cluster API compute machine set resource on {rh-openstack} + +The compute machine set resource defines additional properties of the machines that it creates. +The compute machine set also references the infrastructure resource and machine template when creating machines. + +[source,yaml] +---- +apiVersion: cluster.x-k8s.io/v1beta1 +kind: MachineSet +metadata: + name: # <1> + namespace: openshift-cluster-api +spec: + clusterName: # <2> + replicas: 1 + selector: + matchLabels: + test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + template: + metadata: + labels: + test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + node-role.kubernetes.io/: "" + spec: + bootstrap: + dataSecretName: worker-user-data # <3> + clusterName: + infrastructureRef: + apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 + kind: OpenStackMachineTemplate # <4> + name: # <5> + failureDomain: # <6> +---- +<1> Specify a name for the compute machine set. +<2> Specify the cluster ID as the name of the cluster. +<3> For the Cluster API Technology Preview, the Operator can use the worker user data secret from the `openshift-machine-api` namespace. +<4> Specify the machine template kind. +This value must match the value for your platform. +<5> Specify the machine template name. +<6> Optional: Specify the name of the Nova availability zone for the machine set to create machines in. +If you do not specify a value, machines are not restricted to a specific availability zone. \ No newline at end of file diff --git a/modules/capi-yaml-machine-template-rhosp.adoc b/modules/capi-yaml-machine-template-rhosp.adoc new file mode 100644 index 0000000000..d34720cd88 --- /dev/null +++ b/modules/capi-yaml-machine-template-rhosp.adoc @@ -0,0 +1,34 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-rhosp.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-machine-template-rhosp_{context}"] += Sample YAML for a Cluster API machine template resource on {rh-openstack} + +The machine template resource is provider-specific and defines the basic properties of the machines that a compute machine set creates. +The compute machine set references this template when creating machines. + +[source,yaml] +---- +apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 +kind: OpenStackMachineTemplate # <1> +metadata: + name: # <2> + namespace: openshift-cluster-api +spec: + template: + spec: # <3> + flavor: # <4> + image: + filter: + name: # <5> +---- +<1> Specify the machine template kind. +This value must match the value for your platform. +<2> Specify a name for the machine template. +<3> Specify the details for your environment. +The values here are examples. +<4> Specify the {rh-openstack} flavor to use. +For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/configuring_the_compute_service_for_instance_creation/assembly_creating-flavors-for-launching-instances_instance-flavors[Creating flavors for launching instances]. +<5> Specify the image to use. \ No newline at end of file diff --git a/modules/cluster-capi-operator.adoc b/modules/cluster-capi-operator.adoc index c0bb6f46f5..82aa589a7a 100644 --- a/modules/cluster-capi-operator.adoc +++ b/modules/cluster-capi-operator.adoc @@ -7,7 +7,7 @@ [NOTE] ==== -This Operator is available as a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] for {aws-first}, {gcp-first}, {azure-first}, and {vmw-first} clusters. +This Operator is available as a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] for {aws-first}, {gcp-first}, {azure-first}, {rh-openstack-first}, and {vmw-first} clusters. ==== [discrete] @@ -26,29 +26,31 @@ link:https://github.com/openshift/cluster-capi-operator[cluster-capi-operator] * `awsmachines.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced ** CR: `awsmachine` -** Validation: No * `gcpmachines.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced ** CR: `gcpmachine` -** Validation: No + +* `openstackmachines.infrastructure.cluster.x-k8s.io` +** Scope: Namespaced +** CR: `openstackmachine` * `vspheremachines.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced ** CR: `vspheremachine` -** Validation: No * `awsmachinetemplates.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced ** CR: `awsmachinetemplate` -** Validation: No * `gcpmachinetemplates.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced ** CR: `gcpmachinetemplate` -** Validation: No + +* `openstackmachinetemplates.infrastructure.cluster.x-k8s.io` +** Scope: Namespaced +** CR: `openstackmachinetemplate` * `vspheremachinetemplates.infrastructure.cluster.x-k8s.io` ** Scope: Namespaced -** CR: `vspheremachinetemplate` -** Validation: No \ No newline at end of file +** CR: `vspheremachinetemplate` \ No newline at end of file