Exemple #1
0
 def lsn_metadata_configure(self, context, subnet_id, is_enabled):
     """Configure metadata service for the specified subnet."""
     subnet = self.plugin.get_subnet(context, subnet_id)
     network_id = subnet['network_id']
     meta_conf = cfg.CONF.NSX_METADATA
     metadata_options = {
         'metadata_server_ip': meta_conf.metadata_server_address,
         'metadata_server_port': meta_conf.metadata_server_port,
         'metadata_proxy_shared_secret': meta_conf.metadata_shared_secret
     }
     try:
         lsn_id = self.lsn_get(context, network_id)
         lsn_api.lsn_metadata_configure(self.cluster, lsn_id, is_enabled,
                                        metadata_options)
     except (p_exc.LsnNotFound, api_exc.NsxApiException):
         err_msg = (_('Unable to configure metadata '
                      'for subnet %s') % subnet_id)
         LOG.error(err_msg)
         raise p_exc.NsxPluginException(err_msg=err_msg)
     if is_enabled:
         try:
             # test that the lsn port exists
             self.lsn_port_get(context, network_id, subnet_id)
         except p_exc.LsnPortNotFound:
             # this might happen if subnet had dhcp off when created
             # so create one, and wire it
             self.lsn_port_metadata_setup(context, lsn_id, subnet)
     else:
         self.lsn_port_dispose(context, network_id, const.METADATA_MAC)
Exemple #2
0
 def lsn_metadata_configure(self, context, subnet_id, is_enabled):
     """Configure metadata service for the specified subnet."""
     subnet = self.plugin.get_subnet(context, subnet_id)
     network_id = subnet['network_id']
     meta_conf = cfg.CONF.NSX_METADATA
     metadata_options = {
         'metadata_server_ip': meta_conf.metadata_server_address,
         'metadata_server_port': meta_conf.metadata_server_port,
         'metadata_proxy_shared_secret': meta_conf.metadata_shared_secret
     }
     try:
         lsn_id = self.lsn_get(context, network_id)
         lsn_api.lsn_metadata_configure(
             self.cluster, lsn_id, is_enabled, metadata_options)
     except (p_exc.LsnNotFound, api_exc.NsxApiException):
         err_msg = (_('Unable to configure metadata '
                      'for subnet %s') % subnet_id)
         LOG.error(err_msg)
         raise p_exc.NsxPluginException(err_msg=err_msg)
     if is_enabled:
         try:
             # test that the lsn port exists
             self.lsn_port_get(context, network_id, subnet_id)
         except p_exc.LsnPortNotFound:
             # this might happen if subnet had dhcp off when created
             # so create one, and wire it
             self.lsn_port_metadata_setup(context, lsn_id, subnet)
     else:
         self.lsn_port_dispose(context, network_id, const.METADATA_MAC)
Exemple #3
0
 def _test_lsn_metadata_configure(self, lsn_id, is_enabled, opts,
                                  expected_opts):
     lsnlib.lsn_metadata_configure(self.cluster, lsn_id, is_enabled, opts)
     lsn_obj = {"enabled": is_enabled}
     lsn_obj.update(expected_opts)
     self.mock_request.assert_has_calls([
         mock.call("PUT",
                   "/ws.v1/lservices-node/%s/metadata-proxy" % lsn_id,
                   json.dumps(lsn_obj),
                   cluster=self.cluster),
     ])
Exemple #4
0
 def _test_lsn_metadata_configure(
     self, lsn_id, is_enabled, opts, expected_opts):
     lsnlib.lsn_metadata_configure(
         self.cluster, lsn_id, is_enabled, opts)
     lsn_obj = {"enabled": is_enabled}
     lsn_obj.update(expected_opts)
     self.mock_request.assert_has_calls([
         mock.call("PUT",
                   "/ws.v1/lservices-node/%s/metadata-proxy" % lsn_id,
                   json.dumps(lsn_obj),
                   cluster=self.cluster),
     ])