예제 #1
0
 def common_patch(self):
     ctx_cluster = CtxCluster.create(TEST_CLUSTER_ID, TEST_PROJECT_ID, token='token')
     Deployment(ctx_cluster).update_or_create(
         namespace=TEST_NAMESPACE, name=self.deployment_name, body=gen_deployment_body(self.deployment_name)
     )
     yield
     Deployment(ctx_cluster).delete(namespace=TEST_NAMESPACE, name=self.deployment_name)
예제 #2
0
def _update_resources(access_token, release_data, namespace_info, manifest):
    ctx_cluster = CtxCluster.create(token=access_token,
                                    id=namespace_info['cluster_id'],
                                    project_id=release_data['project_id'])
    return (Deployment(ctx_cluster).replace(
        body=manifest,
        name=release_data['name'],
        namespace=namespace_info['name']).data.to_dict())
예제 #3
0
 def list_pods_by_deployment(self, request, project_id_or_code, cluster_id, namespace, deploy_name):
     # TODO 增加用户对层级资源project/cluster/namespace的权限校验(由于粒度没有细化到Deployment)
     deployment = Deployment(request.ctx_cluster).get(namespace=namespace, name=deploy_name, is_format=False)
     labels_string = make_labels_string(getitems(deployment.data.to_dict(), 'spec.selector.matchLabels', {}))
     pods = Pod(request.ctx_cluster).list(
         namespace=namespace,
         label_selector=labels_string,
         is_format=False,
         owner_kind=K8sResourceKind.Deployment.value,
         owner_name=deploy_name,
     )['items']
     return Response(ResourceDefaultFormatter().format_list(pods))
예제 #4
0
 def list_by_namespace(self, request, project_id_or_code, cluster_id, namespace):
     # TODO 增加用户对层级资源project/cluster/namespace的权限校验
     deployments = Deployment(request.ctx_cluster).list(namespace=namespace, is_format=False)
     return Response(deployments.data.to_dict()['items'])