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