A new mechanism driver is included in this patchset. This has a
corresponding SR-IOV agent implementation as well.
The mechanism driver supports vnic_type direct. Both flat and vlan
network types are suported. The mappings reference maintained by this
driver is derived from agent configuration. Agent periodically updates
mechanism driver with a list of physical networks derived from port
labels of physical ports of SR-IOV adapters. Mechanism driver validates
incoming port for binding if it has valid physical network attached to
it. To do this, the check_segment_for_agent method is used by
try_to_bind_segement_for_agent. Under the covers, mappings from the
agent are matched with physical network attribute of the segment.
This mechanism driver also provides vlan information during binding to
vif plug mechanism on nova side. To do this, this mechanism driver
provides binding:vif_details with vlan id. On nova side, during vif plug
operation, vlan can be retrieved from ['details']['vlan'] attribute of
This patchset also includes changes to setup.cfg. A console script
driver to setup networking-powervm-sriov-agent along with its sea
setup.cfg changes also include Mechanism driver setup in ml2.conf
and entry_points.txt file in runtime environment.
The jobs in OpenStack run against Python 3.4. This change set updates
the setup.cfg to also reflect this version.
Also provides a proper homepage for the project.
This change set provides some refactorings that make the code easier to
read and maintain. The key changes are:
- Support fixtures in a similar way that nova_powervm does. This
reduces the amount of mock up code required for testing.
- Rename the powervm_sea_agent to sea_agent. The PowerVM is already
part of the namespace (due to the folder it is in). This was
creating too long of a name for use.
- Change the connection utility to be PVMUtils. Simpler name more in
line with how the function has evolved.
- Incorporated some code comments from an earlier change set that was
This change supports running a PowerVM Shared Ethernet Mechanism Driver.
This is required for the agent to bind the port properly with the ML2
Providing the baseline structure of the PowerVM Neutron Agent file.
This supports a generic call back to the controller node to state that
it is alive. Should receive incoming port requests, but does not do
anything with those requests yet.
Initial Unit Test code is also provided.
Provides the initial baseline for the PowerVM Neutron ML2 Agent.
The work done here provides:
.gitignore - Indicates which files not to track within Git.
.gitreview - Input to the git-review command on how to send to Gerrit.
.testr.conf - Conf file input for the testr command (UT)
CONTRIBUTING.rst - Information on how to contribute.
HACKING.rst - Information on what needs to be done for updates.
LICENSE - The license for the project
README.rst - Information on what this project is. Currently this is
openstack-common.conf - Required openstack configuration for all
setup.cfg - Input to the setup.py on how to execute certain actions.
setup.py - Used for build of the project.
requirements.txt - Required packages (and levels) to run the code.
test-requirements.txt - Required packages (and levels) in addition to
the requirements, that indicates what is needed
to run the UT.
tox.ini - The input for the tox commands.
In addition, a base set of packages for the agent and unit tests were