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")
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)
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)
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)
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)
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)
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)
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")
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")
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)