A few fixes required to allow deserialization/serialization
of OVO resources.
* Set shared to False when context is missing for RBAC calculations
* Parse strings received from json into netaddr objects
Partially-Implements: blueprint push-notifications
Change-Id: I1609014d6100a0c410c66d159f9e682d8aa3e7ba
The resources module was missing the SUBNET variable
so it wasn't possible for consumers to reference it
like the other resources.
TrivialFix
Partially-Implements: blueprint push-notifications
Change-Id: I954858f5c4487ea97a482a24576a6ca523d4d5d6
This patch proposes the allowance of changing a router's 'distributed'
or 'ha' attributes without any restriction as to the previous state of
these attributes, as long as the router's admin_state_up is False.
Closes-Bug: #1654991
Change-Id: Iad4dd77f74ba01876e0091112a1e24a3463993d1
Change ip_lib's IpNeighCommand class to use pyroute2
for adding, deleting and dumping entries, rather than
using 'ip neigh'. This will increase performance when
many ARP updates happen at once.
Change-Id: Idd528c0b402d1c9fc4b030f2aaa6d641d86ec02a
Partial-Bug: #1511134
Using Nova's generic resource pools (GRP) API, publish routed networks
IPv4 inventory. This inventory is then used by the Nova scheduler to
place instances based on the availability of IPv4 addresses in
routed networks segments.
Change-Id: Ib6b00c4889d6a34765844ce46280819dff0108c5
Partially-Implements: blueprint routed-networks
With newer keystone middleware tenant* isn't set, project* is. The
current neutron logic assumes tenant is the good values, and that
project should mirror it, but that logic actually needs to be
inverted.
In order to minimally impact unit tests as operations, the strategy
here is to just prefer project_name, but fall back to tenant_name if
project_name isn't filled out (this should basically never be the
case).
With this project_name shows up in the context log lines in devstack
again (it's been missing for some time).
Change-Id: Ice6a4d046b492f02e3306627a760e5f4573f0fc6
Using UUIDFIelds from common types in objects/quota.py in [1],
ended up in circular imports. This patch will fix it.
[1]. https://review.openstack.org/#/c/338625/
Change-Id: I67580a875d2a8c8a791b9e246c1247349c4771df
Closes-Bug: #1653780
Neutron API accepts also protocol numbers as protocols for security
groups. This patch makes support for it in OVS firewall driver. iptables
driver already supports it.
Fullstack test covering SCTP connection was added and it requires
ip_conntrack_proto_sctp kernel module in order to make conntrack work
with SCTP.
Change-Id: I6c5665a994c4a50ddbb95cd1360be0de0a6c7e40
Closes-bug: 1625516
When we run devstack with USE_PYTHON3, the existing KillFilter
definitions are not enough. Let's add one specific to python 3.5
as well.
Change-Id: I2472e4e39315225d6c9ea1651c8e3b20edc59b49
Register all sqlalchemy events through a new function in
neutron.db.api so we can keep track of active events and
ensure all are removed at the end of each test run.
Without this, an instance of a plugin may be left around
with the only reference to it existing in SQLAlchemy, where
it will receive events for tests unrelated to it and potentially
interfere.
Change-Id: I8e93eb4e8ef5a13f015db9cd20e44941cdcb72ef
ML2 server-side push notifications for subnets, networks,
ports, security groups, and security group rules.
This adds a registry callback listener for each of the objects
above for the AFTER_CREATE and AFTER_UPDATE events. Whenever
one of these is triggered, it will parse the ID out of the event
and use it to retrieve an OVO object from the DB and dispatch
it to the RPC callback notifier.
This is only the logic to push changes to the agents. It does not
include an interface for the agents to query the server or the agent
side code to receive the notifications.
Partially-Implements: blueprint push-notifications
Change-Id: I5efc625c5e8565693e795d70e0f85810552d38cd
We allow 0 in port_range_min and port_range_max for the
non TCP/UDP use cases (e.g. ICMP). This adjusts the securitygrouprule
OVO object to use a new PortRangeWith0Field to allow 0.
Change-Id: I00f7a91202ccfcad1b8edb8759983332c6e79791
This patch introduces and integrates Oslo-Versioned Objects for
IpamAllocationPool,IpamAllocation and IpamSubnet model classes.
Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Co-Authored-By: Anindita Das <anindita.das@intel.com>
Co-Authored-By: Mohit Malik <mohit.malik@intel.com>
Co-Authored-By: Victor Morales <victor.morales@intel.com>
Since commit a388f78c8cb4b1c860bfc11029b5210955f1932d, we fetch
routers' existing floating ip address from the fip namespace's
route table instead of qrouter namespace's qg device for the
dvr_local and dvr_edge router. But for dvr_edge_ha router, it
still fetch the existing floating ip like legacy router, causing
it can’t know which existent floating ip rules need to be removed.
After removing the get_router_cidrs method, the dvr_edge_ha router
inherit the get_router_cidrs method from dvr_local router and it
will remove the existent floating ip rules successfully if we
disassociate the floating ip.
Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hpe.com>
Change-Id: Ic471189773298b353db7629c827c8787703c0069
Related-Bug: #1644415