Just rename quantum to neutron everywhere

Change-Id: Ic1bb14bfeec11a61b0e785bb9619c0195e3bacd7
This commit is contained in:
Terry Wilson
2013-08-06 02:37:48 -05:00
committed by Maru Newby
parent 0718925e13
commit 72bd04243c
44 changed files with 279 additions and 279 deletions

6
.gitmodules vendored
View File

@@ -64,12 +64,12 @@
[submodule "packstack/puppet/modules/vswitch"] [submodule "packstack/puppet/modules/vswitch"]
path = packstack/puppet/modules/vswitch path = packstack/puppet/modules/vswitch
url = https://github.com/packstack/puppet-vswitch.git 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"] [submodule "packstack/puppet/modules/tempest"]
path = packstack/puppet/modules/tempest path = packstack/puppet/modules/tempest
url = git://github.com/stackforge/puppet-tempest.git url = git://github.com/stackforge/puppet-tempest.git
[submodule "packstack/puppet/modules/vcsrepo"] [submodule "packstack/puppet/modules/vcsrepo"]
path = packstack/puppet/modules/vcsrepo path = packstack/puppet/modules/vcsrepo
url = https://github.com/puppetlabs/puppetlabs-vcsrepo.git 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

View File

@@ -655,10 +655,10 @@ def single_step_aio_install(options):
if not options.novanetwork_privif: if not options.novanetwork_privif:
options.novanetwork_privif = "lo" 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 # go ahead and set up a basic network and external bridge unless
# specifically told not to # specifically told not to
if options.os_quantum_install != "n": if options.os_neutron_install != "n":
if not options.provision_demo: if not options.provision_demo:
options.provision_demo = "y" options.provision_demo = "y"
if not options.provision_all_in_one_ovs_bridge: if not options.provision_all_in_one_ovs_bridge:

View File

@@ -98,7 +98,7 @@ def createmanifest(config):
append_for("cinder") append_for("cinder")
if controller.CONF['CONFIG_GLANCE_INSTALL'] == "y": if controller.CONF['CONFIG_GLANCE_INSTALL'] == "y":
append_for("glance") append_for("glance")
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == 'y': if controller.CONF['CONFIG_NEUTRON_INSTALL'] == 'y':
append_for("quantum") append_for("neutron")
appendManifestFile(manifestfile, "\n".join(manifestdata), 'pre') appendManifestFile(manifestfile, "\n".join(manifestdata), 'pre')

View File

@@ -1,5 +1,5 @@
""" """
Installs and configures quantum Installs and configures neutron
""" """
import logging import logging
@@ -16,7 +16,7 @@ from packstack.modules.ospluginutils import getManifestTemplate, appendManifestF
controller = None controller = None
# Plugin name # Plugin name
PLUGIN_NAME = "OS-QUANTUM" PLUGIN_NAME = "OS-NEUTRON"
logging.debug("plugin %s loaded", __name__) logging.debug("plugin %s loaded", __name__)
@@ -24,121 +24,121 @@ def initConfig(controllerObject):
global controller global controller
controller = controllerObject controller = controllerObject
logging.debug("Adding OpenStack Quantum configuration") logging.debug("Adding OpenStack Neutron configuration")
conf_params = { conf_params = {
"QUANTUM" : [ "NEUTRON" : [
{"CMD_OPTION" : "quantum-server-host", {"CMD_OPTION" : "neutron-server-host",
"USAGE" : "The IP addresses of the server on which to install the Quantum server", "USAGE" : "The IP addresses of the server on which to install the Neutron server",
"PROMPT" : "Enter the IP address of the Quantum server", "PROMPT" : "Enter the IP address of the Neutron server",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_ip, validators.validate_ssh], "VALIDATORS" : [validators.validate_ip, validators.validate_ssh],
"DEFAULT_VALUE" : utils.get_localhost_ip(), "DEFAULT_VALUE" : utils.get_localhost_ip(),
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_SERVER_HOST", "CONF_NAME" : "CONFIG_NEUTRON_SERVER_HOST",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-ks-password", {"CMD_OPTION" : "neutron-ks-password",
"USAGE" : "The password to use for Quantum to authenticate with Keystone", "USAGE" : "The password to use for Neutron to authenticate with Keystone",
"PROMPT" : "Enter the password for Quantum Keystone access", "PROMPT" : "Enter the password for Neutron Keystone access",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_not_empty], "VALIDATORS" : [validators.validate_not_empty],
"DEFAULT_VALUE" : uuid.uuid4().hex[:16], "DEFAULT_VALUE" : uuid.uuid4().hex[:16],
"MASK_INPUT" : True, "MASK_INPUT" : True,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_KS_PW", "CONF_NAME" : "CONFIG_NEUTRON_KS_PW",
"USE_DEFAULT" : True, "USE_DEFAULT" : True,
"NEED_CONFIRM" : True, "NEED_CONFIRM" : True,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-db-password", {"CMD_OPTION" : "neutron-db-password",
"USAGE" : "The password to use for Quantum to access DB", "USAGE" : "The password to use for Neutron to access DB",
"PROMPT" : "Enter the password for Quantum DB access", "PROMPT" : "Enter the password for Neutron DB access",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_not_empty], "VALIDATORS" : [validators.validate_not_empty],
"DEFAULT_VALUE" : uuid.uuid4().hex[:16], "DEFAULT_VALUE" : uuid.uuid4().hex[:16],
"MASK_INPUT" : True, "MASK_INPUT" : True,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_DB_PW", "CONF_NAME" : "CONFIG_NEUTRON_DB_PW",
"USE_DEFAULT" : True, "USE_DEFAULT" : True,
"NEED_CONFIRM" : True, "NEED_CONFIRM" : True,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-l3-hosts", {"CMD_OPTION" : "neutron-l3-hosts",
"USAGE" : "A comma separated list of IP addresses on which to install Quantum L3 agent", "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 Quantum L3 agent", "PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron L3 agent",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_multi_ssh], "VALIDATORS" : [validators.validate_multi_ssh],
"DEFAULT_VALUE" : utils.get_localhost_ip(), "DEFAULT_VALUE" : utils.get_localhost_ip(),
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_L3_HOSTS", "CONF_NAME" : "CONFIG_NEUTRON_L3_HOSTS",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-l3-ext-bridge", {"CMD_OPTION" : "neutron-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", "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 Quantum 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" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_not_empty], "VALIDATORS" : [validators.validate_not_empty],
"DEFAULT_VALUE" : "br-ex", "DEFAULT_VALUE" : "br-ex",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_L3_EXT_BRIDGE", "CONF_NAME" : "CONFIG_NEUTRON_L3_EXT_BRIDGE",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-dhcp-hosts", {"CMD_OPTION" : "neutron-dhcp-hosts",
"USAGE" : "A comma separated list of IP addresses on which to install Quantum DHCP agent", "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 Quantum DHCP agent", "PROMPT" : "Enter a comma separated list of IP addresses on which to install Neutron DHCP agent",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_multi_ssh], "VALIDATORS" : [validators.validate_multi_ssh],
"DEFAULT_VALUE" : utils.get_localhost_ip(), "DEFAULT_VALUE" : utils.get_localhost_ip(),
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_DHCP_HOSTS", "CONF_NAME" : "CONFIG_NEUTRON_DHCP_HOSTS",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-l2-plugin", {"CMD_OPTION" : "neutron-l2-plugin",
"USAGE" : "The name of the L2 plugin to be used with Quantum", "USAGE" : "The name of the L2 plugin to be used with Neutron",
"PROMPT" : "Enter the name of the L2 plugin to be used with Quantum", "PROMPT" : "Enter the name of the L2 plugin to be used with Neutron",
"OPTION_LIST" : ["linuxbridge", "openvswitch"], "OPTION_LIST" : ["linuxbridge", "openvswitch"],
"VALIDATORS" : [validators.validate_options], "VALIDATORS" : [validators.validate_options],
"DEFAULT_VALUE" : "openvswitch", "DEFAULT_VALUE" : "openvswitch",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_L2_PLUGIN", "CONF_NAME" : "CONFIG_NEUTRON_L2_PLUGIN",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-metadata-hosts", {"CMD_OPTION" : "neutron-metadata-hosts",
"USAGE" : "A comma separated list of IP addresses on which to install Quantum metadata agent", "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 Quantum metadata agent", "PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron metadata agent",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_multi_ssh], "VALIDATORS" : [validators.validate_multi_ssh],
"DEFAULT_VALUE" : utils.get_localhost_ip(), "DEFAULT_VALUE" : utils.get_localhost_ip(),
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_METADATA_HOSTS", "CONF_NAME" : "CONFIG_NEUTRON_METADATA_HOSTS",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-metadata-pw", {"CMD_OPTION" : "neutron-metadata-pw",
"USAGE" : "A comma separated list of IP addresses on which to install Quantum metadata agent", "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 Quantum metadata agent", "PROMPT" : "Enter a comma separated list of IP addresses on which to install the Neutron metadata agent",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [validators.validate_not_empty], "VALIDATORS" : [validators.validate_not_empty],
"DEFAULT_VALUE" : uuid.uuid4().hex[:16], "DEFAULT_VALUE" : uuid.uuid4().hex[:16],
"MASK_INPUT" : True, "MASK_INPUT" : True,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_METADATA_PW", "CONF_NAME" : "CONFIG_NEUTRON_METADATA_PW",
"USE_DEFAULT" : True, "USE_DEFAULT" : True,
"NEED_CONFIRM" : True, "NEED_CONFIRM" : True,
"CONDITION" : False }, "CONDITION" : False },
], ],
"QUANTUM_LB_PLUGIN" : [ "NEUTRON_LB_PLUGIN" : [
{"CMD_OPTION" : "quantum-lb-tenant-network-type", {"CMD_OPTION" : "neutron-lb-tenant-network-type",
"USAGE" : "The type of network to allocate for tenant networks", "USAGE" : "The type of network to allocate for tenant networks",
"PROMPT" : "Enter the type of network to allocate for tenant networks", "PROMPT" : "Enter the type of network to allocate for tenant networks",
"OPTION_LIST" : ["local", "vlan"], "OPTION_LIST" : ["local", "vlan"],
@@ -146,37 +146,37 @@ def initConfig(controllerObject):
"DEFAULT_VALUE" : "local", "DEFAULT_VALUE" : "local",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_LB_TENANT_NETWORK_TYPE", "CONF_NAME" : "CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-lb-vlan-ranges", {"CMD_OPTION" : "neutron-lb-vlan-ranges",
"USAGE" : "A comma separated list of VLAN ranges for the Quantum linuxbridge plugin", "USAGE" : "A comma separated list of VLAN ranges for the Neutron linuxbridge plugin",
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Quantum linuxbridge plugin", "PROMPT" : "Enter a comma separated list of VLAN ranges for the Neutron linuxbridge plugin",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [], "VALIDATORS" : [],
"DEFAULT_VALUE" : "", "DEFAULT_VALUE" : "",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_LB_VLAN_RANGES", "CONF_NAME" : "CONFIG_NEUTRON_LB_VLAN_RANGES",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-lb-interface-mappings", {"CMD_OPTION" : "neutron-lb-interface-mappings",
"USAGE" : "A comma separated list of interface mappings for the Quantum linuxbridge plugin", "USAGE" : "A comma separated list of interface mappings for the Neutron linuxbridge plugin",
"PROMPT" : "Enter a comma separated list of interface mappings for the Quantum linuxbridge plugin", "PROMPT" : "Enter a comma separated list of interface mappings for the Neutron linuxbridge plugin",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [], "VALIDATORS" : [],
"DEFAULT_VALUE" : "", "DEFAULT_VALUE" : "",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_LB_INTERFACE_MAPPINGS", "CONF_NAME" : "CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
], ],
"QUANTUM_OVS_PLUGIN" : [ "NEUTRON_OVS_PLUGIN" : [
{"CMD_OPTION" : "quantum-ovs-tenant-network-type", {"CMD_OPTION" : "neutron-ovs-tenant-network-type",
"USAGE" : "Type of network to allocate for tenant networks", "USAGE" : "Type of network to allocate for tenant networks",
"PROMPT" : "Enter the type of network to allocate for tenant networks", "PROMPT" : "Enter the type of network to allocate for tenant networks",
"OPTION_LIST" : ["local", "vlan", "gre"], "OPTION_LIST" : ["local", "vlan", "gre"],
@@ -184,43 +184,43 @@ def initConfig(controllerObject):
"DEFAULT_VALUE" : "local", "DEFAULT_VALUE" : "local",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_OVS_TENANT_NETWORK_TYPE", "CONF_NAME" : "CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-ovs-vlan-ranges", {"CMD_OPTION" : "neutron-ovs-vlan-ranges",
"USAGE" : "A comma separated list of VLAN ranges for the Quantum openvswitch plugin", "USAGE" : "A comma separated list of VLAN ranges for the Neutron openvswitch plugin",
"PROMPT" : "Enter a comma separated list of VLAN ranges for the Quantum openvswitch plugin", "PROMPT" : "Enter a comma separated list of VLAN ranges for the Neutron openvswitch plugin",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [], "VALIDATORS" : [],
"DEFAULT_VALUE" : "", "DEFAULT_VALUE" : "",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_OVS_VLAN_RANGES", "CONF_NAME" : "CONFIG_NEUTRON_OVS_VLAN_RANGES",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "quantum-ovs-bridge-mappings", {"CMD_OPTION" : "neutron-ovs-bridge-mappings",
"USAGE" : "A comma separated list of bridge mappings for the Quantum openvswitch plugin", "USAGE" : "A comma separated list of bridge mappings for the Neutron openvswitch plugin",
"PROMPT" : "Enter a comma separated list of bridge mappings for the Quantum openvswitch plugin", "PROMPT" : "Enter a comma separated list of bridge mappings for the Neutron openvswitch plugin",
"OPTION_LIST" : [], "OPTION_LIST" : [],
"VALIDATORS" : [], "VALIDATORS" : [],
"DEFAULT_VALUE" : "", "DEFAULT_VALUE" : "",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS", "CONF_NAME" : "CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : 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.", "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" : [], "OPTION_LIST" : [],
"VALIDATORS" : [], "VALIDATORS" : [],
"DEFAULT_VALUE" : "", "DEFAULT_VALUE" : "",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": True, "LOOSE_VALIDATION": True,
"CONF_NAME" : "CONFIG_QUANTUM_OVS_BRIDGE_IFACES", "CONF_NAME" : "CONFIG_NEUTRON_OVS_BRIDGE_IFACES",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
@@ -228,28 +228,28 @@ def initConfig(controllerObject):
} }
def use_linuxbridge(config): def use_linuxbridge(config):
return config['CONFIG_QUANTUM_INSTALL'] == 'y' and \ return config['CONFIG_NEUTRON_INSTALL'] == 'y' and \
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge' config['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge'
def use_openvswitch(config): def use_openvswitch(config):
return config['CONFIG_QUANTUM_INSTALL'] == 'y' and \ return config['CONFIG_NEUTRON_INSTALL'] == 'y' and \
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch' config['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch'
conf_groups = [ conf_groups = [
{ "GROUP_NAME" : "QUANTUM", { "GROUP_NAME" : "NEUTRON",
"DESCRIPTION" : "Quantum config", "DESCRIPTION" : "Neutron config",
"PRE_CONDITION" : "CONFIG_QUANTUM_INSTALL", "PRE_CONDITION" : "CONFIG_NEUTRON_INSTALL",
"PRE_CONDITION_MATCH" : "y", "PRE_CONDITION_MATCH" : "y",
"POST_CONDITION" : False, "POST_CONDITION" : False,
"POST_CONDITION_MATCH" : True }, "POST_CONDITION_MATCH" : True },
{ "GROUP_NAME" : "QUANTUM_LB_PLUGIN", { "GROUP_NAME" : "NEUTRON_LB_PLUGIN",
"DESCRIPTION" : "Quantum LB plugin config", "DESCRIPTION" : "Neutron LB plugin config",
"PRE_CONDITION" : use_linuxbridge, "PRE_CONDITION" : use_linuxbridge,
"PRE_CONDITION_MATCH" : True, "PRE_CONDITION_MATCH" : True,
"POST_CONDITION" : False, "POST_CONDITION" : False,
"POST_CONDITION_MATCH" : True }, "POST_CONDITION_MATCH" : True },
{ "GROUP_NAME" : "QUANTUM_OVS_PLUGIN", { "GROUP_NAME" : "NEUTRON_OVS_PLUGIN",
"DESCRIPTION" : "Quantum OVS plugin config", "DESCRIPTION" : "Neutron OVS plugin config",
"PRE_CONDITION" : use_openvswitch, "PRE_CONDITION" : use_openvswitch,
"PRE_CONDITION_MATCH" : True, "PRE_CONDITION_MATCH" : True,
"POST_CONDITION" : False, "POST_CONDITION" : False,
@@ -262,102 +262,102 @@ def initConfig(controllerObject):
def getInterfaceDriver(): def getInterfaceDriver():
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch": if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
return 'quantum.agent.linux.interface.OVSInterfaceDriver' return 'neutron.agent.linux.interface.OVSInterfaceDriver'
elif controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge': elif controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge':
return 'quantum.agent.linux.interface.BridgeInterfaceDriver' return 'neutron.agent.linux.interface.BridgeInterfaceDriver'
def initSequences(controller): def initSequences(controller):
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != 'y': if controller.CONF['CONFIG_NEUTRON_INSTALL'] != 'y':
return return
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch": if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
controller.CONF['CONFIG_QUANTUM_L2_DBNAME'] = 'ovs_quantum' controller.CONF['CONFIG_NEUTRON_L2_DBNAME'] = 'ovs_neutron'
controller.CONF['CONFIG_QUANTUM_CORE_PLUGIN'] = 'quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2' controller.CONF['CONFIG_NEUTRON_CORE_PLUGIN'] = 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2'
elif controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "linuxbridge": elif controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "linuxbridge":
controller.CONF['CONFIG_QUANTUM_L2_DBNAME'] = 'quantum_linux_bridge' controller.CONF['CONFIG_NEUTRON_L2_DBNAME'] = 'neutron_linux_bridge'
controller.CONF['CONFIG_QUANTUM_CORE_PLUGIN'] = 'quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2' 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 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()]) 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()]) 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()]) 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()]) meta_hosts = set([i.strip() for i in dirty if i.strip()])
dirty = controller.CONF['CONFIG_NOVA_COMPUTE_HOSTS'].split(',') dirty = controller.CONF['CONFIG_NOVA_COMPUTE_HOSTS'].split(',')
compute_hosts = set([i.strip() for i in dirty if i.strip()]) compute_hosts = set([i.strip() for i in dirty if i.strip()])
q_hosts = api_hosts | l3_hosts | dhcp_hosts | compute_hosts | meta_hosts q_hosts = api_hosts | l3_hosts | dhcp_hosts | compute_hosts | meta_hosts
quantum_steps = [ neutron_steps = [
{'title': 'Adding Quantum API manifest entries', 'functions':[createManifest]}, {'title': 'Adding Neutron API manifest entries', 'functions':[createManifest]},
{'title': 'Adding Quantum Keystone manifest entries', 'functions':[createKeystoneManifest]}, {'title': 'Adding Neutron Keystone manifest entries', 'functions':[createKeystoneManifest]},
{'title': 'Adding Quantum L3 manifest entries', 'functions':[createL3Manifests]}, {'title': 'Adding Neutron L3 manifest entries', 'functions':[createL3Manifests]},
{'title': 'Adding Quantum L2 Agent manifest entries', 'functions':[createL2AgentManifests]}, {'title': 'Adding Neutron L2 Agent manifest entries', 'functions':[createL2AgentManifests]},
{'title': 'Adding Quantum DHCP Agent manifest entries', 'functions':[createDHCPManifests]}, {'title': 'Adding Neutron DHCP Agent manifest entries', 'functions':[createDHCPManifests]},
{'title': 'Adding Quantum Metadata Agent manifest entries', 'functions':[createMetadataManifests]}, {'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): def createManifest(config):
global q_hosts global q_hosts
for host in q_hosts: for host in q_hosts:
manifest_file = "%s_quantum.pp" % (host,) manifest_file = "%s_neutron.pp" % (host,)
manifest_data = getManifestTemplate("quantum.pp") manifest_data = getManifestTemplate("neutron.pp")
appendManifestFile(manifest_file, manifest_data, 'quantum') appendManifestFile(manifest_file, manifest_data, 'neutron')
if host in api_hosts: if host in api_hosts:
manifest_file = "%s_quantum.pp" % (host,) manifest_file = "%s_neutron.pp" % (host,)
manifest_data = getManifestTemplate("quantum_api.pp") manifest_data = getManifestTemplate("neutron_api.pp")
appendManifestFile(manifest_file, manifest_data, 'quantum') 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 # XXX I am not completely sure about this, but it seems necessary
if controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch': if controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch':
manifest_data = getManifestTemplate("quantum_ovs_plugin.pp") manifest_data = getManifestTemplate("neutron_ovs_plugin.pp")
appendManifestFile(manifest_file, manifest_data, 'quantum') appendManifestFile(manifest_file, manifest_data, 'neutron')
elif controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'linuxbridge': elif controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'linuxbridge':
manifest_data = getManifestTemplate("quantum_lb_plugin.pp") manifest_data = getManifestTemplate("neutron_lb_plugin.pp")
appendManifestFile(manifest_file, manifest_data, 'quantum') appendManifestFile(manifest_file, manifest_data, 'neutron')
def createKeystoneManifest(config): def createKeystoneManifest(config):
manifestfile = "%s_keystone.pp"%controller.CONF['CONFIG_KEYSTONE_HOST'] manifestfile = "%s_keystone.pp"%controller.CONF['CONFIG_KEYSTONE_HOST']
manifestdata = getManifestTemplate("keystone_quantum.pp") manifestdata = getManifestTemplate("keystone_neutron.pp")
appendManifestFile(manifestfile, manifestdata) appendManifestFile(manifestfile, manifestdata)
def createL3Manifests(config): def createL3Manifests(config):
global l3_hosts global l3_hosts
if controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE'] == 'provider': if controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE'] == 'provider':
controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE'] = '' controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE'] = ''
for host in l3_hosts: for host in l3_hosts:
controller.CONF['CONFIG_QUANTUM_L3_HOST'] = host controller.CONF['CONFIG_NEUTRON_L3_HOST'] = host
controller.CONF['CONFIG_QUANTUM_L3_INTERFACE_DRIVER'] = getInterfaceDriver() controller.CONF['CONFIG_NEUTRON_L3_INTERFACE_DRIVER'] = getInterfaceDriver()
manifestdata = getManifestTemplate("quantum_l3.pp") manifestdata = getManifestTemplate("neutron_l3.pp")
manifestfile = "%s_quantum.pp" % (host,) manifestfile = "%s_neutron.pp" % (host,)
appendManifestFile(manifestfile, manifestdata + '\n') appendManifestFile(manifestfile, manifestdata + '\n')
if controller.CONF['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch' and controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE']: if controller.CONF['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch' and controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE']:
controller.CONF['CONFIG_QUANTUM_OVS_BRIDGE'] = controller.CONF['CONFIG_QUANTUM_L3_EXT_BRIDGE'] controller.CONF['CONFIG_NEUTRON_OVS_BRIDGE'] = controller.CONF['CONFIG_NEUTRON_L3_EXT_BRIDGE']
manifestdata = getManifestTemplate('quantum_ovs_bridge.pp') manifestdata = getManifestTemplate('neutron_ovs_bridge.pp')
appendManifestFile(manifestfile, manifestdata + '\n') appendManifestFile(manifestfile, manifestdata + '\n')
def createDHCPManifests(config): def createDHCPManifests(config):
global dhcp_hosts global dhcp_hosts
for host in dhcp_hosts: for host in dhcp_hosts:
controller.CONF["CONFIG_QUANTUM_DHCP_HOST"] = host controller.CONF["CONFIG_NEUTRON_DHCP_HOST"] = host
controller.CONF['CONFIG_QUANTUM_DHCP_INTERFACE_DRIVER'] = getInterfaceDriver() controller.CONF['CONFIG_NEUTRON_DHCP_INTERFACE_DRIVER'] = getInterfaceDriver()
manifestdata = getManifestTemplate("quantum_dhcp.pp") manifestdata = getManifestTemplate("neutron_dhcp.pp")
manifestfile = "%s_quantum.pp" % (host,) manifestfile = "%s_neutron.pp" % (host,)
appendManifestFile(manifestfile, manifestdata + "\n") appendManifestFile(manifestfile, manifestdata + "\n")
@@ -367,23 +367,23 @@ def get_values(val):
def createL2AgentManifests(config): def createL2AgentManifests(config):
global compute_hosts, dhcp_host, l3_hosts global compute_hosts, dhcp_host, l3_hosts
if controller.CONF["CONFIG_QUANTUM_L2_PLUGIN"] == "openvswitch": if controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "openvswitch":
host_var = 'CONFIG_QUANTUM_OVS_HOST' host_var = 'CONFIG_NEUTRON_OVS_HOST'
template_name = 'quantum_ovs_agent.pp' template_name = 'neutron_ovs_agent.pp'
bm_arr = get_values(controller.CONF["CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS"]) bm_arr = get_values(controller.CONF["CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS"])
iface_arr = get_values(controller.CONF["CONFIG_QUANTUM_OVS_BRIDGE_IFACES"]) 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 # comma-separated list of bridge mappings. Since the puppet module
# expects this parameter to be an array, this parameter must be properly # expects this parameter to be an array, this parameter must be properly
# formatted by packstack, then consumed by the puppet module. # formatted by packstack, then consumed by the puppet module.
# For example, the input string 'A, B, C' should formatted as '['A','B','C']'. # 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": elif controller.CONF["CONFIG_NEUTRON_L2_PLUGIN"] == "linuxbridge":
host_var = 'CONFIG_QUANTUM_LB_HOST' host_var = 'CONFIG_NEUTRON_LB_HOST'
template_name = 'quantum_lb_agent.pp' template_name = 'neutron_lb_agent.pp'
else: else:
raise KeyError("Unknown layer2 agent") raise KeyError("Unknown layer2 agent")
@@ -391,20 +391,20 @@ def createL2AgentManifests(config):
# specifically for the l2 agent # specifically for the l2 agent
for host in compute_hosts | dhcp_hosts | l3_hosts: for host in compute_hosts | dhcp_hosts | l3_hosts:
controller.CONF[host_var] = host controller.CONF[host_var] = host
manifestfile = "%s_quantum.pp" % (host,) manifestfile = "%s_neutron.pp" % (host,)
manifestdata = getManifestTemplate(template_name) manifestdata = getManifestTemplate(template_name)
appendManifestFile(manifestfile, manifestdata + "\n") 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: for if_map in iface_arr:
controller.CONF['CONFIG_QUANTUM_OVS_BRIDGE'], controller.CONF['CONFIG_QUANTUM_OVS_IFACE'] = if_map.split(':') controller.CONF['CONFIG_NEUTRON_OVS_BRIDGE'], controller.CONF['CONFIG_NEUTRON_OVS_IFACE'] = if_map.split(':')
manifestdata = getManifestTemplate("quantum_ovs_port.pp") manifestdata = getManifestTemplate("neutron_ovs_port.pp")
appendManifestFile(manifestfile, manifestdata + "\n") appendManifestFile(manifestfile, manifestdata + "\n")
def createMetadataManifests(config): def createMetadataManifests(config):
global meta_hosts global meta_hosts
for host in meta_hosts: for host in meta_hosts:
controller.CONF['CONFIG_QUANTUM_METADATA_HOST'] = host controller.CONF['CONFIG_NEUTRON_METADATA_HOST'] = host
manifestdata = getManifestTemplate('quantum_metadata.pp') manifestdata = getManifestTemplate('neutron_metadata.pp')
manifestfile = "%s_quantum.pp" % (host,) manifestfile = "%s_neutron.pp" % (host,)
appendManifestFile(manifestfile, manifestdata + "\n") appendManifestFile(manifestfile, manifestdata + "\n")

View File

@@ -252,7 +252,7 @@ def initConfig(controllerObject):
def use_nova_network(config): def use_nova_network(config):
return config['CONFIG_NOVA_INSTALL'] == 'y' and \ return config['CONFIG_NOVA_INSTALL'] == 'y' and \
config['CONFIG_QUANTUM_INSTALL'] != 'y' config['CONFIG_NEUTRON_INSTALL'] != 'y'
nova_groups = [ nova_groups = [
{ "GROUP_NAME" : "NOVA", { "GROUP_NAME" : "NOVA",
@@ -288,8 +288,8 @@ def initSequences(controller):
{'title': 'Adding Nova Common manifest entries', 'functions':[createcommonmanifest]}, {'title': 'Adding Nova Common manifest entries', 'functions':[createcommonmanifest]},
] ]
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == 'y': if controller.CONF['CONFIG_NEUTRON_INSTALL'] == 'y':
novaapisteps.append({'title': 'Adding Openstack Network-related Nova manifest entries', 'functions':[createquantummanifest]}) novaapisteps.append({'title': 'Adding Openstack Network-related Nova manifest entries', 'functions':[createneutronmanifest]})
else: else:
novaapisteps.append({'title': 'Adding Nova Network manifest entries', 'functions':[createnetworkmanifest]}) novaapisteps.append({'title': 'Adding Nova Network manifest entries', 'functions':[createnetworkmanifest]})
@@ -297,16 +297,16 @@ def initSequences(controller):
def createapimanifest(config): 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, 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' # proxy support. So the nova_api.pp template needs unquoted 'undef'
# to disable metadata support if quantum is not being installed. # to disable metadata support if neutron is not being installed.
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != 'y': if controller.CONF['CONFIG_NEUTRON_INSTALL'] != 'y':
controller.CONF['CONFIG_QUANTUM_METADATA_PW_UNQUOTED'] = 'undef' controller.CONF['CONFIG_NEUTRON_METADATA_PW_UNQUOTED'] = 'undef'
else: else:
controller.CONF['CONFIG_QUANTUM_METADATA_PW_UNQUOTED'] = \ controller.CONF['CONFIG_NEUTRON_METADATA_PW_UNQUOTED'] = \
"'%s'" % controller.CONF['CONFIG_QUANTUM_METADATA_PW'] "'%s'" % controller.CONF['CONFIG_NEUTRON_METADATA_PW']
manifestfile = "%s_api_nova.pp"%controller.CONF['CONFIG_NOVA_API_HOST'] manifestfile = "%s_api_nova.pp"%controller.CONF['CONFIG_NOVA_API_HOST']
manifestdata = getManifestTemplate("nova_api.pp") manifestdata = getManifestTemplate("nova_api.pp")
appendManifestFile(manifestfile, manifestdata, 'novaapi') appendManifestFile(manifestfile, manifestdata, 'novaapi')
@@ -373,7 +373,7 @@ def createcomputemanifest(config):
manifestfile = "%s_nova.pp"%host manifestfile = "%s_nova.pp"%host
nova_config_options = NovaConfig() 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"]: if host != controller.CONF["CONFIG_NOVA_NETWORK_HOST"]:
nova_config_options.addOption("DEFAULT/flat_interface", controller.CONF['CONFIG_NOVA_COMPUTE_PRIVIF']) nova_config_options.addOption("DEFAULT/flat_interface", controller.CONF['CONFIG_NOVA_COMPUTE_PRIVIF'])
check_ifcfg(host, 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): def createnetworkmanifest(config):
if controller.CONF['CONFIG_QUANTUM_INSTALL'] == "y": if controller.CONF['CONFIG_NEUTRON_INSTALL'] == "y":
return return
host = controller.CONF['CONFIG_NOVA_NETWORK_HOST'] host = controller.CONF['CONFIG_NOVA_NETWORK_HOST']
@@ -456,16 +456,16 @@ def createcommonmanifest(config):
appendManifestFile(os.path.split(manifestfile)[1], data) appendManifestFile(os.path.split(manifestfile)[1], data)
def createquantummanifest(config): def createneutronmanifest(config):
if controller.CONF['CONFIG_QUANTUM_INSTALL'] != "y": if controller.CONF['CONFIG_NEUTRON_INSTALL'] != "y":
return 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' controller.CONF['CONFIG_NOVA_LIBVIRT_VIF_DRIVER'] = 'nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver'
else: else:
controller.CONF['CONFIG_NOVA_LIBVIRT_VIF_DRIVER'] = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' controller.CONF['CONFIG_NOVA_LIBVIRT_VIF_DRIVER'] = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver'
for manifestfile, marker in manifestfiles.getFiles(): for manifestfile, marker in manifestfiles.getFiles():
if manifestfile.endswith("_nova.pp"): if manifestfile.endswith("_nova.pp"):
data = getManifestTemplate("nova_quantum.pp") data = getManifestTemplate("nova_neutron.pp")
appendManifestFile(os.path.split(manifestfile)[1], data) appendManifestFile(os.path.split(manifestfile)[1], data)

View File

@@ -62,15 +62,15 @@ def initConfig(controllerObject):
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },
{"CMD_OPTION" : "os-quantum-install", {"CMD_OPTION" : "os-neutron-install",
"USAGE" : "Set to 'y' if you would like Packstack to install OpenStack Networking (Quantum)", "USAGE" : "Set to 'y' if you would like Packstack to install OpenStack Networking (Neutron)",
"PROMPT" : "Should Packstack install OpenStack Networking (Quantum) service", "PROMPT" : "Should Packstack install OpenStack Networking (Neutron) service",
"OPTION_LIST" : ["y", "n"], "OPTION_LIST" : ["y", "n"],
"VALIDATORS" : [validators.validate_options], "VALIDATORS" : [validators.validate_options],
"DEFAULT_VALUE" : "y", "DEFAULT_VALUE" : "y",
"MASK_INPUT" : False, "MASK_INPUT" : False,
"LOOSE_VALIDATION": False, "LOOSE_VALIDATION": False,
"CONF_NAME" : "CONFIG_QUANTUM_INSTALL", "CONF_NAME" : "CONFIG_NEUTRON_INSTALL",
"USE_DEFAULT" : False, "USE_DEFAULT" : False,
"NEED_CONFIRM" : False, "NEED_CONFIRM" : False,
"CONDITION" : False }, "CONDITION" : False },

View File

@@ -1,5 +1,5 @@
""" """
Installs and configures quantum Installs and configures neutron
""" """
import logging import logging
@@ -83,14 +83,14 @@ def initConfig(controllerObject):
def allow_provisioning(config): def allow_provisioning(config):
# Provisioning is currently supported only for all-in-one (due # Provisioning is currently supported only for all-in-one (due
# to a limitation with how the custom types for OpenStack # 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). # to the provisioning manifest assuming this configuration).
return is_all_in_one(config) and \ 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): def allow_all_in_one_ovs_bridge(config):
return allow_provisioning(config) and \ return allow_provisioning(config) and \
config['CONFIG_QUANTUM_L2_PLUGIN'] == 'openvswitch' config['CONFIG_NEUTRON_L2_PLUGIN'] == 'openvswitch'
conf_groups = [ conf_groups = [
{ "GROUP_NAME" : "PROVISION_DEMO", { "GROUP_NAME" : "PROVISION_DEMO",
@@ -149,7 +149,7 @@ def initSequences(controller):
def create_manifest(config): def create_manifest(config):
# Using the server host will suffice for the all-in-one case. # Using the server host will suffice for the all-in-one case.
manifest_file = '%s_provision.pp' % ( manifest_file = '%s_provision.pp' % (
controller.CONF['CONFIG_QUANTUM_SERVER_HOST'] controller.CONF['CONFIG_NEUTRON_SERVER_HOST']
) )
manifest_data = getManifestTemplate("provision.pp") manifest_data = getManifestTemplate("provision.pp")
appendManifestFile(manifest_file, manifest_data) appendManifestFile(manifest_file, manifest_data)

View File

@@ -89,7 +89,7 @@ def copyPuppetModules(config):
'glance', 'horizon', 'inifile', 'glance', 'horizon', 'inifile',
'keystone', 'memcached', 'mysql', 'keystone', 'memcached', 'mysql',
'nova', 'openstack', 'packstack', 'nova', 'openstack', 'packstack',
'qpid', 'quantum', 'rsync', 'ssh', 'stdlib', 'qpid', 'neutron', 'rsync', 'ssh', 'stdlib',
'swift', 'sysctl', 'tempest', 'vcsrepo', 'swift', 'sysctl', 'tempest', 'vcsrepo',
'vlan', 'vswitch', 'xinetd')) 'vlan', 'vswitch', 'xinetd'))

View File

@@ -89,8 +89,8 @@ def add_veth_pair(ns1, ns2, veth1, veth2, address1, address2):
class TestNetns(unittest.TestCase): class TestNetns(unittest.TestCase):
def test_quantum_netns_cmds(self): def test_neutron_netns_cmds(self):
"""Exercise the netns functionality required by quantum. """Exercise the netns functionality required by neutron.
- Check that a veth pair can be configured to transit traffic - Check that a veth pair can be configured to transit traffic
between 2 namespaces between 2 namespaces
@@ -152,17 +152,17 @@ class TestNetns(unittest.TestCase):
def test_domain_socket_access(self): def test_domain_socket_access(self):
"""Check that a domain socket can be accessed regardless of namespace. """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 by their ip addresses - to configurations with overlapping
ips. Support is provided by: 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 - the proxy can uniquely identify a given VM by its ip
address in the context of the router or network of the address in the context of the router or network of the
namespace. 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 requests from the namespace proxies to nova's metadata
service. service.

View 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",
}

View File

@@ -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",
}

View File

@@ -0,0 +1,5 @@
class {"neutron::db::mysql":
password => "%(CONFIG_NEUTRON_DB_PW)s",
allowed_hosts => "%%",
dbname => '%(CONFIG_NEUTRON_L2_DBNAME)s',
}

View File

@@ -1,5 +0,0 @@
class {"quantum::db::mysql":
password => "%(CONFIG_QUANTUM_DB_PW)s",
allowed_hosts => "%%",
dbname => '%(CONFIG_QUANTUM_L2_DBNAME)s',
}

View 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,
}

View File

@@ -1,10 +1,10 @@
class { 'quantum::server': class { 'neutron::server':
auth_password => $quantum_user_password, auth_password => $neutron_user_password,
auth_host => '%(CONFIG_KEYSTONE_HOST)s', auth_host => '%(CONFIG_KEYSTONE_HOST)s',
enabled => true, enabled => true,
} }
firewall { '001 quantum incoming': firewall { '001 neutron incoming':
proto => 'tcp', proto => 'tcp',
dport => ['9696'], dport => ['9696'],
action => 'accept', action => 'accept',

View File

@@ -0,0 +1,3 @@
class { 'neutron::agents::dhcp':
interface_driver => '%(CONFIG_NEUTRON_DHCP_INTERFACE_DRIVER)s',
}

View 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'
}

View File

@@ -0,0 +1,3 @@
class {'neutron::agents::linuxbridge':
physical_interface_mappings => '%(CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS)s',
}

View 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
}

View 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',
}

View File

@@ -0,0 +1,3 @@
class { 'neutron::agents::ovs':
bridge_mappings => %(CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS)s,
}

View File

@@ -0,0 +1,4 @@
vs_bridge { '%(CONFIG_NEUTRON_OVS_BRIDGE)s':
ensure => present,
require => Service['neutron-plugin-ovs-service']
}

View 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';
}
}

View File

@@ -0,0 +1,5 @@
vs_port { '%(CONFIG_NEUTRON_OVS_IFACE)s':
bridge => '%(CONFIG_NEUTRON_OVS_BRIDGE)s',
ensure => present
}

View File

@@ -4,7 +4,7 @@ class {"nova::api":
enabled => true, enabled => true,
auth_host => "%(CONFIG_KEYSTONE_HOST)s", auth_host => "%(CONFIG_KEYSTONE_HOST)s",
admin_password => "%(CONFIG_NOVA_KS_PW)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'] Package<| title == 'nova-common' |> -> Class['nova::api']

View 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",
}

View File

@@ -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",
}

View File

@@ -3,7 +3,7 @@ class { 'openstack::provision':
password => '%(CONFIG_KEYSTONE_DEMO_PW)s', password => '%(CONFIG_KEYSTONE_DEMO_PW)s',
configure_tempest => %(CONFIG_PROVISION_TEMPEST)s, configure_tempest => %(CONFIG_PROVISION_TEMPEST)s,
setup_ovs_bridge => %(CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE)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': firewall { '000 nat':
@@ -18,13 +18,13 @@ firewall { '000 nat':
firewall { '000 forward out': firewall { '000 forward out':
chain => 'FORWARD', chain => 'FORWARD',
action => 'accept', action => 'accept',
outiface => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s', outiface => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s',
proto => 'all', proto => 'all',
} }
firewall { '000 forward in': firewall { '000 forward in':
chain => 'FORWARD', chain => 'FORWARD',
action => 'accept', action => 'accept',
iniface => '%(CONFIG_QUANTUM_L3_EXT_BRIDGE)s', iniface => '%(CONFIG_NEUTRON_L3_EXT_BRIDGE)s',
proto => 'all', proto => 'all',
} }

View File

@@ -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,
}

View File

@@ -1,3 +0,0 @@
class { 'quantum::agents::dhcp':
interface_driver => '%(CONFIG_QUANTUM_DHCP_INTERFACE_DRIVER)s',
}

View File

@@ -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'
}

View File

@@ -1,3 +0,0 @@
class {'quantum::agents::linuxbridge':
physical_interface_mappings => '%(CONFIG_QUANTUM_LB_INTERFACE_MAPPINGS)s',
}

View File

@@ -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
}

View File

@@ -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',
}

View File

@@ -1,3 +0,0 @@
class { 'quantum::agents::ovs':
bridge_mappings => %(CONFIG_QUANTUM_OVS_BRIDGE_MAPPINGS)s,
}

View File

@@ -1,4 +0,0 @@
vs_bridge { '%(CONFIG_QUANTUM_OVS_BRIDGE)s':
ensure => present,
require => Service['quantum-plugin-ovs-service']
}

View File

@@ -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';
}
}

View File

@@ -1,5 +0,0 @@
vs_port { '%(CONFIG_QUANTUM_OVS_IFACE)s':
bridge => '%(CONFIG_QUANTUM_OVS_BRIDGE)s',
ensure => present
}