Added more neutron schemas for neutron agents

Added links between schema and model
This commit is contained in:
Peter Lomakin
2013-11-05 18:38:24 +04:00
parent 5fcbeddee4
commit 4ec25bcc9c
11 changed files with 163 additions and 7 deletions

View File

@@ -253,6 +253,8 @@ class OpenstackDiscovery(object):
'nova_scheduler', 'glance_api', 'glance_registry',
'cinder_api', 'cinder_volume', 'cinder_scheduler',
'mysql', 'rabbitmq', 'neutron_server',
'neutron_openvswitch_agent', 'neutron_dhcp_agent',
'neutron_l3_agent', 'neutron_metadata_agent',
'swift_proxy_server']:
method = '_collect_%s_data' % component
if hasattr(self, method):

View File

@@ -363,12 +363,12 @@ class RabbitMqComponent(Service):
class GlanceApiComponent(OpenstackComponent):
component = 'glance'
component = 'glance_api'
name = 'glance-api'
class GlanceRegistryComponent(OpenstackComponent):
component = 'glance'
component = 'glance_registry'
name = 'glance-registry'
@@ -378,7 +378,7 @@ class NeutronServerComponent(OpenstackComponent):
class NeutronOpenvswitchAgentComponent(OpenstackComponent):
component = 'neutron'
component = 'neutron_openvswitch_agent'
name = 'neutron-openvswitch-agent'
@@ -388,12 +388,12 @@ class NeutronDhcpAgentComponent(OpenstackComponent):
class NeutronL3AgentComponent(OpenstackComponent):
component = 'neutron'
component = 'neutron_l3_agent'
name = 'neutron-l3-agent'
class NeutronMetadataAgentComponent(OpenstackComponent):
component = 'neutron'
component = 'neutron_metadata_agent'
name = 'neutron-metadata-agent'

View File

@@ -4,6 +4,9 @@ import rubick.schemas.glance_registry
import rubick.schemas.keystone
import rubick.schemas.neutron_server
import rubick.schemas.neutron_dhcp_agent
import rubick.schemas.neutron_l3_agent
import rubick.schemas.neutron_metadata_agent
import rubick.schemas.neutron_openvswitch_agent
import rubick.schemas.nova
import rubick.schemas.swift
import rubick.schemas.rabbitmq

View File

@@ -1,2 +1 @@
import rubick.schemas.neutron_dhcp_agent.v2013_2_1

View File

@@ -0,0 +1 @@
import rubick.schemas.neutron_l3_agent.v2013_2_1

View File

@@ -0,0 +1,66 @@
from rubick.schema import ConfigSchemaRegistry
neutron_l3_agent = ConfigSchemaRegistry.register_schema(
project='neutron_l3_agent')
with neutron_l3_agent.version('2013.2.1') as neutron_l3_agent_2013_2_1:
neutron_l3_agent_2013_2_1.section('DEFAULT')
neutron_l3_agent_2013_2_1.param('debug', type='string', default='False',
description="Show debugging output in log (sets DEBUG log level output)")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='',
description="L3 requires that an interface driver be set. Choose the one that best matches your plugin.")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.OVSInterfaceDriver',
description="Example of interface_driver option for OVS based plugins (OVS, Ryu, NEC) that supports L3 agent")
neutron_l3_agent_2013_2_1.param(
'ovs_use_veth', type='string', default='False',
description="Use veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.")
neutron_l3_agent_2013_2_1.param(
'interface_driver', type='string', default='neutron.agent.linux.interface.BridgeInterfaceDriver', description="Example of interface_driver option for LinuxBridge")
neutron_l3_agent_2013_2_1.param(
'use_namespaces', type='string', default='True',
description="Allow overlapping IP (Must have kernel build with CONFIG_NET_NS=y and iproute2 package that supports namespaces).")
neutron_l3_agent_2013_2_1.param(
'router_id', type='string', default='', description="This is done by setting the specific router_id.")
neutron_l3_agent_2013_2_1.param(
'gateway_external_network_id', type='string', default='',
description="Each L3 agent can be associated with at most one external network. This value should be set to the UUID of that external network. If empty, the agent will enforce that only a single external networks exists and use that external network id")
neutron_l3_agent_2013_2_1.param(
'handle_internal_only_routers', type='string', default='True',
description="Indicates that this L3 agent should also handle routers that do not have an external network gateway configured. This option should be True only for a single agent in a Neutron deployment, and may be False for all agents if all routers must have an external network gateway")
neutron_l3_agent_2013_2_1.param(
'external_network_bridge', type='string', default='br-ex',
description="Name of bridge used for external network traffic. This should be set to empty value for the linux bridge")
neutron_l3_agent_2013_2_1.param(
'metadata_port', type='string', default='9697', description="TCP Port used by Neutron metadata server")
neutron_l3_agent_2013_2_1.param(
'send_arp_for_ha', type='string', default='3',
description="Send this many gratuitous ARPs for HA setup. Set it below or equal to 0 to disable this feature.")
neutron_l3_agent_2013_2_1.param(
'periodic_interval', type='string', default='40', description="seconds between re-sync routers' data if needed")
neutron_l3_agent_2013_2_1.param(
'periodic_fuzzy_delay', type='string', default='5',
description="seconds to start to sync routers' data after starting agent")
neutron_l3_agent_2013_2_1.param(
'enable_metadata_proxy', type='string', default='True',
description="enable_metadata_proxy, which is true by default, can be set to False if the Nova metadata server is not available")
neutron_l3_agent_2013_2_1.param('metadata_proxy_socket', type='string',
default='$state_path/metadata_proxy', description="Location of Metadata Proxy UNIX domain socket")

View File

@@ -0,0 +1 @@
import rubick.schemas.neutron_metadata_agent.v2013_2_1

View File

@@ -0,0 +1,42 @@
from rubick.schema import ConfigSchemaRegistry
neutron_metadata_agent = ConfigSchemaRegistry.register_schema(
project='neutron_metadata_agent')
with neutron_metadata_agent.version('2013.2.1') as neutron_metadata_agent_2013_2_1:
neutron_metadata_agent_2013_2_1.section('DEFAULT')
neutron_metadata_agent_2013_2_1.param(
'debug', type='string', default='True', description="Show debugging output in log (sets DEBUG log level output)")
neutron_metadata_agent_2013_2_1.param(
'auth_url', type='string', default='http://localhost:5000/v2.0', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'auth_region', type='string', default='RegionOne', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_tenant_name', type='string', default='%SERVICE_TENANT_NAME%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_user', type='string', default='%SERVICE_USER%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'admin_password', type='string', default='%SERVICE_PASSWORD%', description="The Neutron user information for accessing the Neutron API.")
neutron_metadata_agent_2013_2_1.param(
'endpoint_type', type='string', default='adminURL', description="Network service endpoint type to pull from the keystone catalog")
neutron_metadata_agent_2013_2_1.param(
'nova_metadata_ip', type='string', default='127.0.0.1', description="IP address used by Nova metadata server")
neutron_metadata_agent_2013_2_1.param(
'nova_metadata_port', type='string', default='8775', description="TCP Port used by Nova metadata server")
neutron_metadata_agent_2013_2_1.param(
'metadata_proxy_shared_secret', type='string', default='',
description="When proxying metadata requests, Neutron signs the Instance-ID header with a shared secret to prevent spoofing. You may select any string for a secret, but it must match here and in the configuration used by the Nova Metadata Server. NOTE: Nova uses a different key: neutron_metadata_proxy_shared_secret")
neutron_metadata_agent_2013_2_1.param(
'metadata_proxy_socket', type='string', default='$state_path/metadata_proxy', description="Location of Metadata Proxy UNIX domain socket")

View File

@@ -0,0 +1 @@
import rubick.schemas.neutron_openvswitch_agent.v2013_2_1

View File

@@ -0,0 +1,42 @@
from rubick.schema import ConfigSchemaRegistry
neutron_openvswitch_agent = ConfigSchemaRegistry.register_schema(
project='neutron_openvswitch_agent')
with neutron_openvswitch_agent.version('2013.2.1') as neutron_openvswitch_agent_2013_2_1:
neutron_openvswitch_agent_2013_2_1.section('ml2')
neutron_openvswitch_agent_2013_2_1.param(
'type_drivers', type='string', default='local,flat,vlan,gre,vxlan')
neutron_openvswitch_agent_2013_2_1.param(
'tenant_network_types', type='string', default='local')
neutron_openvswitch_agent_2013_2_1.param(
'mechanism_drivers', type='string', default='',
description="(ListOpt) Ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace.")
neutron_openvswitch_agent_2013_2_1.section('ml2_type_flat')
neutron_openvswitch_agent_2013_2_1.param(
'flat_networks', type='string', default='')
neutron_openvswitch_agent_2013_2_1.section('ml2_type_vlan')
neutron_openvswitch_agent_2013_2_1.param(
'network_vlan_ranges', type='string', default='')
neutron_openvswitch_agent_2013_2_1.section('ml2_type_gre')
neutron_openvswitch_agent_2013_2_1.param(
'tunnel_id_ranges', type='string', default='',
description="(ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation")
neutron_openvswitch_agent_2013_2_1.section('ml2_type_vxlan')
neutron_openvswitch_agent_2013_2_1.param(
'vni_ranges', type='string', default='')
neutron_openvswitch_agent_2013_2_1.param(
'vxlan_group', type='string', default='')

View File

@@ -1,2 +1 @@
import rubick.schemas.neutron_server.v2013_2_1