diff --git a/doc/source/contributor/internals/ovn/database_consistency.rst b/doc/source/contributor/internals/ovn/database_consistency.rst index be0b789cfee..d0f12452833 100644 --- a/doc/source/contributor/internals/ovn/database_consistency.rst +++ b/doc/source/contributor/internals/ovn/database_consistency.rst @@ -410,9 +410,7 @@ Some things to keep in mind about this approach: also difficult. In my tests, I've noticed that 3 journal threads per controller worked better but that number was pure based on ``trial & error``. In production this number should probably be - calculated based in the environment, perhaps something like `TripleO - `_ (or any upper layer) would be in a better - position to make that decision. + calculated based in the environment. * At least temporarily, the data in the Neutron database is duplicated between the normal tables and the journal one. diff --git a/doc/source/install/ovn/figures/tripleo-ovn-arch.svg b/doc/source/install/ovn/figures/tripleo-ovn-arch.svg deleted file mode 100644 index 243c97a1560..00000000000 --- a/doc/source/install/ovn/figures/tripleo-ovn-arch.svg +++ /dev/null @@ -1,3175 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - External/Provider Net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VM1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VM2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VM3 - - - - - -   - - vlan20InternalAPI - - - - vlan10External - - Controller Node 1..3 - ... - - - vlan50Tenant/geneve - - - - - br-ex - - - - br-int - - - - - - eth0 - - - - - eth0 - - - - - eth0 - - - - eth1 - - - - Compute Node 1 - - - vlan20InternalAPI - - ... - - - vlan50Tenant/geneve - - - - - br-ex - - - - br-int - - - - undercloud - - 10.0.0.0/24 - - - - - - - Internal APINBDB/SBDB - 172.17.0.0/24 - - - - - - - - - TenantEncapsulation - 172.16.0.0/24 - - - - - - - - - - - - Control Plane - 192.24.0.0/24 - - - - - - - - - virt host net - 192.23.0.0/24 - - - - - - - diff --git a/doc/source/install/ovn/index.rst b/doc/source/install/ovn/index.rst index 9bc9763064e..e1c302f45e3 100644 --- a/doc/source/install/ovn/index.rst +++ b/doc/source/install/ovn/index.rst @@ -8,4 +8,3 @@ OVN Install Documentation :maxdepth: 1 manual_install.rst - tripleo_install.rst diff --git a/doc/source/install/ovn/tripleo_install.rst b/doc/source/install/ovn/tripleo_install.rst deleted file mode 100644 index 5b8be884625..00000000000 --- a/doc/source/install/ovn/tripleo_install.rst +++ /dev/null @@ -1,286 +0,0 @@ -.. _tripleo_install: - -============================= -TripleO/RDO based deployments -============================= - -`TripleO `_ is a project aimed at installing, -upgrading and operating OpenStack clouds using OpenStack's own cloud -facilities as the foundation. - -`RDO `_ is the OpenStack distribution that runs on -top of CentOS, and can be deployed via TripleO. - -`TripleO Quickstart`_ is an easy way to try out TripleO in a libvirt -virtualized environment. - -In this document we will stick to the details of installing a 3 controller -+ 1 compute in high availability through TripleO Quickstart, but the -non-quickstart details in this document also work with TripleO. - -.. _`TripleO Quickstart`: https://github.com/openstack/tripleo-quickstart/blob/master/README.rst - -.. note:: - This deployment requires 32GB for the VMs, so your host may have >32GB of - RAM at least. If you have 32GB I recommend to trim down the compute node - memory in "config/nodes/3ctlr_1comp.yml" to 2GB and controller nodes to 5GB. - - -Deployment steps -================ - -#. Download the quickstart.sh script with curl: - - .. code-block:: console - - $ curl -O https://raw.githubusercontent.com/openstack/tripleo-quickstart/master/quickstart.sh - -#. Install the necessary dependencies by running: - - .. code-block:: console - - $ bash quickstart.sh --install-deps - -#. Clone the tripleo-quickstart and neutron repositories: - - .. code-block:: console - - $ git clone https://opendev.org/openstack/tripleo-quickstart - $ git clone https://opendev.org/openstack/neutron - -#. Once you're done, run quickstart as follows (3 controller HA + 1 compute): - - .. code-block:: console - - # Exporting the tags is a workaround until the bug - # https://bugs.launchpad.net/tripleo/+bug/1737602 is resolved - - $ export ansible_tags="untagged,provision,environment,libvirt,\ - undercloud-scripts,undercloud-inventory,overcloud-scripts,\ - undercloud-setup,undercloud-install,undercloud-post-install,\ - overcloud-prep-config" - - $ bash ./quickstart.sh --tags $ansible_tags --teardown all \ - --release master-tripleo-ci \ - --nodes tripleo-quickstart/config/nodes/3ctlr_1comp.yml \ - --config neutron/tools/tripleo/ovn.yml \ - $VIRTHOST - - .. note:: - - When deploying directly on ``localhost`` use the loopback address - 127.0.0.2 as your $VIRTHOST. The loopback address 127.0.0.1 is - reserved by ansible. Also make sure that 127.0.0.2 is accessible - via public keys:: - - $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys - - .. note:: - You can adjust RAM/VCPUs if you want by editing - *config/nodes/3ctlr_1comp.yml* before running the above command. If - you have enough memory stick to the defaults. We recommend using 8GB - of RAM for the controller nodes. - -#. When quickstart has finished you will have 5 VMs ready to be used, 1 for - the undercloud (TripleO's node to deploy your openstack from), 3 VMs for - controller nodes and 1 VM for the compute node. - -#. Log in into the undercloud: - - .. code-block:: console - - $ ssh -F ~/.quickstart/ssh.config.ansible undercloud - -#. Prepare overcloud container images: - - .. code-block:: console - - [stack@undercloud ~]$ ./overcloud-prep-containers.sh - -#. Run inside the undercloud: - - .. code-block:: console - - [stack@undercloud ~]$ ./overcloud-deploy.sh - -#. Grab a coffee, that may take around 1 hour (depending on your hardware). - -#. If anything goes wrong, go to IRC on OFTC, and ask on #oooq - -Description of the environment -============================== - -Once deployed, inside the undercloud root directory two files are present: -stackrc and overcloudrc, which will let you connect to the APIs of the -undercloud (managing the openstack node), and to the overcloud (where -your instances would live). - -We can find out the existing controller/computes this way: - -.. code-block:: console - - [stack@undercloud ~]$ source stackrc - (undercloud) [stack@undercloud ~]$ openstack server list -c Name -c Networks -c Flavor - +-------------------------+------------------------+--------------+ - | Name | Networks | Flavor | - +-------------------------+------------------------+--------------+ - | overcloud-controller-1 | ctlplane=192.168.24.16 | oooq_control | - | overcloud-controller-0 | ctlplane=192.168.24.14 | oooq_control | - | overcloud-controller-2 | ctlplane=192.168.24.12 | oooq_control | - | overcloud-novacompute-0 | ctlplane=192.168.24.13 | oooq_compute | - +-------------------------+------------------------+--------------+ - -Network architecture of the environment -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. image:: figures/tripleo-ovn-arch.png - :alt: TripleO Quickstart single NIC with vlans - :align: center - -Connecting to one of the nodes via ssh -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -We can connect to the IP address in the `openstack server list` we showed -before. - -.. code-block:: console - - (undercloud) [stack@undercloud ~]$ ssh heat-admin@192.168.24.16 - Last login: Wed Feb 21 14:11:40 2018 from 192.168.24.1 - - [heat-admin@overcloud-controller-1 ~]$ ps fax | grep ovn-controller - 20422 ? S cirros-0.5.1-x86_64-disk.img - openstack image create "cirros" --file cirros-0.5.1-x86_64-disk.img \ - --disk-format qcow2 --container-format bare --public - - openstack network create public --provider-physical-network datacentre \ - --provider-network-type vlan \ - --provider-segment 10 \ - --external --share - - openstack subnet create --network public public --subnet-range 10.0.0.0/24 \ - --allocation-pool start=10.0.0.20,end=10.0.0.250 \ - --dns-nameserver 8.8.8.8 --gateway 10.0.0.1 \ - --no-dhcp - - openstack network create private - openstack subnet create --network private private \ - --subnet-range 192.168.99.0/24 - openstack router create router1 - - openstack router set --external-gateway public router1 - openstack router add subnet router1 private - - openstack security group create test - openstack security group rule create --ingress --protocol tcp \ - --dst-port 22 test - openstack security group rule create --ingress --protocol icmp test - openstack security group rule create --egress test - - openstack flavor create m1.tiny --disk 1 --vcpus 1 --ram 64 - - PRIV_NET=$(openstack network show private -c id -f value) - - openstack server create --flavor m1.tiny --image cirros \ - --nic net-id=$PRIV_NET --security-group test \ - --wait cirros - - openstack floating ip create --floating-ip-address 10.0.0.130 public - openstack server add floating ip cirros 10.0.0.130 - - -.. note:: - You can now log in into the instance if you want. - In a CirrOS >0.4.0 image, the login account is cirros. The password is - *gocubsgo*. - - -.. code-block:: console - - (overcloud) [stack@undercloud ~]$ ssh cirros@10.0.0.130 - cirros@10.0.0.130's password: - - $ ip a | grep eth0 -A 10 - 2: eth0: mtu 1442 qdisc pfifo_fast qlen 1000 - link/ether fa:16:3e:85:b4:66 brd ff:ff:ff:ff:ff:ff - inet 192.168.99.5/24 brd 192.168.99.255 scope global eth0 - valid_lft forever preferred_lft forever - inet6 fe80::f816:3eff:fe85:b466/64 scope link - valid_lft forever preferred_lft forever - - $ ping 10.0.0.1 - PING 10.0.0.1 (10.0.0.1): 56 data bytes - 64 bytes from 10.0.0.1: seq=0 ttl=63 time=2.145 ms - 64 bytes from 10.0.0.1: seq=1 ttl=63 time=1.025 ms - 64 bytes from 10.0.0.1: seq=2 ttl=63 time=0.836 ms - ^C - --- 10.0.0.1 ping statistics --- - 3 packets transmitted, 3 packets received, 0% packet loss - round-trip min/avg/max = 0.836/1.335/2.145 ms - - $ ping 8.8.8.8 - PING 8.8.8.8 (8.8.8.8): 56 data bytes - 64 bytes from 8.8.8.8: seq=0 ttl=52 time=3.943 ms - 64 bytes from 8.8.8.8: seq=1 ttl=52 time=4.519 ms - 64 bytes from 8.8.8.8: seq=2 ttl=52 time=3.778 ms - - $ curl http://169.254.169.254/2009-04-04/meta-data/instance-id - i-00000002 diff --git a/tools/tripleo/ovn.yml b/tools/tripleo/ovn.yml deleted file mode 100644 index e97f9d07826..00000000000 --- a/tools/tripleo/ovn.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with OVN configured in the containerized -# overcloud - -# TODO (lucasagomes): Ideally this configuration file should live in -# the tripleo-quickstart repository. Delete it from the networking-ovn -# tree once its moved. - -deploy_timeout: 190 -network_isolation: true -enable_pacemaker: true -overcloud_ipv6: false -containerized_overcloud: true - -# This enables TLS for the undercloud which will also make haproxy bind -# to the configured public-vip and admin-vip. -undercloud_generate_service_certificate: true - -# List of ntp servers to use in the undercloud -undercloud_undercloud_ntp_servers: pool.ntp.org - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint This is not required -# in newton -telemetry_args: >- - {% if release != 'newton' %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - --ntp-server pool.ntp.org - -e {{ overcloud_templates_path }}/environments/docker.yaml - -e {{ overcloud_templates_path }}/environments/docker-ha.yaml - -e {{ overcloud_templates_path }}/environments/services/neutron-ovn-ha.yaml - -prepare_service_env_args: >- - -e {{ overcloud_templates_path }}/environments/docker.yaml - -e {{ overcloud_templates_path }}/environments/docker-ha.yaml - -e {{ overcloud_templates_path }}/environments/services/neutron-ovn-ha.yaml - -# If `run_tempest` is `true`, run tempests tests, otherwise do not -# run them. -tempest_config: true -test_ping: false -run_tempest: false -test_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops'