Move networking-ovn/vagrant into neutron/tools/ovn_vagrant Also added two sample local.conf files for a DB-only and VTEP nodes. Co-Authored-By: zhangyanxian <zhangyanxianmail@163.com> Co-Authored-By: chen-li <shchenli@cn.ibm.com> Co-Authored-By: Russell Bryant <rbryant@redhat.com> Co-Authored-By: Kyle Mestery <mestery@mestery.com Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com> Co-Authored-By: Richard Theis <rtheis@us.ibm.com> Co-Authored-By: JUNJIE NAN <nanjj@cn.ibm.com> Co-Authored-By: Flavio Fernandes <flavio@flaviof.com> Co-Authored-By: John Kasperski <jckasper@us.ibm.com> Co-Authored-By: Matthew Kassawara <mkassawara@gmail.com> Co-Authored-By: venkatamahesh <venkatamaheshkotha@gmail.com> Co-Authored-By: Tong Li <litong01@us.ibm.com> Co-Authored-By: venkata anil <anilvenkata@redhat.com> Co-Authored-By: Vu Cong Tuan <tuanvc@vn.fujitsu.com> Co-Authored-By: RYAN D. MOATS <rmoats@us.ibm.com> Change-Id: I12966d5548a60b46edd5c84ee0035eb11671fd8c Partially-Implements: blueprint neutron-ovn-merge
4.2 KiB
Sparse architecture
The Vagrant scripts deploy OpenStack with Open Virtual Network (OVN) using four nodes (five if you use the optional ovn-vtep node) to implement a minimal variant of the reference architecture:
- ovn-db: Database node containing the OVN northbound (NB) and
southbound (SB) databases via the Open vSwitch (OVS) database and
ovn-northd
services. - ovn-controller: Controller node containing the Identity service,
Image service, control plane portion of the Compute service, control
plane portion of the Networking service including the
ovn
ML2 driver, and the dashboard. In addition, the controller node is configured as an NFS server to support instance live migration between the two compute nodes. - ovn-compute1 and ovn-compute2: Two compute nodes containing the
Compute hypervisor,
ovn-controller
service for OVN, metadata agents for the Networking service, and OVS services. In addition, the compute nodes are configured as NFS clients to support instance live migration between them. - ovn-vtep: Optional. A node to run the HW VTEP simulator. This node is not started by default but can be started by running "vagrant up ovn-vtep" after doing a normal "vagrant up".
During deployment, Vagrant creates three VirtualBox networks:
- Vagrant management network for deployment and VM access to external
networks such as the Internet. Becomes the VM
eth0
network interface. - OpenStack management network for the OpenStack control plane, OVN
control plane, and OVN overlay networks. Becomes the VM
eth1
network interface. - OVN provider network that connects OpenStack instances to external
networks such as the Internet. Becomes the VM
eth2
network interface.
Requirements
The default configuration requires approximately 12 GB of RAM and
supports launching approximately four OpenStack instances using the
m1.tiny
flavor. You can change the amount of resources for
each VM in the instances.yml
file.
Deployment
Follow the pre-requisites described in
/contributor/ovn_vagrant/prerequisites
Clone the
neutron
repository locally and change to theneutron/vagrant/ovn/sparse
directory:$ git clone https://opendev.org/openstack/neutron.git $ cd neutron/vagrant/ovn/sparse
If necessary, adjust any configuration in the
instances.yml
file.If you change any IP addresses or networks, avoid conflicts with the host.
For evaluating large MTUs, adjust the
mtu
option. You must also change the MTU on the equivalentvboxnet
interfaces on the host to the same value after Vagrant creates them. For example:# ip link set dev vboxnet0 mtu 9000 # ip link set dev vboxnet1 mtu 9000
Launch the VMs and grab some coffee:
$ vagrant up
After the process completes, you can use the
vagrant status
command to determine the VM status:$ vagrant status Current machine states: ovn-db running (virtualbox) ovn-controller running (virtualbox) ovn-vtep running (virtualbox) ovn-compute1 running (virtualbox) ovn-compute2 running (virtualbox)
You can access the VMs using the following commands:
$ vagrant ssh ovn-db $ vagrant ssh ovn-controller $ vagrant ssh ovn-vtep $ vagrant ssh ovn-compute1 $ vagrant ssh ovn-compute2
- Note: If you prefer to use the VM console, the password for the
root
-
account is
vagrant
. Since ovn-controller is set as the primary in the Vagrantfile, the commandvagrant ssh
(without specifying the name) will connect ssh to that virtual machine.
- Note: If you prefer to use the VM console, the password for the
Access OpenStack services via command-line tools on the
ovn-controller
node or via the dashboard from the host by pointing a web browser at the IP address of theovn-controller
node.- Note: By default, OpenStack includes two accounts:
admin
anddemo
, -
both using password
password
.
- Note: By default, OpenStack includes two accounts:
After completing your tasks, you can destroy the VMs:
$ vagrant destroy