Skip to content

Commit ff737b7

Browse files
authored
Merge pull request #52520 from maxwelldb/shiftstack-external-ccm-osdocs3502
[OSDOCS-3502] Shiftstack external CCM GA
2 parents c4ad4f3 + 26068a5 commit ff737b7

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,8 @@ Topics:
396396
File: installing-openstack-user-kuryr
397397
- Name: Installing a cluster on OpenStack in a restricted network
398398
File: installing-openstack-installer-restricted
399+
- Name: OpenStack Cloud Controller Manager reference guide
400+
File: installing-openstack-cloud-config-reference
399401
# - Name: Load balancing deployments on OpenStack
400402
# File: installing-openstack-load-balancing
401403
- Name: Uninstalling a cluster on OpenStack
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
:_content-type: ASSEMBLY
2+
[id="installing-openstack-cloud-config-reference"]
3+
= OpenStack Cloud Controller Manager reference guide
4+
include::_attributes/common-attributes.adoc[]
5+
:context: installing-openstack-cloud-config-reference
6+
7+
toc::[]
8+
9+
include::modules/nw-openstack-external-ccm.adoc[leveloffset=+1]
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_openstack/installing-openstack-cloud-config-reference.adoc
4+
// TODO: GitHub link clearance.
5+
6+
:_content-type: CONCEPT
7+
[id="nw-openstack-external-ccm_{context}"]
8+
= The OpenStack Cloud Controller Manager
9+
10+
In {product-title} 4.12, clusters that run on {rh-openstack-first} are switched from the legacy OpenStack cloud provider to the external OpenStack Cloud Controller Manager (CCM). This change follows the move in Kubernetes from in-tree, legacy cloud providers to external cloud providers that are implemented by using the link:https://kubernetes.io/docs/concepts/architecture/cloud-controller/[Cloud Controller Manager].
11+
12+
To preserve user-defined configurations for the legacy cloud provider, existing configurations are mapped to new ones as part of the migration process. It searches for a configuration called `cloud-provider-config` in the `openshift-config` namespace.
13+
14+
NOTE: The config map name `cloud-provider-config` is not statically configured. It is derived from the `spec.cloudConfig.name` value in the `infrastructure/cluster` CRD.
15+
16+
Found configurations are synchronized to the `cloud-conf` config map in the `openshift-cloud-controller-manager` namespace.
17+
18+
// To synchronize the configuration to a different namespace, you can override the default `openshift-cloud-controller-manager` namespace by passing the name of the namespace with the `--namespace` flag to the operator binary.
19+
20+
As part of this synchronization, the OpenStack CCM Operator alters the new config map such that its properties are compatible with the external cloud provider. The file is changed in the following ways:
21+
22+
* The `[Global] secret-name`, `[Global] secret-namespace`, and `[Global] kubeconfig-path` options are removed. They do not apply to the external cloud provider.
23+
24+
* The `[Global] use-clouds`, `[Global] clouds-file`, and `[Global] cloud` options are added.
25+
26+
* The entire `[BlockStorage]` section is removed. External cloud providers no longer perform storage operations. Block storage configuration is managed by the Cinder CSI driver.
27+
28+
Additionally, the CCM Operator enforces a number of default options. Values for these options are always overriden as follows:
29+
30+
[source,txt]
31+
----
32+
[Global]
33+
use-clouds = true
34+
clouds-file = /etc/openstack/secret/clouds.yaml
35+
cloud = openstack
36+
...
37+
38+
[LoadBalancer]
39+
use-octavia = true
40+
enabled = true <1>
41+
----
42+
<1> If the network is configured to use Kuryr, this value is `false`.
43+
44+
The `clouds-value` value, `/etc/openstack/secret/clouds.yaml`, is mapped to the `openstack-cloud-credentials` config in the `openshift-cloud-controller-manager` namespace. You can modify the {rh-openstack} cloud in this file as you do any other `clouds.yaml` file.

0 commit comments

Comments
 (0)