You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<1> The source cloud `default` cell takes a new `DEFAULT_CELL_NAME` on the destined cloud after adoption.
127
-
In a multi-cell adoption scenario, you may either retain its original name `default`, or create as `cell<X>`, by providing the incremented index of the last cell in the source cloud (which is, by adding a 1 to it).
128
-
<2> For each cell, adjust <["standalone.localdomain"]="x.x.x.x">, and complete `COMPUTES_CELL<X>` and `COMPUTES_API_CELL<X>` data with the names and IP addresses of the {compute_service} nodes connected to the `ctlplane` and `internalapi` networks. Do not specify a real FQDN defined for each network, always use the same host name for each of its connected networks. Providing IP addresses and names of the hosts on remaining networks of the source cloud should be covered the similar way. Or you can adjust the generated files manually as shown below.
129
-
<3> If your deployment has a custom DNS Domain, put it in for FQDN of the nodes. The given values will be used in the dataplane node sets' `spec.nodes.<NODE NAME>.hostName`.
130
-
<4> Assign all {compute_service} nodes from the source cloud `cell1` cell into `COMPUTES_*CELL1`, and so on.
131
-
<5> Assign all {compute_service} nodes from the source cloud `default` cell into `openstack-<X>`,
132
-
where `<X>` is the `DEFAULT_CELL_NAME` environment variable value (here, it equals 'cell3').
133
-
<6> Cells not containing compute nodes will be omitted as no node sets for it should be created.
134
-
135
-
** When you have deployed the source cloud with only a 'default' cell, and want to rename it during adoption, you should define that instead:
128
+
<1> The source cloud `default` cell acquires a new `DEFAULT_CELL_NAME` on the destination cloud after adoption.
129
+
In a multi-cell adoption scenario, you can retain the original name, `default`, or create a new cell default name by providing the incremented index of the last cell in the source cloud. For example, if the incremented index of the last cell is `cell5`, the new cell default name is `cell6`.
130
+
<2> For each cell, update the `<["standalone.localdomain"]="x.x.x.x">` value and the and `COMPUTES_CELL<X>` value with the names and IP addresses of the {compute_service} nodes that are connected to the `ctlplane` and `internalapi` networks. Do not specify a real FQDN defined for each network. Always use the same hostname for each connected network of a Compute node. Provide the IP addresses and the names of the hosts on the remaining networks of the source cloud as needed. Or you can manually adjust the files that you generate in step 9 of this procedure.
131
+
<3> If your deployment has a custom DNS domain, specify it in the FQDN value of the nodes. This value is used in the data plane node set `spec.nodes.<NODE NAME>.hostName`.
132
+
<4> Assign all {compute_service} nodes from the source cloud `cell1` cell into `COMPUTES_CELL1`, and so on. Replace `<compute1>`, `<compute2>`, and `<compute3>` with the names of your {compute_service} nodes.
133
+
<5> Assign all {compute_service} nodes from the source cloud `default` cell into `COMPUTES_CELL<X>` and `COMPUTES_API_CELL<X>``, where `<X>` is the `DEFAULT_CELL_NAME` environment variable value. In this example, the `DEFAULT_CELL_NAME` environment variable value equals `cell3`.
134
+
<6> For each cell, update the `<["standalone.localdomain"]="192.168.122.100">` value and the `COMPUTES_API_CELL` value with the names and IP addresses of the {compute_service} nodes that are connected to the `ctlplane` and `internalapi` networks. Do not specify a real FQDN defined for each network. Use the same host name for each of its connected networks. Provide the IP addresses and the names of the hosts on the remaining networks of the source cloud as needed. Or you can manually adjust the files that you generate in step 9 of this procedure.
135
+
<7> Cells that do not contain Compute nodes are omitted from this template because no node sets are created for the cells.
136
136
+
137
+
[NOTE]
138
+
====
139
+
If you deployed the source cloud with a `default` cell, and want to rename it during adoption, define the new name that you want to use, as shown in the following example:
137
140
----
138
141
$ DEFAULT_CELL_NAME="cell1"
139
142
$ RENAMED_CELLS="cell1"
140
143
----
141
-
+
144
+
====
145
+
142
146
[NOTE]
147
+
====
143
148
Do not set a value for the `CEPH_FSID` parameter if the local storage back end is configured by the {compute_service} for libvirt. The storage back end must match the source cloud storage back end. You cannot change the storage back end during adoption.
. If TLS Everywhere is enabled, set LIBVIRT_PASSWORD to match the existing {OpenStackShort} deployment password:
196
+
. If TLS Everywhere is enabled, set `LIBVIRT_PASSWORD` to match the existing {OpenStackShort} deployment password:
192
197
+
193
198
----
194
199
declare -A TRIPLEO_PASSWORDS
@@ -211,7 +216,7 @@ data:
211
216
EOF
212
217
----
213
218
214
-
. Create a configuration map which should become common for all cells. To configure a local storage back end for libvirt:
219
+
. Create a configuration map to use for all cells to configure a local storage back end for libvirt:
215
220
+
216
221
----
217
222
$ oc apply -f - <<EOF
@@ -226,15 +231,13 @@ data: <1>
226
231
EOF
227
232
----
228
233
+
229
-
<1> The `data` resources in the `ConfigMap` provides configuration files for all cells.
230
-
<2> There is a requirement to index the <*.conf> files from '03' to '99', based on its precedence.
231
-
Whereis a <99-*.conf> takes top precedence. Indexes below '03' are reserved for internal use.
232
-
234
+
<1> The `data` resources in the `ConfigMap` provide the configuration files for all the cells.
235
+
<2> There is a requirement to index the `<*.conf>` files from '03' to '99', based on precedence. A `<99-*.conf>` file takes the highest precedence, while indexes below '03' are reserved for internal use.
236
+
+
233
237
[NOTE]
234
-
You should never delete, nor overwrite, the cell1's default `nova-extra-config` configuration map assigned to its default dataplane service 'nova'.
235
-
Adopting a live cloud might require other configurations to carry over for Nova EDPM services stored in that configuration map, without overwriting or losing them.
238
+
If you adopt a live cloud, you might be required to carry over additional configurations for the default `nova` data plane services that are stored in the cell1 default `nova-extra-config` configuration map. Do not delete or overwrite the existing configuration in the `cell1` default `nova-extra-config` configuration map that is assigned to `nova`. Overwriting the configuration can break the data place services that rely on specific contents of the `nova-extra-config` configuration map.
236
239
237
-
. To configure a Ceph back end for libvirt:
240
+
. Configure a {Ceph} back end for libvirt:
238
241
+
239
242
----
240
243
$ oc apply -f - <<EOF
@@ -258,14 +261,12 @@ data:
258
261
rbd_secret_uuid=$CEPH_FSID
259
262
EOF
260
263
----
261
-
+
262
264
263
-
. Create dataplane services for Nova cells to enable pre-upgrade workarounds,
264
-
and to configure the {compute_service} services for a picked storage back end:
265
+
. Create the data plane services for {compute_service} cells to enable pre-upgrade workarounds, and to configure the Compute services for your chosen storage back end:
265
266
+
266
267
----
267
268
for CELL in $(echo $RENAMED_CELLS); do
268
-
oc apply -f - <<EOF
269
+
$ oc apply -f - <<EOF
269
270
---
270
271
apiVersion: dataplane.openstack.org/v1beta1
271
272
kind: OpenStackDataPlaneService
@@ -289,7 +290,6 @@ EOF
289
290
done
290
291
----
291
292
+
292
-
293
293
* If TLS Everywhere is enabled, append the following content to the `OpenStackDataPlaneService` CR:
294
294
+
295
295
----
@@ -305,29 +305,22 @@ EOF
305
305
edpmServiceType: nova
306
306
----
307
307
+
308
-
<1> To enable a local metadata services for a cell<N>, append a `spec.dataSources.secretRef` to reference
309
-
an additional auto-generated `nova-cell<N>-metadata-neutron-config` secret. According to xref:adopting-the-compute-service_{context}[Adopting the Compute service] guide, you should also set
310
-
`spec.nova.template.cellTemplates.cell<N>.metadataServiceTemplate.enable` in the `OpenStackControlPlane/openstack` CR. You may either configure a single top level metadata, or you should define a per cell metadata for each cell.
311
-
<2> The secret `nova-cell<N>-compute-config` auto-generates for each `cell<N>`.
312
-
<3> You must append the `nova-cell<N>-compute-config` and `nova-migration-ssh-key` references for each custom `OpenStackDataPlaneService` CR that is related to the {compute_service}.
313
-
314
-
[NOTE]
315
-
For simplicity, we share the same `nova-migration-ssh-key` key across cells. You should use different keys for different cells.
316
-
317
-
* For simple configuration overrides, we do not need a custom dataplane service. However, to reconfigure the cell `cell1` in general,
318
-
the safest option would be always creating a custom service, and a dedicated configuration map for it.
319
-
320
-
[NOTE]
321
-
The cell `cell1` is already managed with the default `OpenStackDataPlaneService` called `nova`
322
-
and its `nova-extra-config` configuration map. Do not change the default dataplane service 'nova' definition.
323
-
The changes will be lost, when the {rhos_long} operator becomes updated with OLM.
324
-
325
-
* When a cell spans multiple node sets, you might want to name the custom `OpenStackDataPlaneService` resources like
326
-
`nova-cell1-nfv` and `nova-cell1-enterprise`. Then the auto-generated configmaps would be named
327
-
`nova-cell1-nfv-extra-config` and `nova-cell1-enterprise-extra-config`.
328
-
308
+
<1> To enable a local metadata service for cell<X>, append a `spec.dataSources.secretRef` to reference an additional auto-generated `nova-cell<X>-metadata-neutron-config` secret. You should also set
309
+
`spec.nova.template.cellTemplates.cell<X>.metadataServiceTemplate.enable` in the `OpenStackControlPlane/openstack` CR, as described in xref:adopting-the-compute-service_{context}[Adopting the Compute service]. You can configure a single top-level metadata, or define the metadata per cell.
310
+
<2> The secret `nova-cell<X>-compute-config` auto-generates for each `cell<X>`.
311
+
<3> You must append the `nova-cell<X>-compute-config` and `nova-migration-ssh-key` references for each custom `OpenStackDataPlaneService` CR that is related to the {compute_service}.
312
+
+
329
313
[NOTE]
330
-
Different configurations for nodes in multiple node sets of the same cell are also supported, albeit not covered in this guide.
314
+
====
315
+
When creating your data plane services for {compute_service} cells, review the following considerations:
316
+
317
+
* In this example, the same `nova-migration-ssh-key` key is shared across cells. However, you should use different keys for different cells.
318
+
* For simple configuration overrides, you do not need a custom data plane service. However, to reconfigure the cell, `cell1`,
319
+
the safest option is to create a custom service and a dedicated configuration map for it.
320
+
* The cell, `cell1`, is already managed with the default `OpenStackDataPlaneService` CR called `nova` and its `nova-extra-config` configuration map. Do not change the default data plane service `nova` definition. The changes are lost when the {rhos_acro} operator is updated with OLM.
321
+
* When a cell spans multiple node sets, give the custom `OpenStackDataPlaneService` resources a name that relates to the node set, for example, `nova-cell1-nfv` and `nova-cell1-enterprise`. The auto-generated configuration maps are then named `nova-cell1-nfv-extra-config` and `nova-cell1-enterprise-extra-config`.
322
+
* Different configurations for nodes in multiple node sets of the same cell are also supported, but are not covered in this guide.
323
+
====
331
324
332
325
ifeval::["{build}" == "downstream"]
333
326
. Create a secret for the subscription manager:
@@ -353,11 +346,11 @@ endif::[]
353
346
+
354
347
355
348
[NOTE]
356
-
The `subscription-manager` secret does not need to be referenced in `OpenStackDataPlaneService`'s `spec.dataSources` data.
357
-
It is already passed in via a node-specific `OpenStackDataPlaneNodeSet` data in `spec.nodeTemplate.ansible.ansibleVarsFrom`.
349
+
You do not need to reference the `subscription-manager` secret in the `dataSources` field of the `OpenStackDataPlaneService` CR.
350
+
The secret is already passed in with a node-specific `OpenStackDataPlaneNodeSet` CR in the `ansibleVarsFrom` property in the `nodeTemplate` field.
358
351
359
352
360
-
. Create the dataplane node sets definitions for each cell:
353
+
. Create the data plane node set definitions for each cell:
361
354
+
362
355
----
363
356
$ declare -A names
@@ -568,41 +561,42 @@ EOF
568
561
done
569
562
----
570
563
+
571
-
<1> If your deployment has a custom DNS Domain, modify the `spec:nodes:[NODE NAME]:hostName` to use fqdn for the node.
572
-
<2> The networks composition must match the source cloud configuration to avoid dataplane connectivity downtime. The ctlplane network must come first. The above commands only retain IP addresses for the hosts on `ctlplane` and `internalapi` networks. Complete it the same way for other networks, or update the resulted files manually.
573
-
<3> Use node sets names, like `openstack-cell1`, `openstack-cell2`. Only create node sets for cells containing compute nodes.
574
-
<4> If TLS Everywhere is enabled, change `spec.tlsEnabled` to `true`.
575
-
<5> If not adopting the telemetry services, omit it from the services list.
576
-
<6> The bridge name and other OVN and Neutron specific values must match the source cloud configuration to avoid dataplane connectivity downtime.
564
+
<1> If your deployment has a custom DNS Domain, specify the FQDN for the node.
565
+
<2> The network composition must match the source cloud configuration to avoid data plane connectivity downtime. The `ctlplane` network must come first. The commands only retain IP addresses for the hosts on the `ctlplane` and `internalapi` networks. Repeat this step for other isolated networks, or update the resulting files manually.
566
+
<3> Use node sets names, such as `openstack-cell1`, `openstack-cell2`. Only create node sets for cells that contain Compute nodes.
567
+
<4> If TLS Everywhere is enabled, change `tlsEnabled` to `true`.
568
+
<5> If you are not adopting telemetry services, omit it from the services list.
569
+
<6> The bridge name and other OVN and {networking_service}-specific values must match the source cloud configuration to avoid data plane connectivity downtime.
577
570
<7> Replace `<bridge_mappings>` with the value of the bridge mappings in your configuration, for example, `"datacentre:br-ctlplane"`.
578
-
<8> If you need to configure hugepages, adjust `<size>`. To configure multi-sized hugepages, create more items in the list. Note that the mount points must match the source cloud configuration.
579
-
580
-
* Ensure that you use the same `ovn-controller` settings in the `OpenStackDataPlaneNodeSet` CR that you used in the {compute_service} nodes before adoption. This configuration is stored in the `external_ids` column in the `Open_vSwitch` table in the Open vSwitch database:
571
+
<8> To configure huge pages, replace `<size>` with the size of the page. To configure multi-sized huge pages, create more items in the list. Note that the mount points must match the source cloud configuration.
581
572
+
573
+
[NOTE]
574
+
====
575
+
Ensure that you use the same `ovn-controller` settings in the `OpenStackDataPlaneNodeSet` CR that you used in the {compute_service} nodes before adoption. This configuration is stored in the `external_ids` column in the `Open_vSwitch` table in the Open vSwitch database:
Ensure that you use the same list of services from the original `OpenStackDataPlaneNodeSet` CR, except for the inserted `ceph-client` and `ceph-hci-pre` services.
637
+
Ensure that you use the same list of services from the original `OpenStackDataPlaneNodeSet` CR, except for the `ceph-client` and `ceph-hci-pre` services.
644
638
645
639
. Optional: Enable `neutron-sriov-nic-agent` in the `OpenStackDataPlaneNodeSet` CR:
If you created different migration SSH keys for different OpenStackDataPlaneService CRs, you should also define a separate `OpenStackDataPlaneDeployment` CR for each nodeset (or nodesets) representing a cell.
726
+
If you created different migration SSH keys for different `OpenStackDataPlaneService` CRs, you should also define a separate `OpenStackDataPlaneDeployment` CR for each node set or node sets that represent a cell.
733
727
734
728
.. When the validation is finished, confirm that the status of the Ansible EE pods is `Completed`:
After removing all services on {OpenStackPreviousInstaller} cell controllers, you may decomission those.
847
-
To become new cell compute nodes, you should re-provision decomissioned controllers as new EDPM hosts and add them into node sets of corresponding (or new) cells.
840
+
After you remove all the services from the {OpenStackPreviousInstaller} cell controllers, you can decomission the cell controllers.
841
+
To create new cell Compute nodes, you re-provision the decomissioned controllers as new data plane hosts and add them to the node sets of corresponding or new cells.
0 commit comments