Add a quantum element.
Change-Id: I1008dcbb4e0a6c4cc25f4cc11a90fbc265ab2fdd
This commit is contained in:
parent
ea57869d3e
commit
7e36570519
1
elements/quantum/README.md
Normal file
1
elements/quantum/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
Install quantum service from git.
|
3
elements/quantum/element-deps
Normal file
3
elements/quantum/element-deps
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
os-svc-install
|
||||||
|
os-config-applier
|
||||||
|
os-refresh-config
|
16
elements/quantum/install.d/76-quantum
Executable file
16
elements/quantum/install.d/76-quantum
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
install-packages openvswitch-switch
|
||||||
|
os-svc-install -n quantum -u quantum -r https://github.com/openstack/quantum.git
|
||||||
|
|
||||||
|
mkdir -p /var/lib/quantum && chown -R quantum:quantum /var/lib/quantum
|
||||||
|
|
||||||
|
os-svc-daemon quantum-openvswitch-agent quantum quantum-openvswitch-agent \
|
||||||
|
"--config-file /etc/quantum/quantum.conf --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-dir /etc/quantum"
|
||||||
|
os-svc-daemon quantum-server quantum quantum-server \
|
||||||
|
"--config-file /etc/quantum/quantum.conf --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini --config-dir /etc/quantum"
|
||||||
|
|
||||||
|
echo "quantum ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/quantum
|
||||||
|
chmod 0440 /etc/sudoers.d/quantum
|
||||||
|
visudo -c
|
29
elements/quantum/os-config-applier/etc/quantum/api-paste.ini
Normal file
29
elements/quantum/os-config-applier/etc/quantum/api-paste.ini
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
[composite:quantum]
|
||||||
|
use = egg:Paste#urlmap
|
||||||
|
/: quantumversions
|
||||||
|
/v2.0: quantumapi_v2_0
|
||||||
|
|
||||||
|
[composite:quantumapi_v2_0]
|
||||||
|
use = call:quantum.auth:pipeline_factory
|
||||||
|
noauth = extensions quantumapiapp_v2_0
|
||||||
|
keystone = authtoken keystonecontext extensions quantumapiapp_v2_0
|
||||||
|
|
||||||
|
[filter:keystonecontext]
|
||||||
|
paste.filter_factory = quantum.auth:QuantumKeystoneContext.factory
|
||||||
|
|
||||||
|
[filter:authtoken]
|
||||||
|
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
||||||
|
auth_host = {{keystone.host}}
|
||||||
|
auth_port = 35357
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = quantum
|
||||||
|
admin_password = {{service-password}}
|
||||||
|
|
||||||
|
[filter:extensions]
|
||||||
|
paste.filter_factory = quantum.api.extensions:plugin_aware_extension_middleware_factory
|
||||||
|
|
||||||
|
[app:quantumversions]
|
||||||
|
paste.app_factory = quantum.api.versions:Versions.factory
|
||||||
|
|
||||||
|
[app:quantumapiapp_v2_0]
|
||||||
|
paste.app_factory = quantum.api.v2.router:APIRouter.factory
|
@ -0,0 +1,8 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debug = True
|
||||||
|
|
||||||
|
state_path = /var/run/quantum
|
||||||
|
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
dhcp_driver = quantum.agent.linux.dhcp.Dnsmasq
|
||||||
|
root_helper = sudo /usr/bin/quantum-rootwrap /etc/quantum/rootwrap.conf
|
||||||
|
use_namespaces = False
|
13
elements/quantum/os-config-applier/etc/quantum/l3_agent.ini
Normal file
13
elements/quantum/os-config-applier/etc/quantum/l3_agent.ini
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debug = True
|
||||||
|
|
||||||
|
interface_driver = quantum.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
|
||||||
|
state_path = /var/run/quantum
|
||||||
|
|
||||||
|
auth_url = http://{{keystone.host}}:35357/v2.0
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = quantum
|
||||||
|
admin_password = {{service-password}}
|
||||||
|
metadata_ip = 192.168.0.1
|
||||||
|
use_namespaces = False
|
@ -0,0 +1,6 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
auth_url = http://{{keystone.host}}:35357/v2.0
|
||||||
|
auth_region = RegionOne
|
||||||
|
admin_tenant_name = %SERVICE_TENANT_NAME%
|
||||||
|
admin_user = %SERVICE_USER%
|
||||||
|
admin_password = %SERVICE_PASSWORD%
|
@ -0,0 +1,21 @@
|
|||||||
|
[DATABASE]
|
||||||
|
sql_connection = {{quantum.ovs_db}}
|
||||||
|
|
||||||
|
reconnect_interval = 2
|
||||||
|
|
||||||
|
[OVS]
|
||||||
|
bridge_mappings = ctlplane:br-ctlplane
|
||||||
|
network_vlan_ranges = ctlplane
|
||||||
|
|
||||||
|
tenant_network_type = gre
|
||||||
|
tunnel_id_ranges = 1:1000
|
||||||
|
enable_tunneling = True
|
||||||
|
integration_bridge = br-int
|
||||||
|
tunnel_bridge = br-tun
|
||||||
|
local_ip = 10.10.10.1
|
||||||
|
|
||||||
|
|
||||||
|
[AGENT]
|
||||||
|
root_helper = sudo
|
||||||
|
polling_interval = 2
|
||||||
|
|
53
elements/quantum/os-config-applier/etc/quantum/policy.json
Normal file
53
elements/quantum/os-config-applier/etc/quantum/policy.json
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
"admin_or_owner": "role:admin or tenant_id:%(tenant_id)s",
|
||||||
|
"admin_or_network_owner": "role:admin or tenant_id:%(network_tenant_id)s",
|
||||||
|
"admin_only": "role:admin",
|
||||||
|
"regular_user": "",
|
||||||
|
"shared": "field:networks:shared=True",
|
||||||
|
"external": "field:networks:router:external=True",
|
||||||
|
"default": "rule:admin_or_owner",
|
||||||
|
|
||||||
|
"extension:provider_network:view": "rule:admin_only",
|
||||||
|
"extension:provider_network:set": "rule:admin_only",
|
||||||
|
|
||||||
|
"extension:router:view": "rule:regular_user",
|
||||||
|
"extension:router:set": "rule:admin_only",
|
||||||
|
"extension:router:add_router_interface": "rule:admin_or_owner",
|
||||||
|
"extension:router:remove_router_interface": "rule:admin_or_owner",
|
||||||
|
|
||||||
|
"extension:port_binding:view": "rule:admin_only",
|
||||||
|
"extension:port_binding:set": "rule:admin_only",
|
||||||
|
|
||||||
|
"subnets:private:read": "rule:admin_or_owner",
|
||||||
|
"subnets:private:write": "rule:admin_or_owner",
|
||||||
|
"subnets:shared:read": "rule:regular_user",
|
||||||
|
"subnets:shared:write": "rule:admin_only",
|
||||||
|
|
||||||
|
"create_subnet": "rule:admin_or_network_owner",
|
||||||
|
"get_subnet": "rule:admin_or_owner or rule:shared",
|
||||||
|
"update_subnet": "rule:admin_or_network_owner",
|
||||||
|
"delete_subnet": "rule:admin_or_network_owner",
|
||||||
|
|
||||||
|
"create_network": "",
|
||||||
|
"get_network": "rule:admin_or_owner or rule:shared or rule:external",
|
||||||
|
"create_network:shared": "rule:admin_only",
|
||||||
|
"create_network:router:external": "rule:admin_only",
|
||||||
|
"update_network": "rule:admin_or_owner",
|
||||||
|
"delete_network": "rule:admin_or_owner",
|
||||||
|
|
||||||
|
"create_port": "",
|
||||||
|
"create_port:mac_address": "rule:admin_or_network_owner",
|
||||||
|
"create_port:fixed_ips": "rule:admin_or_network_owner",
|
||||||
|
"create_port:port_security_enabled": "rule:admin_or_network_owner",
|
||||||
|
"get_port": "rule:admin_or_owner",
|
||||||
|
"update_port": "rule:admin_or_owner",
|
||||||
|
"update_port:fixed_ips": "rule:admin_or_network_owner",
|
||||||
|
"update_port:port_security_enabled": "rule:admin_or_network_owner",
|
||||||
|
"delete_port": "rule:admin_or_owner",
|
||||||
|
|
||||||
|
"extension:service_type:view_extended": "rule:admin_only",
|
||||||
|
"create_service_type": "rule:admin_only",
|
||||||
|
"update_service_type": "rule:admin_only",
|
||||||
|
"delete_service_type": "rule:admin_only",
|
||||||
|
"get_service_type": "rule:regular_user"
|
||||||
|
}
|
44
elements/quantum/os-config-applier/etc/quantum/quantum.conf
Normal file
44
elements/quantum/os-config-applier/etc/quantum/quantum.conf
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debug = True
|
||||||
|
|
||||||
|
network_vlan_ranges = {{interfaces.control}}
|
||||||
|
|
||||||
|
auth_strategy = keystone
|
||||||
|
allow_overlapping_ips = False
|
||||||
|
debug = True
|
||||||
|
verbose = True
|
||||||
|
core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2
|
||||||
|
rabbit_host = {{rabbit.host}}
|
||||||
|
rabbit_password = {{rabbit.password}}
|
||||||
|
rpc_backend = quantum.openstack.common.rpc.impl_kombu
|
||||||
|
|
||||||
|
bind_host = 0.0.0.0
|
||||||
|
|
||||||
|
bind_port = 9696
|
||||||
|
|
||||||
|
api_paste_config = api-paste.ini
|
||||||
|
|
||||||
|
control_exchange = quantum
|
||||||
|
|
||||||
|
notification_driver = quantum.openstack.common.notifier.rpc_notifier
|
||||||
|
|
||||||
|
|
||||||
|
notification_topics = notifications
|
||||||
|
|
||||||
|
[QUOTAS]
|
||||||
|
|
||||||
|
[DEFAULT_SERVICETYPE]
|
||||||
|
|
||||||
|
[SECURITYGROUP]
|
||||||
|
|
||||||
|
[AGENT]
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
auth_host = {{keystone.host}}
|
||||||
|
auth_port = 35357
|
||||||
|
auth_protocol = http
|
||||||
|
auth_protocol = http
|
||||||
|
admin_tenant_name = service
|
||||||
|
admin_user = quantum
|
||||||
|
admin_password = {{service-password}}
|
||||||
|
signing_dir = /var/lib/quantum/keystone-signing
|
@ -0,0 +1,4 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
# List of directories to load filter definitions from (separated by ',').
|
||||||
|
# These directories MUST all be only writeable by root !
|
||||||
|
filters_path=/etc/quantum/rootwrap.d,/usr/share/quantum/rootwrap
|
4
elements/quantum/os-refresh-config/post-configure.d/76-quantum
Executable file
4
elements/quantum/os-refresh-config/post-configure.d/76-quantum
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
service quantum-server restart
|
||||||
|
service quantum-openvswitch-agent restart
|
Loading…
Reference in New Issue
Block a user