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
vif.
This patchset also includes changes to setup.cfg. A console script
driver to setup networking-powervm-sriov-agent along with its sea
counterpart.
setup.cfg changes also include Mechanism driver setup in ml2.conf
and entry_points.txt file in runtime environment.
Implements: bp/powervm-sriov
Change-Id: I87f6ed095d62afe4c683c2688fa27ddf367a19f6
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.
Change-Id: I78a5c2dfd7219cea9b70e739d4bf43e55ab29277
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
early merged.
Change-Id: Icc188bfdc88b6ac524a18688a30aefa336fff86a
This change supports running a PowerVM Shared Ethernet Mechanism Driver.
This is required for the agent to bind the port properly with the ML2
plugin.
Change-Id: I5f9b1c961e6b01ff83091bd30550cf9b945aca0d
This change provides support for starting the neutron agent and having
it report the agent state back to the controller.
Change-Id: I0d209539bbf145b5ae791193919c16437ebfbe6c
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.
Change-Id: I19455dab32aec23ef11ab3bccdecbff0630781e5
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
the blueprint.
openstack-common.conf - Required openstack configuration for all
projects
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
loaded in.
Change-Id: Ib7e018b8a8004a5722723cb7ff645eb3b4297886