During sync process only network segments that are bound to a port should be
sent to CVX when creating instances. For that reason, the PortBindingLevel
table should be used to get list of segments bind to a given port.
Change-Id: I712659ade0c270daa52a9cc65978f127779ce661
Instead utilize the neutron ports, ml2_port_binding_levels and
networksegments tables to determine the set of ports to provision
on cvx.
Change-Id: I78560e452b1ad9eb9a5b06db61d0c38ae8231b51
We can infer the set of tenants to provision from the neutron
networks and ports tables. This is part of a larger effort to
remove any use of arista specific tables and instead make use
of the same data stored in other neutron tables.
Change-Id: Idd6813b6ba68f49b055b94e0eabb8517b01c0390
The OpenStack JSON api is already the default. Removing
the EAPI will allow for optimizations that utilize superior
aspects of the JSON api.
Change-Id: I9ec1ab570094c6a2807b5e8e64f69ffc10e1fce6
When an interface is a member of a Port-Channel,
we should apply ACLs to the Port-Channel rather
than the interface as only the ACLs on the
Port-Channel have any effect on traffic.
Change-Id: I8661d4c15a7aaa2d2d1c9b15857e0a151d557e48
Error returns from JSON API calls are currently handled
identically to successful returns. We should differentiate
these cases by raising an exception on error return codes.
Change-Id: I703cb0cfa82f6586a2961fca3cd4b9a64c1c468e
This change broke the Arista CI. We also discovered that the Arista CI doesn't apply networking-arista changes when it runs, only neutron changes which is why the CI missed this.
This reverts commit a3aa15abd6.
Change-Id: Ida3fa67ee0290f56c66be0e3364ef5491c147eea
The OpenStack JSON api is already the default. Removing
the EAPI will allow for optimizations that utilize superior
aspects of the JSON api.
Change-Id: I3128ded38ccbf9a7c53e2c6605210981832d5c6f
networking-arista already uses PBR:-
setuptools.setup(
setup_requires=['pbr>=1.8'],
pbr=True)
This patch removes `MANIFEST.in` file as pbr generates a
sensible manifest from git files and some standard files
and it removes the need for an explicit `MANIFEST.in` file.
Change-Id: I4507cac0d45c3ccb46050d31bce6056b783fc4b4
If a call to send_api_request hits an exception,
it will return None. However, our code that expects iterable
types are returned from many of our GETs. This change replaces
None returns with empty dicts in such cases.
Change-Id: I6be1ee4f84fd38519d7c5ae227581a1a72964fa0
arista_ml2.py was becoming quite large and a dumping ground for
code. This change begins the process of organizing the driver in
a more structured, and manageable way.
Change-Id: I050cdbdc028d7acda940eb932df7052ad2698967
There is a CLI in CVX which configures keystone Authentication and
no need to rely on ML2 driver to send the authentication information
to CVX.
Change-Id: I9c3526ae0bc19873361c7fa8b49e9a92be5f1954
If a higher level mechanism driver assigns a physical
network to a segment that we are binding, use that
segment rather than looking up the physical network
based on host_id.
Change-Id: I5536ce61a9dd65cd8ff5eb7ee6163bbd4b115a0e
Neutron changed the way resources are extended after Pike milestone-1. As a
result, there's a race condition where the sync thread
makes calls on the plugin before the ML2 plugin has finished
initialization. ML2 supports the get_workers() command to spawn agents for ML2
drivers. This change moves the sync thread to from the API Service to a
child worker process.
Change-Id: Id36018093bc1356dbe7986cbe664f07c35d6c224
The well known service type constants are in
neutron_lib.plugins.constants, but for legacy reasons a few still exist
and are referenced from neutron_lib.constants [1] that we'd like to
remove.
This patch switches references over to neutron_lib's plugin constants.
[1] https://github.com/openstack/neutron-lib/blob/master/neutron_lib/constants.py#L353
Change-Id: Iea954a5c916b527c7bb9d1db761204c3297b1fa6
The keys to the json output of 'show network physical-topology hosts'
command changed from hostname to chassis ID. This patch makes the code to work
with older and latest version of the command's output.
Change-Id: Ibfe35e7da4555ea9a5f77645eaca0a498b83cb87