=========================================================================== 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