[openstack-dev] [networking][ml2] Common files (was: Device configuration)

Rich Curran (rcurran) rcurran at cisco.com
Fri Jun 21 20:47:32 UTC 2013


Hi All -

Some light reading and softball questions for a Friday afternoon.

Here are some common files that the cisco mech driver (and I'm assuming the other mechanism drivers) will need to start off.
common/exceptions.py
common/constants.py

We might even want to consider moving config.py into the common/ directory.

In the Cisco (sub)plugin we have some specific DB requirements. I'm thinking we may want a db/ directory also.

XML vendor specific strings. Store under common/snippets_"vendorname".py?

How do we want to abbreviate mechanism driver files? md, mech_driver, mdriver, mech (contrasting to "type_xyz" drivers)

Thanks,
Rich

From: Andre Pech [mailto:apech at aristanetworks.com]
Sent: Wednesday, June 19, 2013 12:24 PM
To: OpenStack Development Mailing List
Subject: Re: [openstack-dev] [networking][ml2] Device configuration

I don't feel too strongly either way. It seems like mechanism drivers will have distinct sets of variables, so having a common subsection name may be confusing. Plus I like the clarity of the type of the mechanism driver being in the section name rather than hidden in a type name.

Maybe we prepend ML2_MECH to that to make it clear that these are variables for mechanism drivers? Something like:

[ML2_MECH_CISCO_NEXUS:<ipaddr>
...

[ML2_MECH_ARISTA:<ipaddr>]
...

As I said before, am fine with either of the proposals below too.

Andre

On Wed, Jun 19, 2013 at 8:59 AM, Rich Curran (rcurran) <rcurran at cisco.com<mailto:rcurran at cisco.com>> wrote:
Hi All -

Regarding the configuration (ml2_conf.ini) of mechanism devices. Cisco defines external devices in our INI file like this:

# Nexus Switch Format.
# [NEXUS_SWITCH:<IP address of switch>]
# <hostname>=<port> <- for cisco nexus devices a port would be in the form "<slot>/<port#>"
# ssh_port=<ssh port>
# username=<credential username> <- used as login username to the switch
# password=<credential password> <- password for that username

Any thoughts on how we want to define this configuration info under ML2?

The simplest solution is to have separate INI sections for each vendor/device.
Ex.
[CISCO_NEXUS:<ipaddr>]
Variables defined only for cisco nexus devices

[ARISTA_XYZ]
Whatever you want.

Note that the cisco INI file can define more than one NEXUS_SWITCH section (different IPs).

We could think about creating more generic section headers but would need a variable telling us what device owns that section.
Ex.
[ML2_MECH_DEVICE:<ip_addr>]
variable1 =
variable2 =
type = cisco_nexus

The cisco config.py file doesn't have default values for these sections. At init time we create a dictionary of these devices.

Thoughts?

Thanks,
Rich





_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130621/4c403eff/attachment-0001.html>


More information about the OpenStack-dev mailing list