Networking configuration data and the methods that work with this data are spread throughout the existing code base. As a consequence there is some code duplication. This makes it harder to understand and extend this functionality than it should.
All database queries will be moved from NetworkManager to the appropriate objects.
No changes should be required. All changes are to the internal representation of network configuration objects.
Database calls will all be moved into the appropriate object classes.
The following objects (and their corresponding Collections) will be modified:
- NetworkGroup (objects/network_group.py)
- IPAddr (objects/ip_address.py)
- IPAddrRange (objects/ip_address.py)
- NIC (objects/interface.py)
- Bond (objects/bond.py)
- NIC and Bond network assignments (does not exist in current objects layer)
No changes to the REST API are required.
No changes should be required to Fuel Client. The APIs with which it interacts will remain unchanged.
None
This change will be transparent to Fuel Library. The network information will be serialized by Nailgun in the same format as it is now.
Leave it the same.
None
None
None
None
None.
None
In NetworkManager developers must use object methods instead of direct database queries.
None
Developer documentation describing how the proxy interface works will need to be written.
TBD
- All database calls will be moved to the objects layer. This has been done here: https://review.openstack.org/#/c/240568/ and here: https://review.openstack.org/#/c/268367/
None
None
- NetworkManager and its subclasses contains no database queries
None