Adding support for host-routes and dns_nameservers options for Nuage Plugin¶
https://blueprints.launchpad.net/neutron/+spec/dhcp-host-routes-and-dns-support-for-nuage-plugin
Adding support for host-routes and dns_nameservers options via DHCP options for the Nuage Plugin
Problem description¶
The current the Nuage Plugin does not support adding host routes or DNS nameservers via DHCP options for a Neutron subnet.
Proposed change¶
Currently the Nuage Plugin does not support Neutron’s adding host routes or DNS nameservers via DHCP options on a subnet.
The Nuage’s VSP supports this feature and the support needs to be added in the plugin code.
- The following DHCP options will be supported :
DNS nameserver
Host routes
The proposed change is to support the creation of DNS nameserver and/or Host routes using the Neutron DNS and Host routes
- For example:
- neutron subnet-create test 192.168.10.0/24
–dns_nameservers list=true 8.8.4.4 8.8.8.8
This action will create a subnet name test with a CIDR 192.168.10.0/24. The nameservers 8.8.4.4 8.8.8.8 will added to this subnet, this translate to a subnet in the Nuage’s VSP subnet with the same nameservers
The CRUD operations will be supported by the Nuage’s VSP plugin for both DNS nameserver and Host routes.
Alternatives¶
None
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
None
Implementation¶
The modification are required on the plugin.py
- The new method __create_port_gateway will be created.
This method will create a port of type network:dhcp for the current subnet and tenant
The __validate_create_subnet method will be modified to allow the host_routes key to be a valid options of the subnet dictionary
The update_subnet method will be added to the plugin
The _create_nuage_subnet method will be merged into the create_subnet method. This will newly updated method will also create a DHCP port using the method _create_port_gateway described above.
Assignee(s)¶
Franck Yelles
- Primary assignee:
fyelles
Other contributors:
Work Items¶
Extension code in Nuage plugin
Nuage CI coverage addition
Nuage Unit tests additions, the following test units will be updated/added : * test_create_subnet_bad_hostroutes * test_update_subnet_adding_additional_host_routes_and_dns * test_create_subnet_with_one_host_route * test_create_subnet_with_two_host_routes * test_create_subnet_with_too_many_routes * test_update_subnet_route * test_update_subnet_route_to_None * test_update_subnet_route_with_too_many_entries * test_delete_subnet_with_route * test_delete_subnet_with_dns_and_route * test_validate_subnet_host_routes_exhausted * test_validate_subnet_dns_nameservers_exhausted
Dependencies¶
None
Testing¶
Unit Test coverage for the DHCP options within Nuage unit test Nuage CI will be modified to start supporting this extension tests
Documentation Impact¶
None
References¶
None