예제 #1
0
파일: lsnmanager.py 프로젝트: pjh03/quantum
 def lsn_port_dhcp_configure(self, context, lsn_id, lsn_port_id, subnet):
     """Enable/disable dhcp services with the given config options."""
     is_enabled = subnet["enable_dhcp"]
     dhcp_options = {
         "domain_name": cfg.CONF.NSX_DHCP.domain_name,
         "default_lease_time": cfg.CONF.NSX_DHCP.default_lease_time,
     }
     dns_servers = cfg.CONF.NSX_DHCP.extra_domain_name_servers or []
     dns_servers.extend(subnet["dns_nameservers"])
     if subnet['gateway_ip']:
         dhcp_options["routers"] = subnet["gateway_ip"]
     if dns_servers:
         dhcp_options["domain_name_servers"] = ",".join(dns_servers)
     if subnet["host_routes"]:
         dhcp_options["classless_static_routes"] = (",".join(
             subnet["host_routes"]))
     try:
         lsn_api.lsn_port_dhcp_configure(self.cluster, lsn_id, lsn_port_id,
                                         is_enabled, dhcp_options)
     except (n_exc.NotFound, api_exc.NsxApiException):
         err_msg = (_('Unable to configure dhcp for Logical Service '
                      'Node %(lsn_id)s and port %(lsn_port_id)s') % {
                          'lsn_id': lsn_id,
                          'lsn_port_id': lsn_port_id
                      })
         LOG.error(err_msg)
         raise p_exc.NsxPluginException(err_msg=err_msg)
예제 #2
0
 def lsn_port_dhcp_configure(self, context, lsn_id, lsn_port_id, subnet):
     """Enable/disable dhcp services with the given config options."""
     is_enabled = subnet["enable_dhcp"]
     dhcp_options = {
         "domain_name": cfg.CONF.NSX_DHCP.domain_name,
         "default_lease_time": cfg.CONF.NSX_DHCP.default_lease_time,
     }
     dns_servers = cfg.CONF.NSX_DHCP.extra_domain_name_servers or []
     dns_servers.extend(subnet["dns_nameservers"])
     if subnet['gateway_ip']:
         dhcp_options["routers"] = subnet["gateway_ip"]
     if dns_servers:
         dhcp_options["domain_name_servers"] = ",".join(dns_servers)
     if subnet["host_routes"]:
         dhcp_options["classless_static_routes"] = (
             ",".join(subnet["host_routes"])
         )
     try:
         lsn_api.lsn_port_dhcp_configure(
             self.cluster, lsn_id, lsn_port_id, is_enabled, dhcp_options)
     except (n_exc.NotFound, api_exc.NsxApiException):
         err_msg = (_('Unable to configure dhcp for Logical Service '
                      'Node %(lsn_id)s and port %(lsn_port_id)s')
                    % {'lsn_id': lsn_id, 'lsn_port_id': lsn_port_id})
         LOG.error(err_msg)
         raise p_exc.NsxPluginException(err_msg=err_msg)
예제 #3
0
 def _test_lsn_port_dhcp_configure(
     self, lsn_id, lsn_port_id, is_enabled, opts):
     lsnlib.lsn_port_dhcp_configure(
         self.cluster, lsn_id, lsn_port_id, is_enabled, opts)
     opt_array = ["%s=%s" % (key, val) for key, val in opts.iteritems()]
     self.mock_request.assert_has_calls([
         mock.call("PUT", "/ws.v1/lservices-node/%s/dhcp" % lsn_id,
                   json.dumps({"enabled": is_enabled}),
                   cluster=self.cluster),
         mock.call("PUT",
                   ("/ws.v1/lservices-node/%s/"
                    "lport/%s/dhcp") % (lsn_id, lsn_port_id),
                   json.dumps({"options": {"options": opt_array}}),
                   cluster=self.cluster)
     ])
예제 #4
0
파일: test_lsn.py 프로젝트: pjh03/quantum
 def _test_lsn_port_dhcp_configure(
     self, lsn_id, lsn_port_id, is_enabled, opts):
     lsnlib.lsn_port_dhcp_configure(
         self.cluster, lsn_id, lsn_port_id, is_enabled, opts)
     opt_array = ["%s=%s" % (key, val) for key, val in opts.iteritems()]
     self.mock_request.assert_has_calls([
         mock.call("PUT", "/ws.v1/lservices-node/%s/dhcp" % lsn_id,
                   json.dumps({"enabled": is_enabled}),
                   cluster=self.cluster),
         mock.call("PUT",
                   ("/ws.v1/lservices-node/%s/"
                    "lport/%s/dhcp") % (lsn_id, lsn_port_id),
                   json.dumps({"options": {"options": opt_array}}),
                   cluster=self.cluster)
     ])