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 acquires a new `DEFAULT_CELL_NAME` on the destination cloud after adoption.
129
+
* `DEFAULT_CELL_NAME="cell3"` defines the source cloud `default` cell that acquires a new `DEFAULT_CELL_NAME` on the destination cloud after adoption.
129
130
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 `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.
131
+
* `export COMPUTES_CELL1=` defines the `<["standalone.localdomain"]="x.x.x.x">` value and the `COMPUTES_CELL<X>` value for each cell 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.
132
+
* `["standalone.localdomain"]="192.168.122.100"` defines the custom DNS domain in the FQDN value of the nodes. This value is used in the data plane node set `spec.nodes.<NODE NAME>.hostName`.
133
+
* `<compute1>`, `<compute2>`, and `<compute3>` specifies the names of your {compute_service} nodes. Assign all {compute_service} nodes from the source cloud `cell1` cell into `COMPUTES_CELL1`, and so on.
134
+
* `export COMPUTES_CELL3=(` specifies all {compute_service} nodes that you assign 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`.
135
+
* `export COMPUTES_API_CELL1=(` defines the `<["standalone.localdomain"]="192.168.122.100">` value and the `COMPUTES_API_CELL` value for each cell. Update these values 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.
136
+
* `NODESETS="'openstack-${CELL}', $NODESETS"` specifies the cells that contain Compute nodes. Cells that do not contain Compute nodes are omitted from this template because no node sets are created for the cells.
136
137
+
137
138
[NOTE]
138
139
====
@@ -224,15 +225,15 @@ apiVersion: v1
224
225
kind: ConfigMap
225
226
metadata:
226
227
name: nova-cells-global-config
227
-
data: <1>
228
-
99-nova-compute-cells-workarounds.conf: | <2>
228
+
data:
229
+
99-nova-compute-cells-workarounds.conf: |
229
230
[workarounds]
230
231
disable_compute_service_check_for_ffu=true
231
232
EOF
232
233
----
233
234
+
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.
235
+
* `data` provides the configuration files for all the cells.
236
+
* `99-nova-compute-cells-workarounds.conf: |` specifies the index of the `<*.conf>` files. 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
237
+
237
238
[NOTE]
238
239
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.
@@ -267,6 +268,7 @@ For {Ceph} environments with multi-cell configurations, you must name configurat
267
268
268
269
. 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:
269
270
+
271
+
[subs="+quotes"]
270
272
----
271
273
$ for CELL in $(echo $RENAMED_CELLS); do
272
274
> oc apply -f - <<EOF
@@ -276,11 +278,11 @@ $ for CELL in $(echo $RENAMED_CELLS); do
276
278
> metadata:
277
279
> name: nova-$CELL
278
280
> spec:
279
-
> dataSources: <1>
281
+
> dataSources:
280
282
> - secretRef:
281
-
> name: nova-$CELL-compute-config <2>
283
+
> name: nova-$CELL-compute-config
282
284
> - secretRef:
283
-
> name: nova-migration-ssh-key <3>
285
+
> name: nova-migration-ssh-key
284
286
> - configMapRef:
285
287
> name: nova-cells-global-config
286
288
> playbook: osp.edpm.nova
@@ -293,25 +295,10 @@ $ for CELL in $(echo $RENAMED_CELLS); do
293
295
> done
294
296
----
295
297
+
296
-
* If TLS Everywhere is enabled, append the following content to the `OpenStackDataPlaneService` CR:
297
-
+
298
-
----
299
-
tlsCerts:
300
-
contents:
301
-
- dnsnames
302
-
- ips
303
-
networks:
304
-
- ctlplane
305
-
issuer: osp-rootca-issuer-internal
306
-
edpmRoleServiceName: nova
307
-
caCerts: combined-ca-bundle
308
-
edpmServiceType: nova
309
-
----
310
-
+
311
-
<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
298
+
* `spec.dataSources.secretRef` specifies an additional auto-generated `nova-cell<X>-metadata-neutron-config` secret to enable a local metadata service for cell<X>. You should also set
312
299
`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.
313
-
<2> The secret `nova-cell<X>-compute-config` auto-generates for each `cell<X>`.
314
-
<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}.
300
+
* `nova-$CELL-compute-config` specifies thr secret that auto-generates for each `cell<X>`. You must append the `nova-cell<X>-compute-config` for each custom `OpenStackDataPlaneService` CR that is related to the {compute_service}.
301
+
* `nova-migration-ssh-key` spcecifies the secret that you must reference for each custom `OpenStackDataPlaneService` CR that is related to the {compute_service}.
315
302
+
316
303
[NOTE]
317
304
====
@@ -325,6 +312,21 @@ the safest option is to create a custom service and a dedicated configuration ma
325
312
* Different configurations for nodes in multiple node sets of the same cell are also supported, but are not covered in this guide.
326
313
====
327
314
315
+
. If TLS Everywhere is enabled, append the following content to the `OpenStackDataPlaneService` CR:
316
+
+
317
+
----
318
+
tlsCerts:
319
+
contents:
320
+
- dnsnames
321
+
- ips
322
+
networks:
323
+
- ctlplane
324
+
issuer: osp-rootca-issuer-internal
325
+
edpmRoleServiceName: nova
326
+
caCerts: combined-ca-bundle
327
+
edpmServiceType: nova
328
+
----
329
+
328
330
ifeval::["{build}" == "downstream"]
329
331
. Create a secret for the subscription manager:
330
332
+
@@ -355,6 +357,7 @@ The secret is already passed in with a node-specific `OpenStackDataPlaneNodeSet`
355
357
356
358
. Create the data plane node set definitions for each cell:
357
359
+
360
+
[subs="+quotes"]
358
361
----
359
362
$ declare -A names
360
363
$ for CELL in $(echo $RENAMED_CELLS); do
@@ -369,10 +372,10 @@ $ for CELL in $(echo $RENAMED_CELLS); do
369
372
ip_api="${ref_api}['$compute']"
370
373
cat >> computes-$CELL << EOF
371
374
${compute}:
372
-
hostName: $compute <1>
375
+
*hostName: $compute*
373
376
ansible:
374
377
ansibleHost: $compute
375
-
networks: <2>
378
+
*networks:*
376
379
- defaultRoute: true
377
380
fixedIP: ${!ip}
378
381
name: ctlplane
@@ -393,13 +396,13 @@ EOF
393
396
apiVersion: dataplane.openstack.org/v1beta1
394
397
kind: OpenStackDataPlaneNodeSet
395
398
metadata:
396
-
name: openstack-$CELL <3>
399
+
*name: openstack-$CELL*
397
400
spec:
398
-
tlsEnabled: false <4>
401
+
*tlsEnabled: false*
399
402
networkAttachments:
400
403
- ctlplane
401
404
preProvisioned: true
402
-
services:
405
+
*services*:
403
406
ifeval::["{build}" == "downstream"]
404
407
- redhat
405
408
endif::[]
@@ -417,7 +420,7 @@ endif::[]
417
420
- neutron-metadata
418
421
- libvirt
419
422
- nova-$CELL
420
-
- telemetry <5>
423
+
- telemetry
421
424
env:
422
425
- name: ANSIBLE_CALLBACKS_ENABLED
423
426
value: "profile_tasks"
@@ -494,15 +497,15 @@ endif::[]
494
497
#
495
498
# These vars are for the network config templates themselves and are
<1> If your deployment has a custom DNS Domain, specify the FQDN for the node.
568
-
<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.
569
-
<3> Use node sets names, such as `openstack-cell1`, `openstack-cell2`. Only create node sets for cells that contain Compute nodes.
570
-
<4> If TLS Everywhere is enabled, change `tlsEnabled` to `true`.
571
-
<5> If you are not adopting telemetry services, omit it from the services list.
572
-
<6> The bridge name and other OVN and {networking_service}-specific values must match the source cloud configuration to avoid data plane connectivity downtime.
573
-
<7> Replace `<bridge_mappings>` with the value of the bridge mappings in your configuration, for example, `"datacentre:br-ctlplane"`.
574
-
<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.
570
+
* `${compute}.hostName` specifies the FQDN for the node if your deployment has a custom DNS Domain.
571
+
* `${compute}.networks` specifies the network composition. 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.
572
+
* `metadata.name:` specifies the node set names for each cell, for example, `openstack-cell1`, `openstack-cell2`. Only create node sets for cells that contain Compute nodes.
573
+
* `spec.tlsEnabled` specifies whether TLS Everywhere is enabled. If it is enabled, change `tlsEnabled` to `true`.
574
+
* `spec.services` specifies the services to be adopted. If you are not adopting telemetry services, omit it from the services list.
575
+
* `neutron_physical_bridge_name: br-ctlplane` specifies the bridge name. The bridge name and other OVN and {networking_service}-specific values must match the source cloud configuration to avoid data plane connectivity downtime.
576
+
*`edpm_ovn_bridge_mappings: <bridge_mappings>` specifies the value of the bridge mappings in your configuration, for example, `"datacentre:br-ctlplane"`.
577
+
* `path: /dev/hugepages<size>` and `opts: pagesize=<size>` configures 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.
<1> If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example, `metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80`.
83
+
where:
84
+
85
+
<172.17.0.80>::
86
+
Specifies the load balancer IP. If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example, `metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80`.
83
87
+
84
88
[NOTE]
85
89
The {block_storage} as a back end establishes a dependency with the {image_service}. Any deployed `GlanceAPI` instances do not work if the {image_service} is configured with the {block_storage} that is not available in the `OpenStackControlPlane` custom resource.
Copy file name to clipboardExpand all lines: docs_user/modules/proc_adopting-image-service-with-ceph-backend.adoc
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ Adopt the {image_service_first_ref} that you deployed with a {Ceph} back end. Us
13
13
the `openstack` namespace and that the `extraMounts` property of the
14
14
`OpenStackControlPlane` custom resource (CR) is configured properly. For more information, see xref:configuring-a-ceph-backend_migrating-databases[Configuring a Ceph back end].
<1> If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example, `metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80`.
54
+
where:
55
+
56
+
<172.17.0.80>::
57
+
Specifies the load balancer IP. If you use IPv6, change the load balancer IP to the load balancer IP in your environment, for example, `metallb.universe.tf/loadBalancerIPs: fd00:bbbb::80`.
. Configure the `/etc/os-diff/os-diff.cfg` file and the `/etc/os-diff/ssh.config` file according to your environment. To allow os-diff to connect to your clouds and pull files from the services that you describe in the `config.yaml` file, you must set the following options in the `os-diff.cfg` file:
24
24
+
25
-
[source,yaml]
26
25
[subs=+quotes]
27
26
----
28
27
[Default]
@@ -32,8 +31,8 @@ service_config_file=config.yaml
32
31
33
32
[Tripleo]
34
33
35
-
ssh_cmd=ssh -F ssh.config <1>
36
-
director_host=standalone <2>
34
+
*ssh_cmd=ssh -F ssh.config*
35
+
*director_host=standalone*
37
36
container_engine=podman
38
37
connection=ssh
39
38
remote_config_path=/tmp/tripleo
@@ -46,8 +45,8 @@ connection=local
46
45
ssh_cmd=""
47
46
----
48
47
+
49
-
<1> Instructs os-diff to access your {OpenStackPreviousInstaller} host through SSH. The default value is `ssh -F ssh.config`. However, you can set the value without an ssh.config file, for example, `ssh -i /home/user/.ssh/id_rsa [email protected]`.
50
-
<2> The host to use to access your cloud, and the podman/docker binary is installed and allowed to interact with the running containers. You can leave this key blank.
48
+
* `ssh_cmd=ssh -F ssh.config` instructs os-diff to access your {OpenStackPreviousInstaller} host through SSH. The default value is `ssh -F ssh.config`. However, you can set the value without an ssh.config file, for example, `ssh -i /home/user/.ssh/id_rsa [email protected]`.
49
+
* `director_host=standalone` specifies the host to use to access your cloud, and the podman/docker binary is installed and allowed to interact with the running containers. You can leave this key blank.
51
50
52
51
. If you use a host file to connect to your cloud, configure the `ssh.config` file to allow os-diff to access your {OpenStackShort} environment, for example:
0 commit comments