This patch includes the initial framework to allow existing
neutron deployments running different backends to be migrated
over to the nsx-v3 plugin. The main logic that is required to
do this is to allow the ability of an id to be specified for
a given resource. This patch makes this possible with the addition
of a new extension api-replay.
The reason why a new extension is needed is because the RESOURCE_MAP
is loaded after the plugin is loaded. Therefore, there is no way
for me to change the mapping directly in the plugin without creating
an extension to do so.
This patch also adds support for migrating the router-uplink and
floatingips which was missing in the previous patchset.
Here's an example output of the migration tool
running: http://codepad.org/I7x6Rq3u
Change-Id: I2ee9778374a8d137e06125f2732524c7c662c002
This tool reads from one neutron server and then replays all the
of the api calls required to create the resources on another server.
It requires the dest-neutron service to be in api-replay-mode to allow
us to specify the ids of resources.
This patch migrates all resources expect for floatingips and uplinking
the router.
This patch also makes some modifications to the plugin code to make migating
security groups especially the default security group and rules that
users have added possible.
Change-Id: Id79c880317bfbb45c4edad7cdb1e95a6c8dc21e6
Because router name is part of the name of associated
logical router link ports in the backend, they need to
be updated when users rename a router.
Change-Id: I3cad4d6c53151ae856f57a65522548d81e13ad98
MySQL 5.7 do not allow PK values defaults to NULL which fails the
migration step and the following message is prompted.
'All parts of a PRIMARY KEY must be NOT NULL;
if you need NULL in a key, use UNIQUE instead'
Also refer to #1567899 for more detail.
Change-Id: Ia16405cd593a0a67e7c7ae68a3977b74cc673d0b
As upstream tempest is using public keyword for external network,
change the external_network_cidr to be public_network_cidr to
match the upstream.
Change-Id: I8a7240d8db1576bdf384c5cba189501fbd7f35c4
Only overlay networks can be added to logical routers. This patch
validates the type of network. If this is a VLAN network then it will
throw an exception.
Change-Id: I4e206073c9c658d04c51ec78c1e410b07da484ce
NSX plugin sets up a lodabalancer on each router and DHCP edge, to handle
metadata requests. This LB's member IPs should be updated when the metadata
proxies are recreated.
This patch adds this capability to the nsxadmin utility.
Change-Id: I0fda4ab18efdcef534127cf5bc000f08054b7aac
Add support for availability zones hints on networks creation
The network dhcp service will be created on an edge that belongs to the
requested resource pool
Change-Id: I425a7586ff2f5b6ca885fe4fede51c676426d381
Add support for availability zones hints on routers creation
- The router will be created on an edge that belongs to the requested resource pool
- The nsxv_router_binding db table has a new column for the edge resource pool
- New nsxv configuration: availability_zones which should contain a list
of resource pools ids, that can be used as hints
DocImpact: New configuration parameter availability_zones under nsxv
Change-Id: Ib34689d554dafe25f62a045feebe9eed68d2174d
This patch avoids selecting same backup edge by these two methods:
1. context.expire_all hope to not read deleted router binding
2. update selected router binding's status from ACTIVE to PENDING_UPDATE
in case of other threads selecting the same backup router binding
Change-Id: Iaab64f1701d5f99a0f07cd20cba2bf7ae29a70cf
Since tenant has been changed to project in upstream tempest. In
this patch, change tenant_networks_reachable option to be
project_networks_reachable.
Change-Id: If6f56ec9db55e643882b879df61883268e99830e
Add two sample devstack local.conf configuration files. One is for
OpenStack controller setup for NSXv3, and the other one is for KVM
compute node setup. Previously we are storing the copies in our
web server. But it would be better to put in our plugin repo.
Change-Id: I9194e3ca32b25ceced30791254663bd6b360179d
The purpose of this scenario test is to test micro-segmentation use
case which is one of the most important features of NSX. In the test,
two-tier application web and app networks are created, and security
group rules are defined based on this use case. Verify that VMs on
these networks have the correct behaviors as expected.
Change-Id: I1a669f489031e23a4b280ee0ba9ea859c830ecfd
When we get all router ids bound to edge, we now just search in
nsxv_router_bindings. But sometime there maybe inconsistency and we have
ghost router bindings left whose router db has actually been deleted.
Following shared router backend ops would unexpectly break with these ghost
router ids, worse itself also become a ghost after router db is deleted.
The patch avoids it happend by double getting router ids also from Router db.
Change-Id: If111ab8355102120d509c91e547fcde4cd309f16
If the task name contains non-ascii characters (for example this could be
the router name) we should do the ascii encoding with ignore-errors flag
Change-Id: I12cc07854e08cfb48d9cf1d53e6a5fafa2a3626e