Exemplo n.º 1
0
func (this *LineService) Delete(data []byte) line {
	fmt.Println("[Delete] LineService")

	var _data_format data_format
	json.Unmarshal(data, &_data_format)

	service_model := k8sModel.ServiceModel{}
	_get_service_data := service_model.GetService(_data_format.Service_name)

	replication_controller_model := k8sModel.ReplicationControllerModel{}
	_get_replication_controller_data := replication_controller_model.GetReplicationController(_data_format.Cluster_name)

	var _line line

	if _get_service_data.Spec.Selector == nil {
		_line.Status = "fail"
		_line.Errmsg = "service no selector"
		return _line
	}

	if _get_service_data.Spec.Selector["name"] != _get_replication_controller_data.Spec.Selector["name"] {
		_line.Status = "fail"
		_line.Errmsg = "service and cluster not same"
		return _line
	}

	_get_service_data.Spec.Selector["name"] = _get_service_data.Spec.Selector["name"] + "-giga"
	service_model.UpdateService(_data_format.Service_name, _get_service_data)

	_line.Status = "ok"
	return _line
}
Exemplo n.º 2
0
func (this *LineService) Post(data []byte) line {
	fmt.Println("[Post] LineService")

	var _data_format data_format
	json.Unmarshal(data, &_data_format)

	service_model := k8sModel.ServiceModel{}
	_get_service_data := service_model.GetService(_data_format.Service_name)

	replication_controller_model := k8sModel.ReplicationControllerModel{}
	_get_replication_controller_data := replication_controller_model.GetReplicationController(_data_format.Cluster_name)

	var _line line

	if _get_service_data.Spec.Selector == nil {
		_line.Status = "fail"
		_line.Errmsg = "service no selector"
		return _line
	}

	_get_service_data.Spec.Selector = _get_replication_controller_data.Spec.Selector

	service_model.UpdateService(_data_format.Service_name, _get_service_data)
	// _put_service_data := service_model.UpdateService(_data_format.Service_name, _get_service_data)
	// if _put_service_data.Status_code == "200" {
	// 	Status = "ok"
	// } else {
	// 	Status = "fail"
	// }
	_line.Status = "ok"
	return _line
}
func (this *ReplicationControllerService) UpdateReplicationController(rc_name string, data []byte) Cluster {
	type rc_format struct {
		// Cluster_name string `json:"cluster_name"`
		Port            string            `json:"port"`
		Container_count string            `json:"container_count"`
		Cpu             string            `json:"cpu"`
		Image           string            `json:"image"`
		Label           map[string]string `json:"label"`
	}
	var _rc_format rc_format
	json.Unmarshal(data, &_rc_format)

	_replication_controllerModel := k8sModel.ReplicationControllerModel{}
	_k8s_rc := _replication_controllerModel.GetReplicationController(rc_name)

	var _cluster Cluster
	_k8s_rc.Metadata.Labels = _rc_format.Label
	_k8s_rc.Spec.Replicas, _ = strconv.Atoi(_rc_format.Container_count)
	// _k8s_rc.Spec.Selector["name"] = _rc_format.Cluster_name
	// _k8s_rc.Spec.Template.Metadata.Labels["name"] = _rc_format.Cluster_name
	// _k8s_rc.Spec.Template.Spec.Containers[0].Name = _rc_format.Cluster_name
	_k8s_rc.Spec.Template.Spec.Containers[0].Image = _rc_format.Image
	_k8s_rc.Spec.Template.Spec.Containers[0].Ports[0].ContainerPort, _ = strconv.Atoi(_rc_format.Port)

	_replication_controllerModel.UpdateReplicationController(rc_name, _k8s_rc)

	_cluster.Status = "ok"
	return _cluster
}
func (this *ReplicationControllerService) GetReplicationController(rc_name string) Cluster {
	_replication_controllerModel := k8sModel.ReplicationControllerModel{}
	data := _replication_controllerModel.GetReplicationController(rc_name)

	var _cluster Cluster
	_cluster.Data = this.RcByName(data)

	_cluster.Status = "ok"
	return _cluster
}
func (this *ReplicationControllerService) DeleteReplicationController(rc_name string) Cluster {
	_replication_controllerModel := k8sModel.ReplicationControllerModel{}
	_k8s_rc := _replication_controllerModel.GetReplicationController(rc_name)
	_k8s_rc.Spec.Replicas = 0
	_replication_controllerModel.UpdateReplicationController(rc_name, _k8s_rc)
	_replication_controllerModel.DeleteReplicationController(rc_name)

	var _cluster Cluster
	_cluster.Status = "ok"

	return _cluster
}