1. What is the problem Necessary changes for local plugin and central plugin to boot a virtual machine have been submitted in this patch[1]. As the next step, we need to add l3 functionality to the local and central plugin. 2. What is the solution to the problem Several changes in local plugin. (1) Before creating local subnet, local plugin sends request to central plugin to create a "reserved gateway port", and use the ip address of this port as the gateway ip of the local subnet. (2) When local plugin receives network or subnet creation request, if the request contains "name" parameter and the name is a UUID, local plugin uses the name as the id of the local network or subnet. 3. What the features need to be implemented to the Tricircle to realize the solution With this patch, users can connect virtual machines booted directly via the local Nova server in different networks with a router. [1] https://review.openstack.org/375281 Change-Id: I12094f30804c0bad2f74e0ff510ac26bd217cfd4
83 lines
2.2 KiB
Plaintext
83 lines
2.2 KiB
Plaintext
#
|
|
# Sample DevStack local.conf.
|
|
#
|
|
# This sample file is intended to be used for your typical Tricircle DevStack
|
|
# multi-node environment. As this file configures, DevStack will setup two
|
|
# regions, one top region running Tricircle services, Keystone, Glance, Nova
|
|
# API gateway, Cinder API gateway and Neutron with Tricircle plugin; and one
|
|
# bottom region running original Nova, Cinder and Neutron.
|
|
#
|
|
# This file works with local.conf.node_2.sample to help you build a two-node
|
|
# three-region Tricircle environment. Keystone and Glance in top region are
|
|
# shared by services in all the regions.
|
|
#
|
|
# Some options needs to be change to adapt to your environment, see README.md
|
|
# for detail.
|
|
#
|
|
|
|
[[local|localrc]]
|
|
|
|
DATABASE_PASSWORD=password
|
|
RABBIT_PASSWORD=password
|
|
SERVICE_PASSWORD=password
|
|
SERVICE_TOKEN=password
|
|
ADMIN_PASSWORD=password
|
|
LOGFILE=/opt/stack/logs/stack.sh.log
|
|
VERBOSE=True
|
|
LOG_COLOR=True
|
|
SCREEN_LOGDIR=/opt/stack/logs
|
|
FIXED_RANGE=10.0.0.0/24
|
|
NETWORK_GATEWAY=10.0.0.1
|
|
FIXED_NETWORK_SIZE=256
|
|
FLOATING_RANGE=10.100.100.160/24
|
|
Q_FLOATING_ALLOCATION_POOL=start=10.100.100.160,end=10.100.100.192
|
|
|
|
PUBLIC_NETWORK_GATEWAY=10.100.100.3
|
|
|
|
Q_USE_SECGROUP=False
|
|
LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver
|
|
NEUTRON_CREATE_INITIAL_NETWORKS=False
|
|
Q_USE_PROVIDERNET_FOR_PUBLIC=True
|
|
|
|
HOST_IP=10.250.201.24
|
|
Q_ML2_PLUGIN_VLAN_TYPE_OPTIONS=(network_vlan_ranges=bridge:2001:3000)
|
|
OVS_BRIDGE_MAPPINGS=bridge:br-bridge
|
|
|
|
Q_ENABLE_TRICIRCLE=True
|
|
enable_plugin tricircle https://github.com/openstack/tricircle/
|
|
|
|
# Use Neutron instead of nova-network
|
|
disable_service n-net
|
|
enable_service q-svc
|
|
enable_service q-dhcp
|
|
enable_service q-agt
|
|
enable_service q-l3
|
|
|
|
enable_service c-api
|
|
enable_service c-vol
|
|
enable_service c-sch
|
|
|
|
disable_service n-obj
|
|
disable_service c-bak
|
|
disable_service tempest
|
|
disable_service horizon
|
|
|
|
CENTRAL_REGION_NAME=CentralRegion
|
|
TRICIRCLE_NEUTRON_PORT=20001
|
|
|
|
[[post-config|$NEUTRON_CONF]]
|
|
|
|
[DEFAULT]
|
|
core_plugin=tricircle.network.local_plugin.TricirclePlugin
|
|
|
|
[client]
|
|
admin_username=admin
|
|
admin_password=$ADMIN_PASSWORD
|
|
admin_tenant=demo
|
|
auto_refresh_endpoint=True
|
|
top_pod_name=$CENTRAL_REGION_NAME
|
|
|
|
[tricircle]
|
|
real_core_plugin=neutron.plugins.ml2.plugin.Ml2Plugin
|
|
central_neutron_url=http://127.0.0.1:$TRICIRCLE_NEUTRON_PORT
|