|
|
|
|
@ -498,15 +498,25 @@ class GatewayKernelManager(MappingKernelManager):
|
|
|
|
|
self.remove_kernel(kernel_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class GatewayKernelSpecManager(KernelSpecManager):
|
|
|
|
|
|
|
|
|
|
def __init__(self, **kwargs):
|
|
|
|
|
super(GatewayKernelSpecManager, self).__init__(**kwargs)
|
|
|
|
|
self.base_endpoint = url_path_join(GatewayClient.instance().url,
|
|
|
|
|
GatewayClient.instance().kernelspecs_endpoint)
|
|
|
|
|
base_endpoint = url_path_join(GatewayClient.instance().url,
|
|
|
|
|
GatewayClient.instance().kernelspecs_endpoint)
|
|
|
|
|
|
|
|
|
|
self.base_endpoint = GatewayKernelSpecManager._get_endpoint_for_user_filter(base_endpoint)
|
|
|
|
|
self.base_resource_endpoint = url_path_join(GatewayClient.instance().url,
|
|
|
|
|
GatewayClient.instance().kernelspecs_resource_endpoint)
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def _get_endpoint_for_user_filter(default_endpoint):
|
|
|
|
|
kernel_user = os.environ.get('KERNEL_USERNAME')
|
|
|
|
|
if kernel_user:
|
|
|
|
|
return '?user='.join([default_endpoint, kernel_user])
|
|
|
|
|
return default_endpoint
|
|
|
|
|
|
|
|
|
|
def _get_kernelspecs_endpoint_url(self, kernel_name=None):
|
|
|
|
|
"""Builds a url for the kernels endpoint
|
|
|
|
|
|
|
|
|
|
@ -519,12 +529,6 @@ class GatewayKernelSpecManager(KernelSpecManager):
|
|
|
|
|
|
|
|
|
|
return self.base_endpoint
|
|
|
|
|
|
|
|
|
|
def _get_endpoint_for_user_filter(self, default_endpoint):
|
|
|
|
|
kernel_user = os.environ.get('KERNEL_USERNAME')
|
|
|
|
|
if kernel_user:
|
|
|
|
|
return '?user='.join([default_endpoint, kernel_user])
|
|
|
|
|
return default_endpoint
|
|
|
|
|
|
|
|
|
|
@gen.coroutine
|
|
|
|
|
def get_all_specs(self):
|
|
|
|
|
fetched_kspecs = yield self.list_kernel_specs()
|
|
|
|
|
@ -549,9 +553,6 @@ class GatewayKernelSpecManager(KernelSpecManager):
|
|
|
|
|
def list_kernel_specs(self):
|
|
|
|
|
"""Get a list of kernel specs."""
|
|
|
|
|
kernel_spec_url = self._get_kernelspecs_endpoint_url()
|
|
|
|
|
|
|
|
|
|
kernel_spec_url = self._get_endpoint_for_user_filter(kernel_spec_url)
|
|
|
|
|
|
|
|
|
|
self.log.debug("Request list kernel specs at: %s", kernel_spec_url)
|
|
|
|
|
response = yield gateway_request(kernel_spec_url, method='GET')
|
|
|
|
|
kernel_specs = json_decode(response.body)
|
|
|
|
|
@ -567,9 +568,6 @@ class GatewayKernelSpecManager(KernelSpecManager):
|
|
|
|
|
The name of the kernel.
|
|
|
|
|
"""
|
|
|
|
|
kernel_spec_url = self._get_kernelspecs_endpoint_url(kernel_name=str(kernel_name))
|
|
|
|
|
|
|
|
|
|
kernel_spec_url = self._get_endpoint_for_user_filter(kernel_spec_url)
|
|
|
|
|
|
|
|
|
|
self.log.debug("Request kernel spec at: %s" % kernel_spec_url)
|
|
|
|
|
try:
|
|
|
|
|
response = yield gateway_request(kernel_spec_url, method='GET')
|
|
|
|
|
@ -598,7 +596,6 @@ class GatewayKernelSpecManager(KernelSpecManager):
|
|
|
|
|
The name of the desired resource
|
|
|
|
|
"""
|
|
|
|
|
kernel_spec_resource_url = url_path_join(self.base_resource_endpoint, str(kernel_name), str(path))
|
|
|
|
|
kernel_spec_resource_url = self._get_endpoint_for_user_filter(kernel_spec_resource_url)
|
|
|
|
|
self.log.debug("Request kernel spec resource '{}' at: {}".format(path, kernel_spec_resource_url))
|
|
|
|
|
try:
|
|
|
|
|
response = yield gateway_request(kernel_spec_resource_url, method='GET')
|
|
|
|
|
|