Example #1
0
    def post(self, request, name, stage):
        try:
            env = environs_helper.get_env_by_stage(request, name, stage)
            cluster_name = env.get('clusterName')
            cluster_info = json.loads(request.body)
            log.info("Update Cluster Configuration with {}", cluster_info)

            cluster_name = '{}-{}'.format(name, stage)
            current_cluster = clusters_helper.get_cluster(request, cluster_name)
            log.info("getting current Cluster Configuration is {}", current_cluster)
            if 'configs' in current_cluster and 'configs' in cluster_info:
                if 'spiffe_id' in current_cluster['configs'] and 'spiffe_id' in cluster_info['configs']:
                    if current_cluster['configs']['spiffe_id'] != cluster_info['configs']['spiffe_id']:
                       log.error("Teletraan does not support user to update spiffe_id %s" % cluster_info['spiffe_id'])
                       raise TeletraanException("Teletraan does not support user to update spiffe_id")

                if 'spiffe_id' in current_cluster['configs'] and 'spiffe_id' not in cluster_info['configs']:
                    log.error("Teletraan does not support user to remove spiffe_id %s" % cluster_info['spiffe_id'])
                    raise TeletraanException("Teletraan does not support user to remove spiffe_id")

            image = baseimages_helper.get_by_id(request, cluster_info['baseImageId'])
            clusters_helper.update_cluster(request, cluster_name, cluster_info)
        except NotAuthorizedException as e:
            log.error("Have an NotAuthorizedException error {}".format(e))
            return HttpResponse(e, status=403, content_type="application/json")
        except Exception as e:
            log.error("Post to cluster configuration view has an error {}", e)
            return HttpResponse(e, status=500, content_type="application/json")
        return HttpResponse(json.dumps(cluster_info), content_type="application/json")
Example #2
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_info = {}
    cluster_info['capacity'] = params['capacity']
    cluster_info['base_image_id'] = params['baseImageId']
    cluster_info['provider'] = params['provider']
    cluster_info['host_type_id'] = params['hostTypeId']
    cluster_info['security_zone_id'] = params['securityZoneId']
    cluster_info['placement_id'] = ",".join(params.getlist('placementId'))
    cluster_info['config_id'] = params['configId']

    user_data_configs = parse_configs(params)
    if 'assignPublicIp' in params:
        user_data_configs['cmp_public_ip'] = 'yes'

    if 'role' in params and params['role'] != '':
        user_data_configs['cmp_role'] = params['role']

    if user_data_configs:
        clusters_helper.update_advanced_configs(request, name, stage, user_data_configs)
    clusters_helper.update_cluster(request, name, stage, cluster_info)

    env_info = {}
    if 'isDocker' in params:
        env_info['isDocker'] = True
    else:
        env_info['isDocker'] = False
    environs_helper.update_env_basic_config(request, name, stage, data=env_info)
    return get_basic_cluster(request, name, stage)
Example #3
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_info = {}
    cluster_info['capacity'] = params['capacity']
    cluster_info['base_image_id'] = params['baseImageId']
    cluster_info['provider'] = params['provider']
    cluster_info['host_type_id'] = params['hostTypeId']
    cluster_info['security_zone_id'] = params['securityZoneId']
    cluster_info['placement_id'] = ",".join(params.getlist('placementId'))
    cluster_info['config_id'] = params['configId']

    user_data_configs = parse_configs(params)
    if 'assignPublicIp' in params:
        user_data_configs['cmp_public_ip'] = 'yes'

    if 'role' in params and params['role'] != '':
        user_data_configs['cmp_role'] = params['role']

    if user_data_configs:
        clusters_helper.update_advanced_configs(request, name, stage,
                                                user_data_configs)
    clusters_helper.update_cluster(request, name, stage, cluster_info)

    env_info = {}
    if 'isDocker' in params:
        env_info['isDocker'] = True
    else:
        env_info['isDocker'] = False
    environs_helper.update_env_basic_config(request,
                                            name,
                                            stage,
                                            data=env_info)
    return get_basic_cluster(request, name, stage)
Example #4
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_info = parse_cluster_info(request)
    user_data_configs = parse_configs(params)
    cluster_info['configs'] = user_data_configs
    clusters_helper.update_cluster(request, name, stage, cluster_info)
    return get_basic_cluster(request, name, stage)
Example #5
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_name = common.get_cluster_name(request, name, stage)
    cluster_info = parse_cluster_info(request, name, stage, cluster_name)
    user_data_configs = parse_configs(params)
    cluster_info['configs'] = user_data_configs
    clusters_helper.update_cluster(request, cluster_name, cluster_info)
    return get_basic_cluster(request, name, stage)
Example #6
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_name = common.get_cluster_name(request, name, stage)
    cluster_info = parse_cluster_info(request, name, stage, cluster_name)
    user_data_configs = parse_configs(params)
    cluster_info["configs"] = user_data_configs
    clusters_helper.update_cluster(request, cluster_name, cluster_info)
    return get_basic_cluster(request, name, stage)
Example #7
0
def update_cmp_cluster(request, name, stage):
    params = request.POST
    cluster_info = parse_cluster_info(request)
    config_map = get_default_cmp_configs(name, stage)
    user_data_configs = parse_configs(params)
    config_map.update(user_data_configs)
    cluster_info['configs'] = config_map
    clusters_helper.update_cluster(request, name, stage, cluster_info)
    return get_cmp_cluster(request, name, stage)
Example #8
0
def update_cmp_cluster(request, name, stage):
    params = request.POST
    cluster_name = common.get_cluster_name(request, name, stage)
    cluster_info = parse_cluster_info(request, name, stage, cluster_name)
    config_map = get_default_cmp_configs(name, stage)
    user_data_configs = parse_configs(params)
    config_map.update(user_data_configs)
    cluster_info['configs'] = config_map
    clusters_helper.update_cluster(request, cluster_name, cluster_info)
    return get_cmp_cluster(request, name, stage)
Example #9
0
 def post(self, request, name, stage):
     try:
         env = environs_helper.get_env_by_stage(request, name, stage)
         cluster_name = env.get('clusterName')
         cluster_info = json.loads(request.body)
         log.info("Update Cluster Configuration with {}", cluster_info)
         image = baseimages_helper.get_by_id(request, cluster_info['baseImageId'])
         clusters_helper.update_cluster(request, cluster_name, cluster_info)
     except Exception as e:
         log.info("Post to cluster configuration view has an error {}", e)
         return HttpResponse(e, status=500, content_type="application/json")
     return HttpResponse(json.dumps(cluster_info), content_type="application/json")
Example #10
0
 def post(self, request, name, stage):
     try:
         env = environs_helper.get_env_by_stage(request, name, stage)
         cluster_name = env.get('clusterName')
         cluster_info = json.loads(request.body)
         log.info("Update Cluster Configuration with {}", cluster_info)
         image = baseimages_helper.get_by_id(
             request, cluster_info['baseImageId'])
         clusters_helper.update_cluster(request, cluster_name, cluster_info)
     except Exception as e:
         log.info("Post to cluster configuration view has an error {}", e)
         return HttpResponse(e, status=500, content_type="application/json")
     return HttpResponse(json.dumps(cluster_info), content_type="application/json")
Example #11
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_name = '{}-{}'.format(name, stage)
    adv_cluster_info = {}
    if 'assignPublicIp' in params:
        adv_cluster_info['assignPublicIp'] = True

    if 'role' in params:
        adv_cluster_info['role'] = params['role']

    user_data_configs = parse_configs(params)
    if user_data_configs:
        adv_cluster_info['userDataConfigs'] = user_data_configs

    if adv_cluster_info:
        adv_cluster_info['clusterName'] = cluster_name
        adv_cluster_info['image'] = params['baseImageId']
        adv_cluster_info['hostType'] = params['hostTypeId']
        adv_cluster_info['securityZone'] = params['securityZoneId']
        adv_cluster_info['minSize'] = params['capacity']
        adv_cluster_info['maxSize'] = params['capacity']
        adv_cluster_info['subnet'] = ",".join(params.getlist('placementId'))
        if 'assignPublicIp' not in params:
            adv_cluster_info['assignPublicIp'] = False
        clusters_helper.update_advanced_cluster(request, name, stage,
                                                params['provider'],
                                                adv_cluster_info)
    else:
        cluster_info = {}
        cluster_info['cluster_name'] = cluster_name
        cluster_info['capacity'] = params['capacity']
        cluster_info['base_image_id'] = params['baseImageId']
        cluster_info['provider'] = params['provider']
        cluster_info['host_type_id'] = params['hostTypeId']
        cluster_info['security_zone_id'] = params['securityZoneId']
        cluster_info['placement_id'] = ",".join(params.getlist('placementId'))
        clusters_helper.update_cluster(request, name, stage, cluster_info)
    return get_basic_cluster(request, name, stage)
Example #12
0
def update_cluster(request, name, stage):
    params = request.POST
    cluster_name = '{}-{}'.format(name, stage)
    adv_cluster_info = {}
    if 'assignPublicIp' in params:
        adv_cluster_info['assignPublicIp'] = True

    if 'role' in params:
        adv_cluster_info['role'] = params['role']

    user_data_configs = parse_configs(params)
    if user_data_configs:
        adv_cluster_info['userDataConfigs'] = user_data_configs

    if adv_cluster_info:
        adv_cluster_info['clusterName'] = cluster_name
        adv_cluster_info['image'] = params['baseImageId']
        adv_cluster_info['hostType'] = params['hostTypeId']
        adv_cluster_info['securityZone'] = params['securityZoneId']
        adv_cluster_info['minSize'] = params['capacity']
        adv_cluster_info['maxSize'] = params['capacity']
        adv_cluster_info['subnet'] = ",".join(params.getlist('placementId'))
        if 'assignPublicIp' not in params:
            adv_cluster_info['assignPublicIp'] = False
        clusters_helper.update_advanced_cluster(request, name, stage, params['provider'], adv_cluster_info)
    else:
        cluster_info = {}
        cluster_info['cluster_name'] = cluster_name
        cluster_info['capacity'] = params['capacity']
        cluster_info['base_image_id'] = params['baseImageId']
        cluster_info['provider'] = params['provider']
        cluster_info['host_type_id'] = params['hostTypeId']
        cluster_info['security_zone_id'] = params['securityZoneId']
        cluster_info['placement_id'] = ",".join(params.getlist('placementId'))
        clusters_helper.update_cluster(request, name, stage, cluster_info)
    return get_basic_cluster(request, name, stage)