[openstack-dev] [neutron][upgrades] Bi-weekly upgrades work status. 6/2/2016

Korzeniewski, Artur artur.korzeniewski at intel.com
Thu Jun 2 20:29:55 UTC 2016


Hi Neutrinos,

I would like to start the first bi-weekly upgrades work report.



TLDR:

In order to inform community what is going on in upgrades field, we would like to start bi-weekly reporting. We would like to show progress in database resource transition to Oslo VersionedObjects. Also list of code refactoring places will be provided. Community members can take a look at the list and see if their work is not conflicting with upgrades effort.



General approach:

During Mitaka release cycle, we have started the journey to port database resources to Oslo VersionedObject (OVO). As first, we have chosen the Port, Subnet and Network resources. As the process is very complicated, we have divided the work to first define interface object, and then work on integration patches in core Neutron code. The NeutronDbObject base class is still evolving, and we have spent the Mitaka release cycle on working on solid base, in order to reuse the code for all derived classes.

We are still working on basic OVO integration, so any help in getting the work done would be appreciated. For detailed info, please take a look at below list.

We would like to finish already started patches, priority has the Port, Subnet and Network objects. If you want to contribute and port new objects to OVO, please prepare object implementation and some usage in core Neutron code. In order to see which object is already covered, please take a look at below list of existing patches.





I would like to remind that agreed approach at Design Summit in Austin was, that every new resource added to neutron should have OVO implemented. Please comply, and core reviewers please take care of this requirements in patches you review.





The effort to move all database resources to Oslo VersionedObject will contribute to block offline contracting migration in Ocata release. In Newton cycle we would like to have our last offline data migration.





Objects merged:

Subnetpool https://review.openstack.org/275789

Subnet https://review.openstack.org/264273

Port extension: Allowed address pairs https://review.openstack.org/268274/

Port extension: Extra DHCP opt https://review.openstack.org/273072/

Port extension: Port allowed address pairs https://review.openstack.org/268274

Port extension: Port security https://review.openstack.org/292178

OVO for VLAN aware VMs: https://review.openstack.org/310410





Objects under review:

Network https://review.openstack.org/269658

Port https://review.openstack.org/253641

Port extension: security groups https://review.openstack.org/284738

Agent  https://review.openstack.org/297887

Route, RoutePort and RouterRoute https://review.openstack.org/307964

DistributedVirtualRouter mac address https://review.openstack.org/304873/

Service Type: https://review.openstack.org/304322

Flavor and Service Profile https://review.openstack.org/306685





Integration patches merged:

Integrate the port allowed address pairs VersionedObject in Neutron https://review.openstack.org/287756

Integrate the Extra Dhcp Opt VersionedObject in Neutron https://review.openstack.org/285397



Integration patches Under development:

Subnet OVO https://review.openstack.org/321001

Identified usages of Subnet:
*         main integration with db_base_plugin and ml2 plugin
*         DHCP RPC usage
*         IPAM usage
*         dvr_mac_db.py
*         l3_db.py
*         extraroute_db.py

Subnetpool usage: https://review.openstack.org/300056

Replace plugin class for address scope ovo https://review.openstack.org/308005





Testing:

The API tests for sorting/pagination has been added for port and network

https://review.openstack.org/306272

https://review.openstack.org/320980

More tests are needed for resources that use sorting/pagination on API level.

Testing in gate has been covered in multinode Grenade jobs, one for legacy scenario, and the other DVR.





Improvements for NeutronDbObject:
*         Merged: objects: support advanced criteria for get_objects: https://review.openstack.org/300055
*         Merged: Standard attributes are automagically added to all relevant neutron resources in object's base class
*         objects: stop using internal _context attribute https://review.openstack.org/283616
*         Allow unique keys to be used with get_object https://review.openstack.org/322024
*         qos: support advanced sorting/pagination criteria https://review.openstack.org/318251/





TODOs:
1.       Help in review and code development for already existing patches.
2.       Add integration patches for objects: network, port, router, agent, service type...
3.       Add more API tests for resources: subnets, routers, all the resource supporting sorting/pagination on API level
4.       Add usages of SQLAlchemy decorator classes (MAC Address, IP Address, CIDR) in SQL schema.
5.       Improve Grenade coverage for DHCP, L3 and DVR upgrade tests.
6.       Add objects for not yet covered database resources.







Upgrades Subteam has the weekly meetings on Mondays, 2PM UTC, wiki page: https://wiki.openstack.org/wiki/Meetings/Neutron-Upgrades-Subteam







The patches for upgrades can be tracked in gerrit by:

https://review.openstack.org/#/q/topic:ovo

https://review.openstack.org/#/q/topic:bug/1566514

https://review.openstack.org/#/q/topic:bp/adopt-oslo-versioned-objects-for-db





Thanks for your attention,
Artur
IRC: korzen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160602/523cf2f4/attachment.html>


More information about the OpenStack-dev mailing list