-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Document Nova services adoption (no extra cell)
Note about remapping cell names from OSP cells naming scheme to the NG scheme with the superconductor layout. Adjust dependencies adoption (Placement, Nova cells DB) docs. Address the switch for service overrides spec instead of externalEndpoints. Remove Nova Metadata secret creation workaround from the EDPM adotopion docs. Signed-off-by: Bohdan Dobrelia <[email protected]>
- Loading branch information
Showing
6 changed files
with
233 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,6 +56,37 @@ cd ~/install_yamls/devsetup | |
make standalone | ||
``` | ||
|
||
**TODO (Q1/24)** | ||
|
||
# Deployment of a multi-stack topology for Nova cells v2 | ||
|
||
Create the edpm-compute-1 and edpm-compute-2 virtual machinee for Nova compute cells. | ||
``` | ||
make edpm_compute EDPM_COMPUTE_SUFFIX=1 | ||
make edpm_compute_repos EDPM_COMPUTE_SUFFIX=1 | ||
``` | ||
|
||
Omit the `edpm_deploy` make target to not making it managed from the control | ||
plane running on OCP. | ||
|
||
Instead, deploy it as a 2nd TripleO standalone Heat stack, | ||
with an extra OSP compute: | ||
``` | ||
make standalone EDPM_COMPUTE_SUFFIX=1 EDPM_COMPUTE_CEPH_ENABLED=false | ||
``` | ||
|
||
Ssh into deployed standalone host: | ||
``` | ||
ssh -i ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa [email protected] | ||
``` | ||
Discover the deployed compute host keys (a passwordless access is required by | ||
the Nova Live-migration feature): | ||
``` | ||
ssh-copy-id -i ~/.ssh/id_rsa [email protected] | ||
``` | ||
|
||
TODO Discover the remote compute node from the central controller node | ||
|
||
### Convenience steps | ||
|
||
To make our life easier we can copy the deployment passwords we'll be using | ||
|
@@ -116,6 +147,8 @@ export OS_CLOUD=standalone | |
source ~/install_yamls/devsetup/scripts/edpm-deploy-instance.sh | ||
``` | ||
|
||
TODO(bogdando): document creating a 2nd instance on another compute cell | ||
|
||
Confirm the image UUID can be seen in Ceph's images pool. | ||
``` | ||
ssh -i ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa [email protected] sudo cephadm shell -- rbd -p images ls -l | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
# Nova adoption | ||
|
||
## Prerequisites | ||
|
||
* Previous Adoption steps completed. Notably, | ||
* the [service databases](mariadb_copy.md) | ||
must already be imported into the podified MariaDB. | ||
* the [Placement service](placement_adoption.md) needs to be imported. | ||
|
||
## Variables | ||
|
||
(There are no shell variables necessary currently.) | ||
|
||
## Procedure - Nova adoption | ||
|
||
* Patch OpenStackControlPlane to deploy Nova: | ||
|
||
``` | ||
oc patch openstackcontrolplane openstack -n openstack --type=merge --patch ' | ||
spec: | ||
nova: | ||
enabled: true | ||
apiOverride: | ||
route: {} | ||
template: | ||
apiServiceTemplate: | ||
override: | ||
service: | ||
internal: | ||
metadata: | ||
annotations: | ||
metallb.universe.tf/address-pool: internalapi | ||
metallb.universe.tf/allow-shared-ip: internalapi | ||
metallb.universe.tf/loadBalancerIPs: 172.17.0.80 | ||
spec: | ||
type: LoadBalancer | ||
metadataServiceTemplate: | ||
override: | ||
service: | ||
metadata: | ||
annotations: | ||
metallb.universe.tf/address-pool: internalapi | ||
metallb.universe.tf/allow-shared-ip: internalapi | ||
metallb.universe.tf/loadBalancerIPs: 172.17.0.80 | ||
spec: | ||
type: LoadBalancer | ||
secret: osp-secret | ||
' | ||
``` | ||
|
||
## Post-checks | ||
|
||
> **NOTE** Post-adoption, there should be no compute hosts in the central (standalone) stack for | ||
> the only supported multi-cell topology there. | ||
The former pre-adoption central cell's `nova` DB (in terms of OSP) is going to | ||
be no longer used. | ||
|
||
FIXME: How to/should we adopt Nova compute hosts from the | ||
central stack of the source envirnment, if any? | ||
|
||
Verify the other cells databases naming (should become unchanged): | ||
``` | ||
nova_api -> nova_api | ||
nova_cell0 -> nova_cell0 | ||
nova_cell1 -> nova_cell1 | ||
nova -> no longer in use FXIME: its records should migrate to? | ||
``` | ||
|
||
* See that Nova endpoints are defined and pointing to the | ||
podified FQDNs and that Nova API responds. | ||
|
||
```bash | ||
alias openstack="oc exec -t openstackclient -- openstack" | ||
|
||
openstack endpoint list | grep nova | ||
|
||
# Without OpenStack client for Nova installed: | ||
NOVA_PUBLIC_URL=$(openstack endpoint list -c 'Service Name' -c 'Service Type' -c URL | grep nova | grep public | awk '{ print $6; }') | ||
curl "$NOVA_PUBLIC_URL" | ||
|
||
# With OpenStack client for Nova installed: | ||
openstack server list | ||
``` | ||
|
||
* Check the cells mappings, compare it to the values [noted earlier](backend_services_deployment.md#pre-checks) | ||
|
||
```bash | ||
> oc rsh openstack-galera-0 mysql -u root --password=12345678 -e 'select * from nova_api.cell_mappings;' | ||
Defaulted container "galera" out of: galera, mysql-bootstrap (init) | ||
+---------------------+---------------------+----+--------------------------------------+-------+--------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------+----------+ | ||
| created_at | updated_at | id | uuid | name | transport_url | database_connection | disabled | | ||
+---------------------+---------------------+----+--------------------------------------+-------+--------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------+----------+ | ||
| 2023-10-10 11:31:22 | 2023-10-10 11:31:23 | 1 | 00000000-0000-0000-0000-000000000000 | cell0 | rabbit:// | mysql+pymysql://nova_cell0:12345678@openstack/nova_cell0 | 0 | | ||
| 2023-10-10 11:31:43 | NULL | 2 | 10e461ba-b9de-4545-b180-11e03915ca3f | cell1 | rabbit://default_user_WKaxHjAoXETXcRzQQX2:[email protected]:5672 | mysql+pymysql://nova_cell1:12345678@openstack-cell1/nova_cell1 | 0 | | ||
+---------------------+---------------------+----+--------------------------------------+-------+--------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------+----------+ | ||
``` | ||
Note how cell1's `nova` DB became `nova_cell1`. | ||
TODO bring the nova-manage list cells equivalent and note about the (snipped) passwords should remain unchanged (if we import them from tripleo passwords file), or re-generated. | ||
|
||
``` | ||
> oc rsh openstack-galera-0 mysql -u root --password=12345678 -e 'show databases;' | ||
Defaulted container "galera" out of: galera, mysql-bootstrap (init) | ||
+--------------------+ | ||
| Database | | ||
+--------------------+ | ||
| cinder | | ||
| glance | | ||
| information_schema | | ||
| keystone | | ||
| mysql | | ||
| neutron | | ||
| nova_api | | ||
| nova_cell0 | | ||
| performance_schema | | ||
| placement | | ||
+--------------------+ | ||
> oc rsh openstack-cell1-galera-0 mysql -u root --password=12345678 -e 'show databases;' | ||
Defaulted container "galera" out of: galera, mysql-bootstrap (init) | ||
+--------------------+ | ||
| Database | | ||
+--------------------+ | ||
| information_schema | | ||
| mysql | | ||
| nova_cell1 | | ||
| performance_schema | | ||
+--------------------+ | ||
``` | ||
Note how cells' databases has been assigned to corresponding DB instances. | ||
|
||
TODO: check for a VM previosely running in 'nova' cell, should be now in `nova_cell1` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters