Just rename quantum to neutron everywhere
Change-Id: Ic1bb14bfeec11a61b0e785bb9619c0195e3bacd7
This commit is contained in:
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -64,12 +64,12 @@
|
||||
[submodule "packstack/puppet/modules/vswitch"]
|
||||
path = packstack/puppet/modules/vswitch
|
||||
url = https://github.com/packstack/puppet-vswitch.git
|
||||
[submodule "packstack/puppet/modules/quantum"]
|
||||
path = packstack/puppet/modules/quantum
|
||||
url = https://github.com/stackforge/puppet-quantum.git
|
||||
[submodule "packstack/puppet/modules/tempest"]
|
||||
path = packstack/puppet/modules/tempest
|
||||
url = git://github.com/stackforge/puppet-tempest.git
|
||||
[submodule "packstack/puppet/modules/vcsrepo"]
|
||||
path = packstack/puppet/modules/vcsrepo
|
||||
url = https://github.com/puppetlabs/puppetlabs-vcsrepo.git
|
||||
[submodule "packstack/puppet/modules/neutron"]
|
||||
path = packstack/puppet/modules/neutron
|
||||
url = https://github.com/stackforge/puppet-quantum.git
|
||||
|
@@ -655,10 +655,10 @@ def single_step_aio_install(options):
|
||||
if not options.novanetwork_privif:
|
||||
options.novanetwork_privif = "lo"
|
||||
|
||||
# If we are doing an all-in-one install and quantum isn't disabled
|
||||
# If we are doing an all-in-one install and neutron isn't disabled
|
||||
# go ahead and set up a basic network and external bridge unless
|
||||
# specifically told not to
|
||||
if options.os_quantum_install != "n":
|
||||
if options.os_neutron_install != "n":
|
||||
if not options.provision_demo:
|
||||
options.provision_demo = "y"
|
||||
if not options.provision_all_in_one_ovs_bridge:
|
||||
|
@@ -98,7 +98,7 @@ def createmanifest(config):
|
||||
append_for("cinder")
|
||||
if controller.CONF['CONFIG_GLANCE_INSTALL'] == "y":
|
||||
append_for("glance")
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == 'y':
|
||||
append_for("quantum")
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] == 'y':
|
||||
append_for("neutron")
|
||||
|
||||
appendManifestFile(manifestfile, "\n".join(manifestdata), 'pre')
|
||||
|
@@ -1,5 +1,5 @@
|
||||
"""
|
||||
Installs and configures quantum
|
||||
Installs and configures neutron
|
||||
"""
|
||||
|
||||
import logging
|
||||
@@ -16,7 +16,7 @@ from packstack.modules.ospluginutils import getManifestTemplate, appendManifestF
|
||||
controller = None
|
||||
|
||||
# Plugin name
|
||||
PLUGIN_NAME = "OS-QUANTUM"
|
||||
PLUGIN_NAME = "OS-NEUTRON"
|
||||
|
||||
logging.debug("plugin %s loaded", __name__)
|
||||
|
||||
@@ -24,121 +24,121 @@ def initConfig(controllerObject):
|
||||
global controller
|
||||
controller = controllerObject
|
||||
|
||||
logging.debug("Adding OpenStack Quantum configuration")
|
||||
logging.debug("Adding OpenStack Neutron configuration")
|
||||
|
||||
conf_params = {
|
||||
"QUANTUM" : [
|
||||
{"CMD_OPTION" : "quantum-server-host",
|
||||
"USAGE" : "The IP addresses of the server on which to install the Quantum server",
|
||||
"PROMPT" : "Enter the IP address of the Quantum server",
|
||||
"NEUTRON" : [
|
||||
{"CMD_OPTION" : "neutron-server-host",
|
||||
"USAGE" : "The IP addresses of the server on which to install the Neutron server",
|
||||
"PROMPT" : "Enter the IP address of the Neutron server",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_ip, validators.validate_ssh],
|
||||
"DEFAULT_VALUE" : utils.get_localhost_ip(),
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_SERVER_HOST",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_SERVER_HOST",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-ks-password",
|
||||
"USAGE" : "The password to use for Quantum to authenticate with Keystone",
|
||||
"PROMPT" : "Enter the password for Quantum Keystone access",
|
||||
{"CMD_OPTION" : "neutron-ks-password",
|
||||
"USAGE" : "The password to use for Neutron to authenticate with Keystone",
|
||||
"PROMPT" : "Enter the password for Neutron Keystone access",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE" : uuid.uuid4().hex[:16],
|
||||
"MASK_INPUT" : True,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_KS_PW",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_KS_PW",
|
||||
"USE_DEFAULT" : True,
|
||||
"NEED_CONFIRM" : True,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-db-password",
|
||||
"USAGE" : "The password to use for Quantum to access DB",
|
||||
"PROMPT" : "Enter the password for Quantum DB access",
|
||||
{"CMD_OPTION" : "neutron-db-password",
|
||||
"USAGE" : "The password to use for Neutron to access DB",
|
||||
"PROMPT" : "Enter the password for Neutron DB access",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE" : uuid.uuid4().hex[:16],
|
||||
"MASK_INPUT" : True,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_DB_PW",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_DB_PW",
|
||||
"USE_DEFAULT" : True,
|
||||
"NEED_CONFIRM" : True,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-l3-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Quantum L3 agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Quantum L3 agent",
|
||||
{"CMD_OPTION" : "neutron-l3-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Neutron L3 agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron L3 agent",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_multi_ssh],
|
||||
"DEFAULT_VALUE" : utils.get_localhost_ip(),
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_L3_HOSTS",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_L3_HOSTS",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-l3-ext-bridge",
|
||||
"USAGE" : "The name of the bridge that the Quantum L3 agent will use for external traffic, or 'provider' if using provider networks",
|
||||
"PROMPT" : "Enter the bridge the Quantum L3 agent will use for external traffic, or 'provider' if using provider networks",
|
||||
{"CMD_OPTION" : "neutron-l3-ext-bridge",
|
||||
"USAGE" : "The name of the bridge that the Neutron L3 agent will use for external traffic, or 'provider' if using provider networks",
|
||||
"PROMPT" : "Enter the bridge the Neutron L3 agent will use for external traffic, or 'provider' if using provider networks",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE" : "br-ex",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_L3_EXT_BRIDGE",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_L3_EXT_BRIDGE",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-dhcp-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Quantum DHCP agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install Quantum DHCP agent",
|
||||
{"CMD_OPTION" : "neutron-dhcp-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Neutron DHCP agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install Neutron DHCP agent",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_multi_ssh],
|
||||
"DEFAULT_VALUE" : utils.get_localhost_ip(),
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_DHCP_HOSTS",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_DHCP_HOSTS",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-l2-plugin",
|
||||
"USAGE" : "The name of the L2 plugin to be used with Quantum",
|
||||
"PROMPT" : "Enter the name of the L2 plugin to be used with Quantum",
|
||||
{"CMD_OPTION" : "neutron-l2-plugin",
|
||||
"USAGE" : "The name of the L2 plugin to be used with Neutron",
|
||||
"PROMPT" : "Enter the name of the L2 plugin to be used with Neutron",
|
||||
"OPTION_LIST" : ["linuxbridge", "openvswitch"],
|
||||
"VALIDATORS" : [validators.validate_options],
|
||||
"DEFAULT_VALUE" : "openvswitch",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_L2_PLUGIN",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_L2_PLUGIN",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-metadata-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Quantum metadata agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Quantum metadata agent",
|
||||
{"CMD_OPTION" : "neutron-metadata-hosts",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Neutron metadata agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron metadata agent",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_multi_ssh],
|
||||
"DEFAULT_VALUE" : utils.get_localhost_ip(),
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_METADATA_HOSTS",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_METADATA_HOSTS",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-metadata-pw",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Quantum metadata agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Quantum metadata agent",
|
||||
{"CMD_OPTION" : "neutron-metadata-pw",
|
||||
"USAGE" : "A comma separated list of IP addresses on which to install Neutron metadata agent",
|
||||
"PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron metadata agent",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE" : uuid.uuid4().hex[:16],
|
||||
"MASK_INPUT" : True,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_METADATA_PW",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_METADATA_PW",
|
||||
"USE_DEFAULT" : True,
|
||||
"NEED_CONFIRM" : True,
|
||||
"CONDITION" : False },
|
||||
],
|
||||
"QUANTUM_LB_PLUGIN" : [
|
||||
{"CMD_OPTION" : "quantum-lb-tenant-network-type",
|
||||
"NEUTRON_LB_PLUGIN" : [
|
||||
{"CMD_OPTION" : "neutron-lb-tenant-network-type",
|
||||
"USAGE" : "The type of network to allocate for tenant networks",
|
||||
"PROMPT" : "Enter the type of network to allocate for tenant networks",
|
||||
"OPTION_LIST" : ["local", "vlan"],
|
||||
@@ -146,37 +146,37 @@ def initConfig(controllerObject):
|
||||
"DEFAULT_VALUE" : "local",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_LB_TENANT_NETWORK_TYPE",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-lb-vlan-ranges",
|
||||
"USAGE" : "A comma separated list of VLAN ranges for the Quantum linuxbridge plugin",
|
||||
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Quantum linuxbridge plugin",
|
||||
{"CMD_OPTION" : "neutron-lb-vlan-ranges",
|
||||
"USAGE" : "A comma separated list of VLAN ranges for the Neutron linuxbridge plugin",
|
||||
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Neutron linuxbridge plugin",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [],
|
||||
"DEFAULT_VALUE" : "",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_LB_VLAN_RANGES",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_LB_VLAN_RANGES",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-lb-interface-mappings",
|
||||
"USAGE" : "A comma separated list of interface mappings for the Quantum linuxbridge plugin",
|
||||
"PROMPT" : "Enter a comma separated list of interface mappings for the Quantum linuxbridge plugin",
|
||||
{"CMD_OPTION" : "neutron-lb-interface-mappings",
|
||||
"USAGE" : "A comma separated list of interface mappings for the Neutron linuxbridge plugin",
|
||||
"PROMPT" : "Enter a comma separated list of interface mappings for the Neutron linuxbridge plugin",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [],
|
||||
"DEFAULT_VALUE" : "",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_LB_INTERFACE_MAPPINGS",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
],
|
||||
"QUANTUM_OVS_PLUGIN" : [
|
||||
{"CMD_OPTION" : "quantum-ovs-tenant-network-type",
|
||||
"NEUTRON_OVS_PLUGIN" : [
|
||||
{"CMD_OPTION" : "neutron-ovs-tenant-network-type",
|
||||
"USAGE" : "Type of network to allocate for tenant networks",
|
||||
"PROMPT" : "Enter the type of network to allocate for tenant networks",
|
||||
"OPTION_LIST" : ["local", "vlan", "gre"],
|
||||
@@ -184,43 +184,43 @@ def initConfig(controllerObject):
|
||||
"DEFAULT_VALUE" : "local",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_OVS_TENANT_NETWORK_TYPE",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-ovs-vlan-ranges",
|
||||
"USAGE" : "A comma separated list of VLAN ranges for the Quantum openvswitch plugin",
|
||||
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Quantum openvswitch plugin",
|
||||
{"CMD_OPTION" : "neutron-ovs-vlan-ranges",
|
||||
"USAGE" : "A comma separated list of VLAN ranges for the Neutron openvswitch plugin",
|
||||
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Neutron openvswitch plugin",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [],
|
||||
"DEFAULT_VALUE" : "",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_OVS_VLAN_RANGES",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_OVS_VLAN_RANGES",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-ovs-bridge-mappings",
|
||||
"USAGE" : "A comma separated list of bridge mappings for the Quantum openvswitch plugin",
|
||||
"PROMPT" : "Enter a comma separated list of bridge mappings for the Quantum openvswitch plugin",
|
||||
{"CMD_OPTION" : "neutron-ovs-bridge-mappings",
|
||||
"USAGE" : "A comma separated list of bridge mappings for the Neutron openvswitch plugin",
|
||||
"PROMPT" : "Enter a comma separated list of bridge mappings for the Neutron openvswitch plugin",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [],
|
||||
"DEFAULT_VALUE" : "",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "quantum-ovs-bridge-interfaces",
|
||||
{"CMD_OPTION" : "neutron-ovs-bridge-interfaces",
|
||||
"USAGE" : "A comma separated list of colon-separated OVS bridge:interface pairs. The interface will be added to the associated bridge.",
|
||||
"PROMPT" : "Enter a comma separated list of OVS bridge:interface pairs for the Quantum openvswitch plugin",
|
||||
"PROMPT" : "Enter a comma separated list of OVS bridge:interface pairs for the Neutron openvswitch plugin",
|
||||
"OPTION_LIST" : [],
|
||||
"VALIDATORS" : [],
|
||||
"DEFAULT_VALUE" : "",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": True,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_OVS_BRIDGE_IFACES",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_OVS_BRIDGE_IFACES",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
@@ -228,28 +228,28 @@ def initConfig(controllerObject):
|
||||
}
|
||||
|
||||
def use_linuxbridge(config):
|
||||
return config['CONFIG_QUANTUM_INSTALL'] == 'y' and \
|
||||
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge'
|
||||
return config['CONFIG_NEUTRON_INSTALL'] == 'y' and \
|
||||
config['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge'
|
||||
|
||||
def use_openvswitch(config):
|
||||
return config['CONFIG_QUANTUM_INSTALL'] == 'y' and \
|
||||
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch'
|
||||
return config['CONFIG_NEUTRON_INSTALL'] == 'y' and \
|
||||
config['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch'
|
||||
|
||||
conf_groups = [
|
||||
{ "GROUP_NAME" : "QUANTUM",
|
||||
"DESCRIPTION" : "Quantum config",
|
||||
"PRE_CONDITION" : "CONFIG_QUANTUM_INSTALL",
|
||||
{ "GROUP_NAME" : "NEUTRON",
|
||||
"DESCRIPTION" : "Neutron config",
|
||||
"PRE_CONDITION" : "CONFIG_NEUTRON_INSTALL",
|
||||
"PRE_CONDITION_MATCH" : "y",
|
||||
"POST_CONDITION" : False,
|
||||
"POST_CONDITION_MATCH" : True },
|
||||
{ "GROUP_NAME" : "QUANTUM_LB_PLUGIN",
|
||||
"DESCRIPTION" : "Quantum LB plugin config",
|
||||
{ "GROUP_NAME" : "NEUTRON_LB_PLUGIN",
|
||||
"DESCRIPTION" : "Neutron LB plugin config",
|
||||
"PRE_CONDITION" : use_linuxbridge,
|
||||
"PRE_CONDITION_MATCH" : True,
|
||||
"POST_CONDITION" : False,
|
||||
"POST_CONDITION_MATCH" : True },
|
||||
{ "GROUP_NAME" : "QUANTUM_OVS_PLUGIN",
|
||||
"DESCRIPTION" : "Quantum OVS plugin config",
|
||||
{ "GROUP_NAME" : "NEUTRON_OVS_PLUGIN",
|
||||
"DESCRIPTION" : "Neutron OVS plugin config",
|
||||
"PRE_CONDITION" : use_openvswitch,
|
||||
"PRE_CONDITION_MATCH" : True,
|
||||
"POST_CONDITION" : False,
|
||||
@@ -262,102 +262,102 @@ def initConfig(controllerObject):
|
||||
|
||||
|
||||
def getInterfaceDriver():
|
||||
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch":
|
||||
return 'quantum.agent.linux.interface.OVSInterfaceDriver'
|
||||
elif controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge':
|
||||
return 'quantum.agent.linux.interface.BridgeInterfaceDriver'
|
||||
if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
|
||||
return 'neutron.agent.linux.interface.OVSInterfaceDriver'
|
||||
elif controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge':
|
||||
return 'neutron.agent.linux.interface.BridgeInterfaceDriver'
|
||||
|
||||
|
||||
def initSequences(controller):
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != 'y':
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] != 'y':
|
||||
return
|
||||
|
||||
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch":
|
||||
controller.CONF['CONFIG_QUANTUM_L2_DBNAME'] = 'ovs_quantum'
|
||||
controller.CONF['CONFIG_QUANTUM_CORE_PLUGIN'] = 'quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2'
|
||||
elif controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "linuxbridge":
|
||||
controller.CONF['CONFIG_QUANTUM_L2_DBNAME'] = 'quantum_linux_bridge'
|
||||
controller.CONF['CONFIG_QUANTUM_CORE_PLUGIN'] = 'quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2'
|
||||
if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
|
||||
controller.CONF['CONFIG_NEUTRON_L2_DBNAME'] = 'ovs_neutron'
|
||||
controller.CONF['CONFIG_NEUTRON_CORE_PLUGIN'] = 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2'
|
||||
elif controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "linuxbridge":
|
||||
controller.CONF['CONFIG_NEUTRON_L2_DBNAME'] = 'neutron_linux_bridge'
|
||||
controller.CONF['CONFIG_NEUTRON_CORE_PLUGIN'] = 'neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2'
|
||||
|
||||
global api_hosts, l3_hosts, dhcp_hosts, compute_hosts, meta_hosts, q_hosts
|
||||
dirty = controller.CONF['CONFIG_QUANTUM_SERVER_HOST'].split(',')
|
||||
dirty = controller.CONF['CONFIG_NEUTRON_SERVER_HOST'].split(',')
|
||||
api_hosts = set([i.strip() for i in dirty if i.strip()])
|
||||
|
||||
dirty = controller.CONF['CONFIG_QUANTUM_L3_HOSTS'].split(',')
|
||||
dirty = controller.CONF['CONFIG_NEUTRON_L3_HOSTS'].split(',')
|
||||
l3_hosts = set([i.strip() for i in dirty if i.strip()])
|
||||
|
||||
dirty = controller.CONF['CONFIG_QUANTUM_DHCP_HOSTS'].split(',')
|
||||
dirty = controller.CONF['CONFIG_NEUTRON_DHCP_HOSTS'].split(',')
|
||||
dhcp_hosts = set([i.strip() for i in dirty if i.strip()])
|
||||
|
||||
dirty = controller.CONF['CONFIG_QUANTUM_METADATA_HOSTS'].split(',')
|
||||
dirty = controller.CONF['CONFIG_NEUTRON_METADATA_HOSTS'].split(',')
|
||||
meta_hosts = set([i.strip() for i in dirty if i.strip()])
|
||||
|
||||
dirty = controller.CONF['CONFIG_NOVA_COMPUTE_HOSTS'].split(',')
|
||||
compute_hosts = set([i.strip() for i in dirty if i.strip()])
|
||||
q_hosts = api_hosts | l3_hosts | dhcp_hosts | compute_hosts | meta_hosts
|
||||
|
||||
quantum_steps = [
|
||||
{'title': 'Adding Quantum API manifest entries', 'functions':[createManifest]},
|
||||
{'title': 'Adding Quantum Keystone manifest entries', 'functions':[createKeystoneManifest]},
|
||||
{'title': 'Adding Quantum L3 manifest entries', 'functions':[createL3Manifests]},
|
||||
{'title': 'Adding Quantum L2 Agent manifest entries', 'functions':[createL2AgentManifests]},
|
||||
{'title': 'Adding Quantum DHCP Agent manifest entries', 'functions':[createDHCPManifests]},
|
||||
{'title': 'Adding Quantum Metadata Agent manifest entries', 'functions':[createMetadataManifests]},
|
||||
neutron_steps = [
|
||||
{'title': 'Adding Neutron API manifest entries', 'functions':[createManifest]},
|
||||
{'title': 'Adding Neutron Keystone manifest entries', 'functions':[createKeystoneManifest]},
|
||||
{'title': 'Adding Neutron L3 manifest entries', 'functions':[createL3Manifests]},
|
||||
{'title': 'Adding Neutron L2 Agent manifest entries', 'functions':[createL2AgentManifests]},
|
||||
{'title': 'Adding Neutron DHCP Agent manifest entries', 'functions':[createDHCPManifests]},
|
||||
{'title': 'Adding Neutron Metadata Agent manifest entries', 'functions':[createMetadataManifests]},
|
||||
]
|
||||
controller.addSequence("Installing OpenStack Quantum", [], [], quantum_steps)
|
||||
controller.addSequence("Installing OpenStack Neutron", [], [], neutron_steps)
|
||||
|
||||
|
||||
def createManifest(config):
|
||||
global q_hosts
|
||||
|
||||
for host in q_hosts:
|
||||
manifest_file = "%s_quantum.pp" % (host,)
|
||||
manifest_data = getManifestTemplate("quantum.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'quantum')
|
||||
manifest_file = "%s_neutron.pp" % (host,)
|
||||
manifest_data = getManifestTemplate("neutron.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'neutron')
|
||||
|
||||
if host in api_hosts:
|
||||
manifest_file = "%s_quantum.pp" % (host,)
|
||||
manifest_data = getManifestTemplate("quantum_api.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'quantum')
|
||||
manifest_file = "%s_neutron.pp" % (host,)
|
||||
manifest_data = getManifestTemplate("neutron_api.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'neutron')
|
||||
|
||||
# Set up any l2 plugin configs we need anywhere we install quantum
|
||||
# Set up any l2 plugin configs we need anywhere we install neutron
|
||||
# XXX I am not completely sure about this, but it seems necessary
|
||||
if controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch':
|
||||
manifest_data = getManifestTemplate("quantum_ovs_plugin.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'quantum')
|
||||
elif controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge':
|
||||
manifest_data = getManifestTemplate("quantum_lb_plugin.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'quantum')
|
||||
if controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch':
|
||||
manifest_data = getManifestTemplate("neutron_ovs_plugin.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'neutron')
|
||||
elif controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge':
|
||||
manifest_data = getManifestTemplate("neutron_lb_plugin.pp")
|
||||
appendManifestFile(manifest_file, manifest_data, 'neutron')
|
||||
|
||||
def createKeystoneManifest(config):
|
||||
manifestfile = "%s_keystone.pp"%controller.CONF['CONFIG_KEYSTONE_HOST']
|
||||
manifestdata = getManifestTemplate("keystone_quantum.pp")
|
||||
manifestdata = getManifestTemplate("keystone_neutron.pp")
|
||||
appendManifestFile(manifestfile, manifestdata)
|
||||
|
||||
def createL3Manifests(config):
|
||||
global l3_hosts
|
||||
|
||||
if controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE'] == 'provider':
|
||||
controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE'] = ''
|
||||
if controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE'] == 'provider':
|
||||
controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE'] = ''
|
||||
|
||||
for host in l3_hosts:
|
||||
controller.CONF['CONFIG_QUANTUM_L3_HOST'] = host
|
||||
controller.CONF['CONFIG_QUANTUM_L3_INTERFACE_DRIVER'] = getInterfaceDriver()
|
||||
manifestdata = getManifestTemplate("quantum_l3.pp")
|
||||
manifestfile = "%s_quantum.pp" % (host,)
|
||||
controller.CONF['CONFIG_NEUTRON_L3_HOST'] = host
|
||||
controller.CONF['CONFIG_NEUTRON_L3_INTERFACE_DRIVER'] = getInterfaceDriver()
|
||||
manifestdata = getManifestTemplate("neutron_l3.pp")
|
||||
manifestfile = "%s_neutron.pp" % (host,)
|
||||
appendManifestFile(manifestfile, manifestdata + '\n')
|
||||
if controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch' and controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE']:
|
||||
controller.CONF['CONFIG_QUANTUM_OVS_BRIDGE'] = controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE']
|
||||
manifestdata = getManifestTemplate('quantum_ovs_bridge.pp')
|
||||
if controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch' and controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE']:
|
||||
controller.CONF['CONFIG_NEUTRON_OVS_BRIDGE'] = controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE']
|
||||
manifestdata = getManifestTemplate('neutron_ovs_bridge.pp')
|
||||
appendManifestFile(manifestfile, manifestdata + '\n')
|
||||
|
||||
def createDHCPManifests(config):
|
||||
global dhcp_hosts
|
||||
for host in dhcp_hosts:
|
||||
controller.CONF["CONFIG_QUANTUM_DHCP_HOST"] = host
|
||||
controller.CONF['CONFIG_QUANTUM_DHCP_INTERFACE_DRIVER'] = getInterfaceDriver()
|
||||
manifestdata = getManifestTemplate("quantum_dhcp.pp")
|
||||
manifestfile = "%s_quantum.pp" % (host,)
|
||||
controller.CONF["CONFIG_NEUTRON_DHCP_HOST"] = host
|
||||
controller.CONF['CONFIG_NEUTRON_DHCP_INTERFACE_DRIVER'] = getInterfaceDriver()
|
||||
manifestdata = getManifestTemplate("neutron_dhcp.pp")
|
||||
manifestfile = "%s_neutron.pp" % (host,)
|
||||
|
||||
appendManifestFile(manifestfile, manifestdata + "\n")
|
||||
|
||||
@@ -367,23 +367,23 @@ def get_values(val):
|
||||
def createL2AgentManifests(config):
|
||||
global compute_hosts, dhcp_host, l3_hosts
|
||||
|
||||
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch":
|
||||
host_var = 'CONFIG_QUANTUM_OVS_HOST'
|
||||
template_name = 'quantum_ovs_agent.pp'
|
||||
if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
|
||||
host_var = 'CONFIG_NEUTRON_OVS_HOST'
|
||||
template_name = 'neutron_ovs_agent.pp'
|
||||
|
||||
bm_arr = get_values(controller.CONF["CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS"])
|
||||
iface_arr = get_values(controller.CONF["CONFIG_QUANTUM_OVS_BRIDGE_IFACES"])
|
||||
bm_arr = get_values(controller.CONF["CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS"])
|
||||
iface_arr = get_values(controller.CONF["CONFIG_NEUTRON_OVS_BRIDGE_IFACES"])
|
||||
|
||||
# The CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS parameter contains a
|
||||
# The CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS parameter contains a
|
||||
# comma-separated list of bridge mappings. Since the puppet module
|
||||
# expects this parameter to be an array, this parameter must be properly
|
||||
# formatted by packstack, then consumed by the puppet module.
|
||||
# For example, the input string 'A, B, C' should formatted as '['A','B','C']'.
|
||||
controller.CONF["CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS"] = str(bm_arr)
|
||||
controller.CONF["CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS"] = str(bm_arr)
|
||||
|
||||
elif controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "linuxbridge":
|
||||
host_var = 'CONFIG_QUANTUM_LB_HOST'
|
||||
template_name = 'quantum_lb_agent.pp'
|
||||
elif controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "linuxbridge":
|
||||
host_var = 'CONFIG_NEUTRON_LB_HOST'
|
||||
template_name = 'neutron_lb_agent.pp'
|
||||
else:
|
||||
raise KeyError("Unknown layer2 agent")
|
||||
|
||||
@@ -391,20 +391,20 @@ def createL2AgentManifests(config):
|
||||
# specifically for the l2 agent
|
||||
for host in compute_hosts | dhcp_hosts | l3_hosts:
|
||||
controller.CONF[host_var] = host
|
||||
manifestfile = "%s_quantum.pp" % (host,)
|
||||
manifestfile = "%s_neutron.pp" % (host,)
|
||||
manifestdata = getManifestTemplate(template_name)
|
||||
appendManifestFile(manifestfile, manifestdata + "\n")
|
||||
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch":
|
||||
if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
|
||||
for if_map in iface_arr:
|
||||
controller.CONF['CONFIG_QUANTUM_OVS_BRIDGE'], controller.CONF['CONFIG_QUANTUM_OVS_IFACE'] = if_map.split(':')
|
||||
manifestdata = getManifestTemplate("quantum_ovs_port.pp")
|
||||
controller.CONF['CONFIG_NEUTRON_OVS_BRIDGE'], controller.CONF['CONFIG_NEUTRON_OVS_IFACE'] = if_map.split(':')
|
||||
manifestdata = getManifestTemplate("neutron_ovs_port.pp")
|
||||
appendManifestFile(manifestfile, manifestdata + "\n")
|
||||
|
||||
def createMetadataManifests(config):
|
||||
global meta_hosts
|
||||
|
||||
for host in meta_hosts:
|
||||
controller.CONF['CONFIG_QUANTUM_METADATA_HOST'] = host
|
||||
manifestdata = getManifestTemplate('quantum_metadata.pp')
|
||||
manifestfile = "%s_quantum.pp" % (host,)
|
||||
controller.CONF['CONFIG_NEUTRON_METADATA_HOST'] = host
|
||||
manifestdata = getManifestTemplate('neutron_metadata.pp')
|
||||
manifestfile = "%s_neutron.pp" % (host,)
|
||||
appendManifestFile(manifestfile, manifestdata + "\n")
|
@@ -252,7 +252,7 @@ def initConfig(controllerObject):
|
||||
|
||||
def use_nova_network(config):
|
||||
return config['CONFIG_NOVA_INSTALL'] == 'y' and \
|
||||
config['CONFIG_QUANTUM_INSTALL'] != 'y'
|
||||
config['CONFIG_NEUTRON_INSTALL'] != 'y'
|
||||
|
||||
nova_groups = [
|
||||
{ "GROUP_NAME" : "NOVA",
|
||||
@@ -288,8 +288,8 @@ def initSequences(controller):
|
||||
{'title': 'Adding Nova Common manifest entries', 'functions':[createcommonmanifest]},
|
||||
]
|
||||
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == 'y':
|
||||
novaapisteps.append({'title': 'Adding Openstack Network-related Nova manifest entries', 'functions':[createquantummanifest]})
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] == 'y':
|
||||
novaapisteps.append({'title': 'Adding Openstack Network-related Nova manifest entries', 'functions':[createneutronmanifest]})
|
||||
else:
|
||||
novaapisteps.append({'title': 'Adding Nova Network manifest entries', 'functions':[createnetworkmanifest]})
|
||||
|
||||
@@ -297,16 +297,16 @@ def initSequences(controller):
|
||||
|
||||
|
||||
def createapimanifest(config):
|
||||
# This is a hack around us needing to generate the quantum metadata
|
||||
# This is a hack around us needing to generate the neutron metadata
|
||||
# password, but the nova puppet plugin uses the existence of that
|
||||
# password to determine whether or not to configure quantum metadata
|
||||
# password to determine whether or not to configure neutron metadata
|
||||
# proxy support. So the nova_api.pp template needs unquoted 'undef'
|
||||
# to disable metadata support if quantum is not being installed.
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != 'y':
|
||||
controller.CONF['CONFIG_QUANTUM_METADATA_PW_UNQUOTED'] = 'undef'
|
||||
# to disable metadata support if neutron is not being installed.
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] != 'y':
|
||||
controller.CONF['CONFIG_NEUTRON_METADATA_PW_UNQUOTED'] = 'undef'
|
||||
else:
|
||||
controller.CONF['CONFIG_QUANTUM_METADATA_PW_UNQUOTED'] = \
|
||||
"'%s'" % controller.CONF['CONFIG_QUANTUM_METADATA_PW']
|
||||
controller.CONF['CONFIG_NEUTRON_METADATA_PW_UNQUOTED'] = \
|
||||
"'%s'" % controller.CONF['CONFIG_NEUTRON_METADATA_PW']
|
||||
manifestfile = "%s_api_nova.pp"%controller.CONF['CONFIG_NOVA_API_HOST']
|
||||
manifestdata = getManifestTemplate("nova_api.pp")
|
||||
appendManifestFile(manifestfile, manifestdata, 'novaapi')
|
||||
@@ -373,7 +373,7 @@ def createcomputemanifest(config):
|
||||
manifestfile = "%s_nova.pp"%host
|
||||
|
||||
nova_config_options = NovaConfig()
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != 'y':
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] != 'y':
|
||||
if host != controller.CONF["CONFIG_NOVA_NETWORK_HOST"]:
|
||||
nova_config_options.addOption("DEFAULT/flat_interface", controller.CONF['CONFIG_NOVA_COMPUTE_PRIVIF'])
|
||||
check_ifcfg(host, controller.CONF['CONFIG_NOVA_COMPUTE_PRIVIF'])
|
||||
@@ -387,7 +387,7 @@ def createcomputemanifest(config):
|
||||
|
||||
|
||||
def createnetworkmanifest(config):
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == "y":
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] == "y":
|
||||
return
|
||||
|
||||
host = controller.CONF['CONFIG_NOVA_NETWORK_HOST']
|
||||
@@ -456,16 +456,16 @@ def createcommonmanifest(config):
|
||||
appendManifestFile(os.path.split(manifestfile)[1], data)
|
||||
|
||||
|
||||
def createquantummanifest(config):
|
||||
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != "y":
|
||||
def createneutronmanifest(config):
|
||||
if controller.CONF['CONFIG_NEUTRON_INSTALL'] != "y":
|
||||
return
|
||||
|
||||
if controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch':
|
||||
if controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch':
|
||||
controller.CONF['CONFIG_NOVA_LIBVIRT_VIF_DRIVER'] = 'nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver'
|
||||
else:
|
||||
controller.CONF['CONFIG_NOVA_LIBVIRT_VIF_DRIVER'] = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver'
|
||||
|
||||
for manifestfile, marker in manifestfiles.getFiles():
|
||||
if manifestfile.endswith("_nova.pp"):
|
||||
data = getManifestTemplate("nova_quantum.pp")
|
||||
data = getManifestTemplate("nova_neutron.pp")
|
||||
appendManifestFile(os.path.split(manifestfile)[1], data)
|
||||
|
@@ -62,15 +62,15 @@ def initConfig(controllerObject):
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
{"CMD_OPTION" : "os-quantum-install",
|
||||
"USAGE" : "Set to 'y' if you would like Packstack to install OpenStack Networking (Quantum)",
|
||||
"PROMPT" : "Should Packstack install OpenStack Networking (Quantum) service",
|
||||
{"CMD_OPTION" : "os-neutron-install",
|
||||
"USAGE" : "Set to 'y' if you would like Packstack to install OpenStack Networking (Neutron)",
|
||||
"PROMPT" : "Should Packstack install OpenStack Networking (Neutron) service",
|
||||
"OPTION_LIST" : ["y", "n"],
|
||||
"VALIDATORS" : [validators.validate_options],
|
||||
"DEFAULT_VALUE" : "y",
|
||||
"MASK_INPUT" : False,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME" : "CONFIG_QUANTUM_INSTALL",
|
||||
"CONF_NAME" : "CONFIG_NEUTRON_INSTALL",
|
||||
"USE_DEFAULT" : False,
|
||||
"NEED_CONFIRM" : False,
|
||||
"CONDITION" : False },
|
||||
|
@@ -1,5 +1,5 @@
|
||||
"""
|
||||
Installs and configures quantum
|
||||
Installs and configures neutron
|
||||
"""
|
||||
|
||||
import logging
|
||||
@@ -83,14 +83,14 @@ def initConfig(controllerObject):
|
||||
def allow_provisioning(config):
|
||||
# Provisioning is currently supported only for all-in-one (due
|
||||
# to a limitation with how the custom types for OpenStack
|
||||
# resources are implemented) and quantum with namespaces (due
|
||||
# resources are implemented) and neutron with namespaces (due
|
||||
# to the provisioning manifest assuming this configuration).
|
||||
return is_all_in_one(config) and \
|
||||
config['CONFIG_QUANTUM_INSTALL'] == 'y'
|
||||
config['CONFIG_NEUTRON_INSTALL'] == 'y'
|
||||
|
||||
def allow_all_in_one_ovs_bridge(config):
|
||||
return allow_provisioning(config) and \
|
||||
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch'
|
||||
config['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch'
|
||||
|
||||
conf_groups = [
|
||||
{ "GROUP_NAME" : "PROVISION_DEMO",
|
||||
@@ -149,7 +149,7 @@ def initSequences(controller):
|
||||
def create_manifest(config):
|
||||
# Using the server host will suffice for the all-in-one case.
|
||||
manifest_file = '%s_provision.pp' % (
|
||||
controller.CONF['CONFIG_QUANTUM_SERVER_HOST']
|
||||
controller.CONF['CONFIG_NEUTRON_SERVER_HOST']
|
||||
)
|
||||
manifest_data = getManifestTemplate("provision.pp")
|
||||
appendManifestFile(manifest_file, manifest_data)
|
||||
|
@@ -89,7 +89,7 @@ def copyPuppetModules(config):
|
||||
'glance', 'horizon', 'inifile',
|
||||
'keystone', 'memcached', 'mysql',
|
||||
'nova', 'openstack', 'packstack',
|
||||
'qpid', 'quantum', 'rsync', 'ssh', 'stdlib',
|
||||
'qpid', 'neutron', 'rsync', 'ssh', 'stdlib',
|
||||
'swift', 'sysctl', 'tempest', 'vcsrepo',
|
||||
'vlan', 'vswitch', 'xinetd'))
|
||||
|
||||
|
Submodule packstack/puppet/modules/horizon updated: bdcf7470de...1dc40b2d4a
1
packstack/puppet/modules/neutron
Submodule
1
packstack/puppet/modules/neutron
Submodule
Submodule packstack/puppet/modules/neutron added at b6b50a97e0
Submodule packstack/puppet/modules/nova updated: f1e12e1564...84303ef81c
Submodule packstack/puppet/modules/openstack updated: 3de147b024...a5f9a18c68
@@ -89,8 +89,8 @@ def add_veth_pair(ns1, ns2, veth1, veth2, address1, address2):
|
||||
|
||||
class TestNetns(unittest.TestCase):
|
||||
|
||||
def test_quantum_netns_cmds(self):
|
||||
"""Exercise the netns functionality required by quantum.
|
||||
def test_neutron_netns_cmds(self):
|
||||
"""Exercise the netns functionality required by neutron.
|
||||
|
||||
- Check that a veth pair can be configured to transit traffic
|
||||
between 2 namespaces
|
||||
@@ -152,17 +152,17 @@ class TestNetns(unittest.TestCase):
|
||||
def test_domain_socket_access(self):
|
||||
"""Check that a domain socket can be accessed regardless of namespace.
|
||||
|
||||
Quantum extends nova' metadata service - which identifies VM's
|
||||
Neutron extends nova' metadata service - which identifies VM's
|
||||
by their ip addresses - to configurations with overlapping
|
||||
ips. Support is provided by:
|
||||
|
||||
- a proxy in each namespace (quantum-ns-metadata-proxy)
|
||||
- a proxy in each namespace (neutron-ns-metadata-proxy)
|
||||
|
||||
- the proxy can uniquely identify a given VM by its ip
|
||||
address in the context of the router or network of the
|
||||
namespace.
|
||||
|
||||
- a metadata agent (quantum-metadata-agent) that forwards
|
||||
- a metadata agent (neutron-metadata-agent) that forwards
|
||||
requests from the namespace proxies to nova's metadata
|
||||
service.
|
||||
|
||||
|
Submodule packstack/puppet/modules/quantum deleted from e3d0020a96
Submodule packstack/puppet/modules/tempest updated: fbe43e5d6a...93b691f7cb
7
packstack/puppet/templates/keystone_neutron.pp
Normal file
7
packstack/puppet/templates/keystone_neutron.pp
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
class {"neutron::keystone::auth":
|
||||
password => "%(CONFIG_NEUTRON_KS_PW)s",
|
||||
public_address => "%(CONFIG_NEUTRON_SERVER_HOST)s",
|
||||
admin_address => "%(CONFIG_NEUTRON_SERVER_HOST)s",
|
||||
internal_address => "%(CONFIG_NEUTRON_SERVER_HOST)s",
|
||||
}
|
@@ -1,7 +0,0 @@
|
||||
|
||||
class {"quantum::keystone::auth":
|
||||
password => "%(CONFIG_QUANTUM_KS_PW)s",
|
||||
public_address => "%(CONFIG_QUANTUM_SERVER_HOST)s",
|
||||
admin_address => "%(CONFIG_QUANTUM_SERVER_HOST)s",
|
||||
internal_address => "%(CONFIG_QUANTUM_SERVER_HOST)s",
|
||||
}
|
5
packstack/puppet/templates/mysql_neutron.pp
Normal file
5
packstack/puppet/templates/mysql_neutron.pp
Normal file
@@ -0,0 +1,5 @@
|
||||
class {"neutron::db::mysql":
|
||||
password => "%(CONFIG_NEUTRON_DB_PW)s",
|
||||
allowed_hosts => "%%",
|
||||
dbname => '%(CONFIG_NEUTRON_L2_DBNAME)s',
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
class {"quantum::db::mysql":
|
||||
password => "%(CONFIG_QUANTUM_DB_PW)s",
|
||||
allowed_hosts => "%%",
|
||||
dbname => '%(CONFIG_QUANTUM_L2_DBNAME)s',
|
||||
}
|
14
packstack/puppet/templates/neutron.pp
Normal file
14
packstack/puppet/templates/neutron.pp
Normal file
@@ -0,0 +1,14 @@
|
||||
$neutron_db_host = '%(CONFIG_MYSQL_HOST)s'
|
||||
$neutron_db_name = '%(CONFIG_NEUTRON_L2_DBNAME)s'
|
||||
$neutron_db_user = 'neutron'
|
||||
$neutron_db_password = '%(CONFIG_NEUTRON_DB_PW)s'
|
||||
$neutron_sql_connection = "mysql://${neutron_db_user}:${neutron_db_password}@${neutron_db_host}/${neutron_db_name}"
|
||||
|
||||
$neutron_user_password = '%(CONFIG_NEUTRON_KS_PW)s'
|
||||
|
||||
class { 'neutron':
|
||||
rpc_backend => 'neutron.openstack.common.rpc.impl_qpid',
|
||||
qpid_hostname => '%(CONFIG_QPID_HOST)s',
|
||||
core_plugin => '%(CONFIG_NEUTRON_CORE_PLUGIN)s',
|
||||
verbose => true,
|
||||
}
|
@@ -1,10 +1,10 @@
|
||||
class { 'quantum::server':
|
||||
auth_password => $quantum_user_password,
|
||||
class { 'neutron::server':
|
||||
auth_password => $neutron_user_password,
|
||||
auth_host => '%(CONFIG_KEYSTONE_HOST)s',
|
||||
enabled => true,
|
||||
}
|
||||
|
||||
firewall { '001 quantum incoming':
|
||||
firewall { '001 neutron incoming':
|
||||
proto => 'tcp',
|
||||
dport => ['9696'],
|
||||
action => 'accept',
|
3
packstack/puppet/templates/neutron_dhcp.pp
Normal file
3
packstack/puppet/templates/neutron_dhcp.pp
Normal file
@@ -0,0 +1,3 @@
|
||||
class { 'neutron::agents::dhcp':
|
||||
interface_driver => '%(CONFIG_NEUTRON_DHCP_INTERFACE_DRIVER)s',
|
||||
}
|
8
packstack/puppet/templates/neutron_l3.pp
Normal file
8
packstack/puppet/templates/neutron_l3.pp
Normal file
@@ -0,0 +1,8 @@
|
||||
class { 'neutron::agents::l3':
|
||||
interface_driver => '%(CONFIG_NEUTRON_L3_INTERFACE_DRIVER)s',
|
||||
external_network_bridge => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s',
|
||||
}
|
||||
|
||||
sysctl::value { 'net.ipv4.ip_forward':
|
||||
value => '1'
|
||||
}
|
3
packstack/puppet/templates/neutron_lb_agent.pp
Normal file
3
packstack/puppet/templates/neutron_lb_agent.pp
Normal file
@@ -0,0 +1,3 @@
|
||||
class {'neutron::agents::linuxbridge':
|
||||
physical_interface_mappings => '%(CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS)s',
|
||||
}
|
5
packstack/puppet/templates/neutron_lb_plugin.pp
Normal file
5
packstack/puppet/templates/neutron_lb_plugin.pp
Normal file
@@ -0,0 +1,5 @@
|
||||
class { 'neutron::plugins::linuxbridge':
|
||||
tenant_network_type => '%(CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE)s',
|
||||
network_vlan_ranges => '%(CONFIG_NEUTRON_LB_VLAN_RANGES)s',
|
||||
sql_connection => $neutron_sql_connection
|
||||
}
|
6
packstack/puppet/templates/neutron_metadata.pp
Normal file
6
packstack/puppet/templates/neutron_metadata.pp
Normal file
@@ -0,0 +1,6 @@
|
||||
class {'neutron::agents::metadata':
|
||||
auth_password => '%(CONFIG_NEUTRON_KS_PW)s',
|
||||
auth_url => 'http://%(CONFIG_KEYSTONE_HOST)s:35357/v2.0',
|
||||
shared_secret => '%(CONFIG_NEUTRON_METADATA_PW)s',
|
||||
metadata_ip => '%(CONFIG_NOVA_API_HOST)s',
|
||||
}
|
3
packstack/puppet/templates/neutron_ovs_agent.pp
Normal file
3
packstack/puppet/templates/neutron_ovs_agent.pp
Normal file
@@ -0,0 +1,3 @@
|
||||
class { 'neutron::agents::ovs':
|
||||
bridge_mappings => %(CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS)s,
|
||||
}
|
4
packstack/puppet/templates/neutron_ovs_bridge.pp
Normal file
4
packstack/puppet/templates/neutron_ovs_bridge.pp
Normal file
@@ -0,0 +1,4 @@
|
||||
vs_bridge { '%(CONFIG_NEUTRON_OVS_BRIDGE)s':
|
||||
ensure => present,
|
||||
require => Service['neutron-plugin-ovs-service']
|
||||
}
|
11
packstack/puppet/templates/neutron_ovs_plugin.pp
Normal file
11
packstack/puppet/templates/neutron_ovs_plugin.pp
Normal file
@@ -0,0 +1,11 @@
|
||||
class { 'neutron::plugins::ovs':
|
||||
tenant_network_type => '%(CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE)s',
|
||||
network_vlan_ranges => '%(CONFIG_NEUTRON_OVS_VLAN_RANGES)s',
|
||||
sql_connection => $neutron_sql_connection
|
||||
}
|
||||
|
||||
if $::operatingsystem != 'Fedora' {
|
||||
neutron_config {
|
||||
'DEFAULT/ovs_use_veth': value => 'True';
|
||||
}
|
||||
}
|
5
packstack/puppet/templates/neutron_ovs_port.pp
Normal file
5
packstack/puppet/templates/neutron_ovs_port.pp
Normal file
@@ -0,0 +1,5 @@
|
||||
vs_port { '%(CONFIG_NEUTRON_OVS_IFACE)s':
|
||||
bridge => '%(CONFIG_NEUTRON_OVS_BRIDGE)s',
|
||||
ensure => present
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ class {"nova::api":
|
||||
enabled => true,
|
||||
auth_host => "%(CONFIG_KEYSTONE_HOST)s",
|
||||
admin_password => "%(CONFIG_NOVA_KS_PW)s",
|
||||
quantum_metadata_proxy_shared_secret => %(CONFIG_QUANTUM_METADATA_PW_UNQUOTED)s
|
||||
neutron_metadata_proxy_shared_secret => %(CONFIG_NEUTRON_METADATA_PW_UNQUOTED)s
|
||||
}
|
||||
|
||||
Package<| title == 'nova-common' |> -> Class['nova::api']
|
||||
|
12
packstack/puppet/templates/nova_neutron.pp
Normal file
12
packstack/puppet/templates/nova_neutron.pp
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
class {"nova::network::neutron":
|
||||
neutron_admin_password => "%(CONFIG_NEUTRON_KS_PW)s",
|
||||
neutron_auth_strategy => "keystone",
|
||||
neutron_url => "http://%(CONFIG_NEUTRON_SERVER_HOST)s:9696",
|
||||
neutron_admin_tenant_name => "services",
|
||||
neutron_admin_auth_url => "http://%(CONFIG_KEYSTONE_HOST)s:35357/v2.0",
|
||||
}
|
||||
|
||||
class {"nova::compute::neutron":
|
||||
libvirt_vif_driver => "%(CONFIG_NOVA_LIBVIRT_VIF_DRIVER)s",
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
|
||||
class {"nova::network::quantum":
|
||||
quantum_admin_password => "%(CONFIG_QUANTUM_KS_PW)s",
|
||||
quantum_auth_strategy => "keystone",
|
||||
quantum_url => "http://%(CONFIG_QUANTUM_SERVER_HOST)s:9696",
|
||||
quantum_admin_tenant_name => "services",
|
||||
quantum_admin_auth_url => "http://%(CONFIG_KEYSTONE_HOST)s:35357/v2.0",
|
||||
}
|
||||
|
||||
class {"nova::compute::quantum":
|
||||
libvirt_vif_driver => "%(CONFIG_NOVA_LIBVIRT_VIF_DRIVER)s",
|
||||
}
|
@@ -3,7 +3,7 @@ class { 'openstack::provision':
|
||||
password => '%(CONFIG_KEYSTONE_DEMO_PW)s',
|
||||
configure_tempest => %(CONFIG_PROVISION_TEMPEST)s,
|
||||
setup_ovs_bridge => %(CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE)s,
|
||||
public_bridge_name => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s'
|
||||
public_bridge_name => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s'
|
||||
}
|
||||
|
||||
firewall { '000 nat':
|
||||
@@ -18,13 +18,13 @@ firewall { '000 nat':
|
||||
firewall { '000 forward out':
|
||||
chain => 'FORWARD',
|
||||
action => 'accept',
|
||||
outiface => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s',
|
||||
outiface => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s',
|
||||
proto => 'all',
|
||||
}
|
||||
|
||||
firewall { '000 forward in':
|
||||
chain => 'FORWARD',
|
||||
action => 'accept',
|
||||
iniface => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s',
|
||||
iniface => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s',
|
||||
proto => 'all',
|
||||
}
|
||||
|
@@ -1,14 +0,0 @@
|
||||
$quantum_db_host = '%(CONFIG_MYSQL_HOST)s'
|
||||
$quantum_db_name = '%(CONFIG_QUANTUM_L2_DBNAME)s'
|
||||
$quantum_db_user = 'quantum'
|
||||
$quantum_db_password = '%(CONFIG_QUANTUM_DB_PW)s'
|
||||
$quantum_sql_connection = "mysql://${quantum_db_user}:${quantum_db_password}@${quantum_db_host}/${quantum_db_name}"
|
||||
|
||||
$quantum_user_password = '%(CONFIG_QUANTUM_KS_PW)s'
|
||||
|
||||
class { 'quantum':
|
||||
rpc_backend => 'quantum.openstack.common.rpc.impl_qpid',
|
||||
qpid_hostname => '%(CONFIG_QPID_HOST)s',
|
||||
core_plugin => '%(CONFIG_QUANTUM_CORE_PLUGIN)s',
|
||||
verbose => true,
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
class { 'quantum::agents::dhcp':
|
||||
interface_driver => '%(CONFIG_QUANTUM_DHCP_INTERFACE_DRIVER)s',
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
class { 'quantum::agents::l3':
|
||||
interface_driver => '%(CONFIG_QUANTUM_L3_INTERFACE_DRIVER)s',
|
||||
external_network_bridge => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s',
|
||||
}
|
||||
|
||||
sysctl::value { 'net.ipv4.ip_forward':
|
||||
value => '1'
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
class {'quantum::agents::linuxbridge':
|
||||
physical_interface_mappings => '%(CONFIG_QUANTUM_LB_INTERFACE_MAPPINGS)s',
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
class { 'quantum::plugins::linuxbridge':
|
||||
tenant_network_type => '%(CONFIG_QUANTUM_LB_TENANT_NETWORK_TYPE)s',
|
||||
network_vlan_ranges => '%(CONFIG_QUANTUM_LB_VLAN_RANGES)s',
|
||||
sql_connection => $quantum_sql_connection
|
||||
}
|
@@ -1,6 +0,0 @@
|
||||
class {'quantum::agents::metadata':
|
||||
auth_password => '%(CONFIG_QUANTUM_KS_PW)s',
|
||||
auth_url => 'http://%(CONFIG_KEYSTONE_HOST)s:35357/v2.0',
|
||||
shared_secret => '%(CONFIG_QUANTUM_METADATA_PW)s',
|
||||
metadata_ip => '%(CONFIG_NOVA_API_HOST)s',
|
||||
}
|
@@ -1,3 +0,0 @@
|
||||
class { 'quantum::agents::ovs':
|
||||
bridge_mappings => %(CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS)s,
|
||||
}
|
@@ -1,4 +0,0 @@
|
||||
vs_bridge { '%(CONFIG_QUANTUM_OVS_BRIDGE)s':
|
||||
ensure => present,
|
||||
require => Service['quantum-plugin-ovs-service']
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
class { 'quantum::plugins::ovs':
|
||||
tenant_network_type => '%(CONFIG_QUANTUM_OVS_TENANT_NETWORK_TYPE)s',
|
||||
network_vlan_ranges => '%(CONFIG_QUANTUM_OVS_VLAN_RANGES)s',
|
||||
sql_connection => $quantum_sql_connection
|
||||
}
|
||||
|
||||
if $::operatingsystem != 'Fedora' {
|
||||
quantum_config {
|
||||
'DEFAULT/ovs_use_veth': value => 'True';
|
||||
}
|
||||
}
|
@@ -1,5 +0,0 @@
|
||||
vs_port { '%(CONFIG_QUANTUM_OVS_IFACE)s':
|
||||
bridge => '%(CONFIG_QUANTUM_OVS_BRIDGE)s',
|
||||
ensure => present
|
||||
}
|
||||
|
Reference in New Issue
Block a user