def check_node_group_template_usage(node_group_template_id, **kwargs):
    cluster_users = []
    template_users = []

    for cluster in api.get_clusters():
        if (node_group_template_id in [
                node_group.node_group_template_id
                for node_group in cluster.node_groups
        ]):
            cluster_users += [cluster.name]

    for cluster_template in api.get_cluster_templates():
        if (node_group_template_id in [
                node_group.node_group_template_id
                for node_group in cluster_template.node_groups
        ]):
            template_users += [cluster_template.name]

    if cluster_users or template_users:
        raise ex.InvalidReferenceException(
            _("Node group template %(template)s is in use by "
              "cluster templates: %(users)s; and clusters: %(clusters)s") %
            {
                'template': node_group_template_id,
                'users': template_users and ', '.join(template_users) or 'N/A',
                'clusters': cluster_users and ', '.join(cluster_users) or 'N/A'
            })
예제 #2
0
def check_cluster_unique_name(name):
    if name in [
            cluster.name
            for cluster in api.get_clusters(tenant_id=context.ctx().tenant_id)
    ]:
        raise ex.NameAlreadyExistsException(
            _("Cluster with name '%s' already exists") % name)
예제 #3
0
파일: test_v10.py 프로젝트: wdanyel/sahara
 def test_create_multiple_clusters_failed(self, check_cluster):
     MULTIPLE_CLUSTERS = SAMPLE_CLUSTER.copy()
     MULTIPLE_CLUSTERS['count'] = 2
     check_cluster.side_effect = exc.QuotaException('resource', 'requested',
                                                    'available')
     with testtools.ExpectedException(exc.QuotaException):
         api.create_cluster(SAMPLE_CLUSTER)
     self.assertEqual('Error', api.get_clusters()[0].status)
예제 #4
0
파일: test_v10.py 프로젝트: Imperat/sahara
 def test_create_multiple_clusters_failed(self, check_cluster):
     MULTIPLE_CLUSTERS = SAMPLE_CLUSTER.copy()
     MULTIPLE_CLUSTERS['count'] = 2
     check_cluster.side_effect = exc.QuotaException(
         'resource', 'requested', 'available')
     with testtools.ExpectedException(exc.QuotaException):
         api.create_cluster(SAMPLE_CLUSTER)
     self.assertEqual('Error', api.get_clusters()[0].status)
예제 #5
0
def check_cluster_template_usage(cluster_template_id, **kwargs):
    users = []

    for cluster in api.get_clusters():
        if cluster_template_id == cluster.cluster_template_id:
            users.append(cluster.name)

    if users:
        raise ex.InvalidReferenceException(
            _("Cluster template %(id)s in use by %(clusters)s") %
            {'id': cluster_template_id,
             'clusters': ', '.join(users)})
예제 #6
0
def check_cluster_template_usage(cluster_template_id, **kwargs):
    users = []

    for cluster in api.get_clusters():
        if cluster_template_id == cluster.cluster_template_id:
            users.append(cluster.name)

    if users:
        raise ex.InvalidReferenceException(
            _("Cluster template %(id)s in use by %(clusters)s") % {
                'id': cluster_template_id,
                'clusters': ', '.join(users)
            })
예제 #7
0
def check_node_group_template_usage(node_group_template_id, **kwargs):
    cluster_users = []
    template_users = []

    for cluster in api.get_clusters():
        if (node_group_template_id in
            [node_group.node_group_template_id
             for node_group in cluster.node_groups]):
            cluster_users += [cluster.name]

    for cluster_template in api.get_cluster_templates():
        if (node_group_template_id in
            [node_group.node_group_template_id
             for node_group in cluster_template.node_groups]):
            template_users += [cluster_template.name]

    if cluster_users or template_users:
        raise ex.InvalidReferenceException(
            _("Node group template %(template)s is in use by "
              "cluster templates: %(users)s; and clusters: %(clusters)s") %
            {'template': node_group_template_id,
             'users': template_users and ', '.join(template_users) or 'N/A',
             'clusters': cluster_users and ', '.join(cluster_users) or 'N/A'})
예제 #8
0
def check_cluster_unique_name(name):
    if name in [cluster.name for cluster in api.get_clusters()]:
        raise ex.NameAlreadyExistsException(_("Cluster with name '%s' already exists") % name)
예제 #9
0
파일: test_v10.py 프로젝트: wdanyel/sahara
 def test_create_cluster_failed(self, check_cluster):
     check_cluster.side_effect = exc.QuotaException('resource', 'requested',
                                                    'available')
     with testtools.ExpectedException(exc.QuotaException):
         api.create_cluster(SAMPLE_CLUSTER)
     self.assertEqual('Error', api.get_clusters()[0].status)
예제 #10
0
파일: base.py 프로젝트: stackhpc/sahara
def check_cluster_unique_name(cluster_name):
    if cluster_name in [
            cluster.name for cluster in api.get_clusters(name=cluster_name)
    ]:
        raise ex.NameAlreadyExistsException(
            _("Cluster with name '%s' already exists") % cluster_name)
예제 #11
0
파일: test_v10.py 프로젝트: Imperat/sahara
 def test_create_cluster_failed(self, check_cluster):
     check_cluster.side_effect = exc.QuotaException(
         'resource', 'requested', 'available')
     with testtools.ExpectedException(exc.QuotaException):
         api.create_cluster(SAMPLE_CLUSTER)
     self.assertEqual('Error', api.get_clusters()[0].status)
예제 #12
0
def clusters_list():
    return u.render(clusters=[
        c.to_dict() for c in api.get_clusters(**u.get_request_args().to_dict())
    ])
예제 #13
0
파일: v10.py 프로젝트: Imperat/sahara
def clusters_list():
    result = api.get_clusters(**u.get_request_args().to_dict())
    return u.render(res=result, name='clusters')
예제 #14
0
def clusters_list():
    result = api.get_clusters(**u.get_request_args().to_dict())
    return u.render(res=result, name='clusters')
예제 #15
0
파일: v10.py 프로젝트: frgaudet/sahara
def clusters_list():
    return u.render(clusters=[c.to_dict() for c in api.get_clusters(
        **u.get_request_args().to_dict())])