From e89b910f9edb6bda252fb891113bd79183a714e9 Mon Sep 17 00:00:00 2001 From: Peter Matulis Date: Thu, 7 Oct 2021 17:55:19 -0400 Subject: [PATCH] Update install page for Xena Update the install-openstack page to Xena Add screenshots for OVS bridge section on the install-maas page Include various small corrections Change-Id: Iff1d382c19da37174da189496e7f63485b9268af --- deploy-guide/source/configure-openstack.rst | 36 ++-- deploy-guide/source/install-juju.rst | 4 +- deploy-guide/source/install-maas.rst | 25 ++- .../source/install-openstack-juju-status.rst | 192 +++++++++--------- deploy-guide/source/install-openstack.rst | 179 ++++++++-------- deploy-guide/source/install-overview.rst | 8 +- deploy-guide/source/media/ovs-bridge-1.png | Bin 0 -> 34665 bytes deploy-guide/source/media/ovs-bridge-2.png | Bin 0 -> 64548 bytes 8 files changed, 234 insertions(+), 210 deletions(-) create mode 100644 deploy-guide/source/media/ovs-bridge-1.png create mode 100644 deploy-guide/source/media/ovs-bridge-2.png diff --git a/deploy-guide/source/configure-openstack.rst b/deploy-guide/source/configure-openstack.rst index e4f5e1f..f77264e 100644 --- a/deploy-guide/source/configure-openstack.rst +++ b/deploy-guide/source/configure-openstack.rst @@ -65,7 +65,7 @@ Sample output: OS_REGION_NAME=RegionOne OS_AUTH_VERSION=3 OS_CACERT=/home/ubuntu/snap/openstackclients/common/root-ca.crt - OS_AUTH_URL=https://10.0.0.162:5000/v3 + OS_AUTH_URL=https://10.0.0.170:5000/v3 OS_PROJECT_DOMAIN_NAME=admin_domain OS_AUTH_PROTOCOL=https OS_USERNAME=admin @@ -97,13 +97,13 @@ The output will look similar to this: +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ - | 172dc2610f2a46cbbf64919a7b414266 | RegionOne | cinderv3 | volumev3 | True | admin | https://10.0.0.171:8776/v3/$(tenant_id)s | - | 60466514cde4401eaa810301bddb1d2c | RegionOne | glance | image | True | admin | https://10.0.0.167:9292 | - | 70be9abb201748078b6d91ff803ede86 | RegionOne | cinderv2 | volumev2 | True | admin | https://10.0.0.171:8776/v2/$(tenant_id)s | - | 835f368961744d3aa62b0b7ead24c5c4 | RegionOne | placement | placement | True | admin | https://10.0.0.165:8778 | - | 9478c33a71994f9daa4d79a5630f1784 | RegionOne | neutron | network | True | admin | https://10.0.0.161:9696 | - | bcff6b5d81474cb9884b8161865b1394 | RegionOne | keystone | identity | True | admin | https://10.0.0.162:35357/v3 | - | cb4dcb58607448c7981ddae79e8ca92d | RegionOne | nova | compute | True | admin | https://10.0.0.164:8774/v2.1 | + | 12011a63a8e24e2290986cf7d8c285db | RegionOne | cinderv3 | volumev3 | True | admin | https://10.0.0.179:8776/v3/$(tenant_id)s | + | 17a66b67744c42beb20135dca647a9a4 | RegionOne | keystone | identity | True | admin | https://10.0.0.170:35357/v3 | + | 296755b4627641379fd43095c5fab3ba | RegionOne | nova | compute | True | admin | https://10.0.0.172:8774/v2.1 | + | 682fd715c05f492fb0abc08f56e25439 | RegionOne | placement | placement | True | admin | https://10.0.0.173:8778 | + | 7b20063d208c40aa9d3e3d1152259868 | RegionOne | neutron | network | True | admin | https://10.0.0.169:9696 | + | a613af1a0d8349ee9329e1230e76b764 | RegionOne | cinderv2 | volumev2 | True | admin | https://10.0.0.179:8776/v2/$(tenant_id)s | + | b4fe417933704e8b86cfbca91811fcbf | RegionOne | glance | image | True | admin | https://10.0.0.175:9292 | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ If the endpoints aren't visible, it's likely your environment variables aren't @@ -124,7 +124,7 @@ a Focal amd64 image: .. code-block:: none - curl http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + curl http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img \ --output ~/cloud-images/focal-amd64.img Now import the image and call it 'focal-amd64': @@ -168,7 +168,7 @@ subnet is '10.0.0.0/24': openstack subnet create --network ext_net --no-dhcp \ --gateway 10.0.0.1 --subnet-range 10.0.0.0/24 \ - --allocation-pool start=10.0.0.10,end=10.0.0.200 \ + --allocation-pool start=10.0.0.40,end=10.0.0.99 \ ext_subnet .. important:: @@ -225,14 +225,14 @@ environment: echo $OS_AUTH_URL The output for the last command for this example is -**https://10.0.0.162:5000/v3**. +**https://10.0.0.170:5000/v3**. The contents of the file, say ``project1-rc``, will therefore look like this (assuming the user password is 'ubuntu'): .. code-block:: ini - export OS_AUTH_URL=https://10.0.0.162:5000/v3 + export OS_AUTH_URL=https://10.0.0.170:5000/v3 export OS_USER_DOMAIN_NAME=domain1 export OS_USERNAME=user1 export OS_PROJECT_DOMAIN_NAME=domain1 @@ -277,8 +277,8 @@ project-specific network with a private subnet. We'll also need a router to link this network to the public network created earlier. The non-admin user now creates a private internal network called 'user1_net' -and an accompanying subnet called 'user1_subnet' (the DNS server is pointing to -the MAAS server at 10.0.0.2): +and an accompanying subnet called 'user1_subnet' (the DNS server is the MAAS +server at 10.0.0.2): .. code-block:: none @@ -286,7 +286,7 @@ the MAAS server at 10.0.0.2): openstack subnet create --network user1_net --dns-nameserver 10.0.0.2 \ --gateway 192.168.0.1 --subnet-range 192.168.0/24 \ - --allocation-pool start=192.168.0.10,end=192.168.0.200 \ + --allocation-pool start=192.168.0.10,end=192.168.0.199 \ user1_subnet Now a router called 'user1_router' is created, added to the subnet, and told to @@ -295,8 +295,8 @@ use the public external network as its gateway network: .. code-block:: none openstack router create user1_router - openstack router set --external-gateway ext_net user1_router openstack router add subnet user1_router user1_subnet + openstack router set user1_router --external-gateway ext_net Configure SSH and security groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -305,7 +305,7 @@ An SSH keypair needs to be imported into the cloud in order to access your instances. Generate one first if you do not yet have one. This command creates a -passphraseless keypair (remove the `-N` option to avoid that): +passphraseless keypair (remove the ``-N`` option to avoid that): .. code-block:: none @@ -377,7 +377,7 @@ The instance is ready when the output contains: . . . - Ubuntu 20.04.2 LTS focal-1 ttyS0 + Ubuntu 20.04.3 LTS focal-1 ttyS0 focal-1 login: diff --git a/deploy-guide/source/install-juju.rst b/deploy-guide/source/install-juju.rst index 3191ed5..54dbcba 100644 --- a/deploy-guide/source/install-juju.rst +++ b/deploy-guide/source/install-juju.rst @@ -108,9 +108,9 @@ the environment. It should now look very similar to this: .. code-block:: none Model Controller Cloud/Region Version SLA Timestamp - openstack maas-controller mymaas/default 2.9.0 unsupported 01:51:00Z + openstack maas-controller mymaas/default 2.9.15 unsupported 15:56:13Z - Model "admin/openstack" is empty + Model "admin/openstack" is empty. Next steps ---------- diff --git a/deploy-guide/source/install-maas.rst b/deploy-guide/source/install-maas.rst index 7461d4c..20274c4 100644 --- a/deploy-guide/source/install-maas.rst +++ b/deploy-guide/source/install-maas.rst @@ -73,7 +73,7 @@ instructions`_ for details: .. code-block:: none sudo snap install maas-test-db - sudo snap install maas --channel=2.9/stable + sudo snap install maas --channel=3.0/stable sudo maas init region+rack --maas-url http://10.0.0.2:5240/MAAS --database-uri maas-test-db:/// sudo maas createadmin --username admin --password ubuntu --email admin@example.com --ssh-import lp: sudo maas apikey --username admin > ~ubuntu/admin-api-key @@ -200,8 +200,27 @@ Create OVS bridge ~~~~~~~~~~~~~~~~~ Create an Open vSwitch bridge from a network bond or a single interface. Here -we will do the latter with interface 'enp1s0'. The bridge will be named -'br-ex'. +we will do the latter with interface 'enp1s0': + +.. figure:: ./media/ovs-bridge-1.png + :scale: 70% + :alt: Select interface to use for OVS bridge + +.. role:: raw-html(raw) + :format: html + +:raw-html:`
` + +The bridge will be named 'br-ex': + +.. figure:: ./media/ovs-bridge-2.png + :scale: 70% + :alt: OVS bridge configuration + +.. role:: raw-html(raw) + :format: html + +:raw-html:`
` Multiple VLANs can be added to the bridge but in this example cloud a single untagged VLAN is used. diff --git a/deploy-guide/source/install-openstack-juju-status.rst b/deploy-guide/source/install-openstack-juju-status.rst index eb9c4a6..cc43b47 100644 --- a/deploy-guide/source/install-openstack-juju-status.rst +++ b/deploy-guide/source/install-openstack-juju-status.rst @@ -12,107 +12,107 @@ installed from the instructions given on the :doc:`Install OpenStack .. code-block:: console - Model Controller Cloud/Region Version SLA Timestamp - openstack maas-one maas-one/default 2.9.0 unsupported 01:35:20Z + Model Controller Cloud/Region Version SLA Timestamp + openstack maas-controller mymaas/default 2.9.15 unsupported 22:00:48Z - App Version Status Scale Charm Store Channel Rev OS Message - ceph-mon 16.2.0 active 3 ceph-mon charmstore stable 464 ubuntu Unit is ready and clustered - ceph-osd 16.2.0 active 4 ceph-osd charmstore stable 489 ubuntu Unit is ready (2 OSD) - ceph-radosgw 16.2.0 active 1 ceph-radosgw charmstore stable 398 ubuntu Unit is ready - cinder 18.0.0 active 1 cinder charmstore stable 436 ubuntu Unit is ready - cinder-ceph 18.0.0 active 1 cinder-ceph charmstore stable 352 ubuntu Unit is ready - cinder-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - dashboard-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - glance 22.0.0 active 1 glance charmstore stable 450 ubuntu Unit is ready - glance-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - keystone 19.0.0 active 1 keystone charmstore stable 542 ubuntu Application Ready - keystone-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - mysql-innodb-cluster 8.0.23 active 3 mysql-innodb-cluster charmstore stable 74 ubuntu Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - ncc-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - neutron-api 18.0.0 active 1 neutron-api charmstore stable 471 ubuntu Unit is ready - neutron-api-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - neutron-api-plugin-ovn 18.0.0 active 1 neutron-api-plugin-ovn charmstore stable 40 ubuntu Unit is ready - nova-cloud-controller 23.0.0 active 1 nova-cloud-controller charmstore stable 521 ubuntu Unit is ready - nova-compute 23.0.0 active 3 nova-compute charmstore stable 539 ubuntu Unit is ready - ntp 3.5 active 4 ntp charmstore stable 45 ubuntu chrony: Ready - openstack-dashboard 19.2.0 active 1 openstack-dashboard charmstore stable 505 ubuntu Unit is ready - ovn-central 20.12.0 active 3 ovn-central charmstore stable 51 ubuntu Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - ovn-chassis 20.12.0 active 3 ovn-chassis charmstore stable 63 ubuntu Unit is ready - placement 5.0.0 active 1 placement charmstore stable 47 ubuntu Unit is ready - placement-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready - rabbitmq-server 3.8.2 active 1 rabbitmq-server charmstore stable 406 ubuntu Unit is ready - vault 1.5.4 active 1 vault charmstore stable 141 ubuntu Unit is ready (active: true, mlock: disabled) - vault-mysql-router 8.0.23 active 1 mysql-router charmstore stable 48 ubuntu Unit is ready + App Version Status Scale Charm Store Channel Rev OS Message + ceph-mon 16.2.6 active 3 ceph-mon charmstore stable 482 ubuntu Unit is ready and clustered + ceph-osd 16.2.6 active 4 ceph-osd charmstore stable 502 ubuntu Unit is ready (1 OSD) + ceph-radosgw 16.2.6 active 1 ceph-radosgw charmstore stable 412 ubuntu Unit is ready + cinder 19.0.0 active 1 cinder charmstore stable 448 ubuntu Unit is ready + cinder-ceph 19.0.0 active 1 cinder-ceph charmstore stable 360 ubuntu Unit is ready + cinder-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + dashboard-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + glance 23.0.0 active 1 glance charmstore stable 473 ubuntu Unit is ready + glance-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + keystone 20.0.0 active 1 keystone charmstore stable 565 ubuntu Application Ready + keystone-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + mysql-innodb-cluster 8.0.26 active 3 mysql-innodb-cluster charmstore stable 88 ubuntu Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + ncc-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + neutron-api 19.0.0 active 1 neutron-api charmstore stable 485 ubuntu Unit is ready + neutron-api-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + neutron-api-plugin-ovn 19.0.0 active 1 neutron-api-plugin-ovn charmstore stable 46 ubuntu Unit is ready + nova-cloud-controller 24.0.0 active 1 nova-cloud-controller charmstore stable 552 ubuntu Unit is ready + nova-compute 24.0.0 active 3 nova-compute charmstore stable 577 ubuntu Unit is ready + ntp 3.5 active 4 ntp charmhub stable 47 ubuntu chrony: Ready + openstack-dashboard 20.1.0 active 1 openstack-dashboard charmstore stable 513 ubuntu Unit is ready + ovn-central 21.09.0~git2... active 3 ovn-central charmstore stable 68 ubuntu Unit is ready + ovn-chassis 21.09.0~git2... active 3 ovn-chassis charmstore stable 86 ubuntu Unit is ready + placement 6.0.0 active 1 placement charmstore stable 64 ubuntu Unit is ready + placement-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + rabbitmq-server 3.8.2 active 1 rabbitmq-server charmstore stable 440 ubuntu Unit is ready + vault 1.5.9 active 1 vault charmstore stable 153 ubuntu Unit is ready (active: true, mlock: disabled) + vault-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready Unit Workload Agent Machine Public address Ports Message - ceph-mon/0 active idle 0/lxd/3 10.0.0.170 Unit is ready and clustered - ceph-mon/1 active idle 1/lxd/3 10.0.0.169 Unit is ready and clustered - ceph-mon/2* active idle 2/lxd/4 10.0.0.168 Unit is ready and clustered - ceph-osd/0* active idle 0 10.0.0.150 Unit is ready (2 OSD) - ntp/3 active idle 10.0.0.150 123/udp chrony: Ready - ceph-osd/1 active idle 1 10.0.0.151 Unit is ready (2 OSD) - ntp/2 active idle 10.0.0.151 123/udp chrony: Ready - ceph-osd/2 active idle 2 10.0.0.152 Unit is ready (2 OSD) - ntp/1 active idle 10.0.0.152 123/udp chrony: Ready - ceph-osd/3 active idle 3 10.0.0.153 Unit is ready (2 OSD) - ntp/0* active idle 10.0.0.153 123/udp chrony: Ready - ceph-radosgw/0* active idle 0/lxd/4 10.0.0.172 80/tcp Unit is ready - cinder/0* active idle 1/lxd/4 10.0.0.171 8776/tcp Unit is ready - cinder-ceph/0* active idle 10.0.0.171 Unit is ready - cinder-mysql-router/0* active idle 10.0.0.171 Unit is ready - glance/0* active idle 3/lxd/3 10.0.0.167 9292/tcp Unit is ready - glance-mysql-router/0* active idle 10.0.0.167 Unit is ready - keystone/0* active idle 0/lxd/2 10.0.0.162 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.162 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.154 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.155 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.156 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.161 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.161 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.161 Unit is ready - nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.164 8774/tcp,8775/tcp Unit is ready - ncc-mysql-router/0* active idle 10.0.0.164 Unit is ready - nova-compute/0* active idle 1 10.0.0.151 Unit is ready - ovn-chassis/2 active idle 10.0.0.151 Unit is ready - nova-compute/1 active idle 2 10.0.0.152 Unit is ready - ovn-chassis/0* active idle 10.0.0.152 Unit is ready - nova-compute/2 active idle 3 10.0.0.153 Unit is ready - ovn-chassis/1 active idle 10.0.0.153 Unit is ready - openstack-dashboard/0* active idle 2/lxd/3 10.0.0.166 80/tcp,443/tcp Unit is ready - dashboard-mysql-router/0* active idle 10.0.0.166 Unit is ready - ovn-central/0* active idle 0/lxd/1 10.0.0.158 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - ovn-central/1 active idle 1/lxd/1 10.0.0.159 6641/tcp,6642/tcp Unit is ready - ovn-central/2 active idle 2/lxd/1 10.0.0.160 6641/tcp,6642/tcp Unit is ready - placement/0* active idle 3/lxd/2 10.0.0.165 8778/tcp Unit is ready - placement-mysql-router/0* active idle 10.0.0.165 Unit is ready - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.163 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.157 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.157 Unit is ready + ceph-mon/0* active idle 0/lxd/3 10.0.0.176 Unit is ready and clustered + ceph-mon/1 active idle 1/lxd/3 10.0.0.177 Unit is ready and clustered + ceph-mon/2 active idle 2/lxd/4 10.0.0.178 Unit is ready and clustered + ceph-osd/0 active idle 0 10.0.0.158 Unit is ready (1 OSD) + ntp/1 active idle 10.0.0.158 123/udp chrony: Ready + ceph-osd/1* active idle 1 10.0.0.159 Unit is ready (1 OSD) + ntp/2 active idle 10.0.0.159 123/udp chrony: Ready + ceph-osd/2 active idle 2 10.0.0.160 Unit is ready (1 OSD) + ntp/0* active idle 10.0.0.160 123/udp chrony: Ready + ceph-osd/3 active idle 3 10.0.0.161 Unit is ready (1 OSD) + ntp/3 active idle 10.0.0.161 123/udp chrony: Ready + ceph-radosgw/0* active idle 0/lxd/4 10.0.0.180 80/tcp Unit is ready + cinder/0* active idle 1/lxd/4 10.0.0.179 8776/tcp Unit is ready + cinder-ceph/0* active idle 10.0.0.179 Unit is ready + cinder-mysql-router/0* active idle 10.0.0.179 Unit is ready + glance/0* active idle 3/lxd/3 10.0.0.175 9292/tcp Unit is ready + glance-mysql-router/0* active idle 10.0.0.175 Unit is ready + keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready + neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready + nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.172 8774/tcp,8775/tcp Unit is ready + ncc-mysql-router/0* active idle 10.0.0.172 Unit is ready + nova-compute/0* active idle 1 10.0.0.159 Unit is ready + ovn-chassis/3 active idle 10.0.0.159 Unit is ready + nova-compute/1 active idle 2 10.0.0.160 Unit is ready + ovn-chassis/2 active idle 10.0.0.160 Unit is ready + nova-compute/2 active idle 3 10.0.0.161 Unit is ready + ovn-chassis/1* active idle 10.0.0.161 Unit is ready + openstack-dashboard/0* active idle 2/lxd/3 10.0.0.174 80/tcp,443/tcp Unit is ready + dashboard-mysql-router/0* active idle 10.0.0.174 Unit is ready + ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready + ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready + ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) + placement/0* active idle 3/lxd/2 10.0.0.173 8778/tcp Unit is ready + placement-mysql-router/0* active idle 10.0.0.173 Unit is ready + rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.164 Unit is ready Machine State DNS Inst id Series AZ Message - 0 started 10.0.0.150 node4 focal default Deployed - 0/lxd/0 started 10.0.0.154 juju-3d942c-0-lxd-0 focal default Container started - 0/lxd/1 started 10.0.0.158 juju-3d942c-0-lxd-1 focal default Container started - 0/lxd/2 started 10.0.0.162 juju-3d942c-0-lxd-2 focal default Container started - 0/lxd/3 started 10.0.0.170 juju-3d942c-0-lxd-3 focal default Container started - 0/lxd/4 started 10.0.0.172 juju-3d942c-0-lxd-4 focal default Container started - 1 started 10.0.0.151 node1 focal default Deployed - 1/lxd/0 started 10.0.0.155 juju-3d942c-1-lxd-0 focal default Container started - 1/lxd/1 started 10.0.0.159 juju-3d942c-1-lxd-1 focal default Container started - 1/lxd/2 started 10.0.0.161 juju-3d942c-1-lxd-2 focal default Container started - 1/lxd/3 started 10.0.0.169 juju-3d942c-1-lxd-3 focal default Container started - 1/lxd/4 started 10.0.0.171 juju-3d942c-1-lxd-4 focal default Container started - 2 started 10.0.0.152 node2 focal default Deployed - 2/lxd/0 started 10.0.0.156 juju-3d942c-2-lxd-0 focal default Container started - 2/lxd/1 started 10.0.0.160 juju-3d942c-2-lxd-1 focal default Container started - 2/lxd/2 started 10.0.0.163 juju-3d942c-2-lxd-2 focal default Container started - 2/lxd/3 started 10.0.0.166 juju-3d942c-2-lxd-3 focal default Container started - 2/lxd/4 started 10.0.0.168 juju-3d942c-2-lxd-4 focal default Container started - 3 started 10.0.0.153 node3 focal default Deployed - 3/lxd/0 started 10.0.0.157 juju-3d942c-3-lxd-0 focal default Container started - 3/lxd/1 started 10.0.0.164 juju-3d942c-3-lxd-1 focal default Container started - 3/lxd/2 started 10.0.0.165 juju-3d942c-3-lxd-2 focal default Container started - 3/lxd/3 started 10.0.0.167 juju-3d942c-3-lxd-3 focal default Container started + 0 started 10.0.0.158 node1 focal default Deployed + 0/lxd/0 started 10.0.0.162 juju-c6e3fb-0-lxd-0 focal default Container started + 0/lxd/1 started 10.0.0.166 juju-c6e3fb-0-lxd-1 focal default Container started + 0/lxd/2 started 10.0.0.170 juju-c6e3fb-0-lxd-2 focal default Container started + 0/lxd/3 started 10.0.0.176 juju-c6e3fb-0-lxd-3 focal default Container started + 0/lxd/4 started 10.0.0.180 juju-c6e3fb-0-lxd-4 focal default Container started + 1 started 10.0.0.159 node2 focal default Deployed + 1/lxd/0 started 10.0.0.163 juju-c6e3fb-1-lxd-0 focal default Container started + 1/lxd/1 started 10.0.0.167 juju-c6e3fb-1-lxd-1 focal default Container started + 1/lxd/2 started 10.0.0.169 juju-c6e3fb-1-lxd-2 focal default Container started + 1/lxd/3 started 10.0.0.177 juju-c6e3fb-1-lxd-3 focal default Container started + 1/lxd/4 started 10.0.0.179 juju-c6e3fb-1-lxd-4 focal default Container started + 2 started 10.0.0.160 node3 focal default Deployed + 2/lxd/0 started 10.0.0.165 juju-c6e3fb-2-lxd-0 focal default Container started + 2/lxd/1 started 10.0.0.168 juju-c6e3fb-2-lxd-1 focal default Container started + 2/lxd/2 started 10.0.0.171 juju-c6e3fb-2-lxd-2 focal default Container started + 2/lxd/3 started 10.0.0.174 juju-c6e3fb-2-lxd-3 focal default Container started + 2/lxd/4 started 10.0.0.178 juju-c6e3fb-2-lxd-4 focal default Container started + 3 started 10.0.0.161 node4 focal default Deployed + 3/lxd/0 started 10.0.0.164 juju-c6e3fb-3-lxd-0 focal default Container started + 3/lxd/1 started 10.0.0.172 juju-c6e3fb-3-lxd-1 focal default Container started + 3/lxd/2 started 10.0.0.173 juju-c6e3fb-3-lxd-2 focal default Container started + 3/lxd/3 started 10.0.0.175 juju-c6e3fb-3-lxd-3 focal default Container started Relation provider Requirer Interface Type Message ceph-mon:client cinder-ceph:ceph ceph-client regular diff --git a/deploy-guide/source/install-openstack.rst b/deploy-guide/source/install-openstack.rst index 7fa53d0..ff8a638 100644 --- a/deploy-guide/source/install-openstack.rst +++ b/deploy-guide/source/install-openstack.rst @@ -60,9 +60,9 @@ OpenStack release do use this method). As the :doc:`Overview ` of the Installation section states, -OpenStack Wallaby will be deployed atop Ubuntu 20.04 LTS (Focal) cloud nodes. -In order to achieve this a cloud archive release of 'cloud:focal-wallaby' will -be used during the install of each OpenStack application. Note that some +OpenStack Xena will be deployed atop Ubuntu 20.04 LTS (Focal) cloud nodes. In +order to achieve this a cloud archive release of 'cloud:focal-xena' will be +used during the install of each OpenStack application. Note that some applications are not part of the OpenStack project per se and therefore do not apply (exceptionally, Ceph applications do use this method). Not using a more recent OpenStack release in this way will result in an Ussuri deployment (i.e. @@ -75,8 +75,7 @@ and how they are used when upgrading OpenStack. .. important:: The chosen OpenStack release may impact the installation and configuration - instructions. **This guide assumes that OpenStack Wallaby is being - deployed.** + instructions. **This guide assumes that OpenStack Xena is being deployed.** Installation progress --------------------- @@ -125,13 +124,13 @@ The name of the block devices backing the OSDs is dependent upon the hardware on the nodes. All possible devices across the nodes should be given as the value for the ``osd-devices`` option (space-separated). Here, we'll be using the same device on each cloud node: ``/dev/sdb``. File ``ceph-osd.yaml`` -contains the configuration. +contains the configuration: .. code-block:: yaml ceph-osd: osd-devices: /dev/sdb - source: cloud:focal-wallaby + source: cloud:focal-xena To deploy the application we'll make use of the 'compute' tag that we placed on each of these nodes on the :doc:`Install MAAS ` page: @@ -166,7 +165,7 @@ charm. We'll then scale-out the application to two other machines. File enable-live-migration: true enable-resize: true migration-auth-type: ssh - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena The initial node must be targeted by machine since there are no more free Juju machines (MAAS nodes) available. This means we're placing multiple services on @@ -236,18 +235,18 @@ status` should look similar to this: .. code-block:: console Unit Workload Agent Machine Public address Ports Message - ceph-osd/0* blocked idle 0 10.0.0.150 Missing relation: monitor - ceph-osd/1 blocked idle 1 10.0.0.151 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.152 Missing relation: monitor - ceph-osd/3 blocked idle 3 10.0.0.153 Missing relation: monitor - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.154 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.155 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.156 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - nova-compute/0* blocked idle 1 10.0.0.151 Missing relations: messaging, image - nova-compute/1 blocked idle 2 10.0.0.152 Missing relations: messaging, image - nova-compute/2 blocked idle 3 10.0.0.153 Missing relations: messaging, image - vault/0* active idle 3/lxd/0 10.0.0.157 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.157 Unit is ready + ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor + ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor + ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: messaging, image + nova-compute/1 blocked idle 2 10.0.0.160 Missing relations: messaging, image + nova-compute/2 blocked idle 3 10.0.0.161 Missing relations: image, messaging + vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.164 Unit is ready Cloud applications are TLS-enabled via the ``vault:certificates`` relation. Below we start with the cloud database. Although the latter has a self-signed @@ -280,9 +279,9 @@ File ``neutron.yaml`` contains the configuration necessary for three of them: neutron-security-groups: true flat-network-providers: physnet1 worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena ovn-central: - source: cloud:focal-wallaby + source: cloud:focal-xena The ``bridge-interface-mappings`` setting impacts the OVN Chassis and refers to a mapping of OVS bridge to network interface. As described in the :ref:`Create @@ -348,7 +347,7 @@ The keystone application will be containerised on machine 0. File keystone: worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena To deploy: @@ -393,31 +392,35 @@ look similar to this: .. code-block:: console + Unit Workload Agent Machine Public address Ports Message - ceph-osd/0* blocked idle 0 10.0.0.150 Missing relation: monitor - ceph-osd/1 blocked idle 1 10.0.0.151 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.152 Missing relation: monitor - ceph-osd/3 blocked idle 3 10.0.0.153 Missing relation: monitor - keystone/0* active idle 0/lxd/2 10.0.0.162 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.162 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.154 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.155 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.156 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.161 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.161 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.161 Unit is ready - nova-compute/0* blocked idle 1 10.0.0.151 Missing relations: image - ovn-chassis/2 active idle 10.0.0.151 Unit is ready - nova-compute/1 blocked idle 2 10.0.0.152 Missing relations: image - ovn-chassis/0* active idle 10.0.0.152 Unit is ready - nova-compute/2 blocked idle 3 10.0.0.153 Missing relations: image - ovn-chassis/1 active idle 10.0.0.153 Unit is ready - ovn-central/0* active idle 0/lxd/1 10.0.0.158 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - ovn-central/1 active idle 1/lxd/1 10.0.0.159 6641/tcp,6642/tcp Unit is ready - ovn-central/2 active idle 2/lxd/1 10.0.0.160 6641/tcp,6642/tcp Unit is ready - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.163 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.157 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.157 Unit is ready + ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor + ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor + ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor + keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to + ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to + ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to + ONE failure. + neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready + neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready + nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: image + ovn-chassis/3 active idle 10.0.0.159 Unit is ready + nova-compute/1 blocked idle 2 10.0.0.160 Missing relations: image + ovn-chassis/2 active idle 10.0.0.160 Unit is ready + nova-compute/2 blocked idle 3 10.0.0.161 Missing relations: image + ovn-chassis/1* active idle 10.0.0.161 Unit is ready + ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready + ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready + ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) + rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.164 Unit is ready Nova cloud controller ~~~~~~~~~~~~~~~~~~~~~ @@ -432,7 +435,7 @@ the configuration: nova-cloud-controller: network-manager: Neutron worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena To deploy: @@ -474,7 +477,7 @@ The placement application will be containerised on machine 3 with the placement: worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena To deploy: @@ -506,7 +509,7 @@ The openstack-dashboard application (Horizon) will be containerised on machine .. code-block:: none - juju deploy --to lxd:2 --config openstack-origin=cloud:focal-wallaby openstack-dashboard + juju deploy --to lxd:2 --config openstack-origin=cloud:focal-xena openstack-dashboard Join openstack-dashboard to the cloud database: @@ -539,7 +542,7 @@ charm. File ``glance.yaml`` contains the configuration: glance: worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena To deploy: @@ -570,38 +573,40 @@ look similar to this: .. code-block:: console Unit Workload Agent Machine Public address Ports Message - ceph-osd/0* blocked idle 0 10.0.0.150 Missing relation: monitor - ceph-osd/1 blocked idle 1 10.0.0.151 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.152 Missing relation: monitor - ceph-osd/3 blocked idle 3 10.0.0.153 Missing relation: monitor - glance/0* active idle 3/lxd/3 10.0.0.167 9292/tcp Unit is ready - glance-mysql-router/0* active idle 10.0.0.167 Unit is ready - keystone/0* active idle 0/lxd/2 10.0.0.162 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.162 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.154 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.155 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.156 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.161 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.161 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.161 Unit is ready - nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.164 8774/tcp,8775/tcp Unit is ready - ncc-mysql-router/0* active idle 10.0.0.164 Unit is ready - nova-compute/0* active idle 1 10.0.0.151 Unit is ready - ovn-chassis/2 active idle 10.0.0.151 Unit is ready - nova-compute/1 active idle 2 10.0.0.152 Unit is ready - ovn-chassis/0* active idle 10.0.0.152 Unit is ready - nova-compute/2 active idle 3 10.0.0.153 Unit is ready - ovn-chassis/1 active idle 10.0.0.153 Unit is ready - openstack-dashboard/0* active idle 2/lxd/3 10.0.0.166 80/tcp,443/tcp Unit is ready - dashboard-mysql-router/0* active idle 10.0.0.166 Unit is ready - ovn-central/0* active idle 0/lxd/1 10.0.0.158 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - ovn-central/1 active idle 1/lxd/1 10.0.0.159 6641/tcp,6642/tcp Unit is ready - ovn-central/2 active idle 2/lxd/1 10.0.0.160 6641/tcp,6642/tcp Unit is ready - placement/0* active idle 3/lxd/2 10.0.0.165 8778/tcp Unit is ready - placement-mysql-router/0* active idle 10.0.0.165 Unit is ready - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.163 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.157 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.157 Unit is ready + ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor + ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor + ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor + glance/0* active idle 3/lxd/3 10.0.0.175 9292/tcp Unit is ready + glance-mysql-router/0* active idle 10.0.0.175 Unit is ready + keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to + ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to + ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready + neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready + nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.172 8774/tcp,8775/tcp Unit is ready + ncc-mysql-router/0* active idle 10.0.0.172 Unit is ready + nova-compute/0* active idle 1 10.0.0.159 Unit is ready + ovn-chassis/3 active idle 10.0.0.159 Unit is ready + nova-compute/1 active idle 2 10.0.0.160 Unit is ready + ovn-chassis/2 active idle 10.0.0.160 Unit is ready + nova-compute/2 active idle 3 10.0.0.161 Unit is ready + ovn-chassis/1* active idle 10.0.0.161 Unit is ready + openstack-dashboard/0* active idle 2/lxd/3 10.0.0.174 80/tcp,443/tcp Unit is ready + dashboard-mysql-router/0* active idle 10.0.0.174 Unit is ready + ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready + ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready + ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) + placement/0* active idle 3/lxd/2 10.0.0.173 8778/tcp Unit is ready + placement-mysql-router/0* active idle 10.0.0.173 Unit is ready + rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.164 Unit is ready Ceph monitor ~~~~~~~~~~~~ @@ -612,9 +617,9 @@ The ceph-mon application will be containerised on machines 0, 1, and 2 with the .. code-block:: yaml ceph-mon: - expected-osd-count: 3 + expected-osd-count: 4 monitor-count: 3 - source: cloud:focal-wallaby + source: cloud:focal-xena .. code-block:: none @@ -648,7 +653,7 @@ charm. File ``cinder.yaml`` contains the configuration: block-device: None glance-api-version: 2 worker-multiplier: 0.25 - openstack-origin: cloud:focal-wallaby + openstack-origin: cloud:focal-xena To deploy: @@ -705,7 +710,7 @@ The ceph-radosgw application will be containerised on machine 0 with the .. code-block:: none - juju deploy --to lxd:0 --config source=cloud:focal-wallaby ceph-radosgw + juju deploy --to lxd:0 --config source=cloud:focal-xena ceph-radosgw A single relation is needed: diff --git a/deploy-guide/source/install-overview.rst b/deploy-guide/source/install-overview.rst index 2d4948b..a3559d1 100644 --- a/deploy-guide/source/install-overview.rst +++ b/deploy-guide/source/install-overview.rst @@ -7,15 +7,15 @@ multi-node OpenStack cloud with `MAAS`_, `Juju`_, and `OpenStack Charms`_. For easy adoption the cloud will be minimal. Nevertheless, it will be capable of both performing some real work and scaling to fit more ambitious projects. High availability will not be implemented beyond natively HA applications (Ceph, -MySQL8, OVN, Swift, and RabbitMQ). +MySQL, OVN, Swift, and RabbitMQ). The software versions used in this guide are as follows: * **Ubuntu 20.04 LTS (Focal)** for the MAAS server, Juju client, Juju controller, and all cloud nodes (including containers) -* **MAAS 2.9.2** -* **Juju 2.9.0** -* **OpenStack Wallaby** +* **MAAS 3.0.0** +* **Juju 2.9.15** +* **OpenStack Xena** Proceed to the :doc:`Install MAAS ` page to begin your installation journey. Hardware requirements are also listed there. diff --git a/deploy-guide/source/media/ovs-bridge-1.png b/deploy-guide/source/media/ovs-bridge-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a524dc1a61dc633c3563d5f2877bb49a457e1c0e GIT binary patch literal 34665 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 literal 0 HcmV?d00001 diff --git a/deploy-guide/source/media/ovs-bridge-2.png b/deploy-guide/source/media/ovs-bridge-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb28152817d5a83d8c9bef933e792a8c3381da GIT binary patch literal 64548 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¥e#9W+4KLaKbp_ZMTj58U$0#&>y00_+OL5OmQG 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