def workspace_struce(w, creater): """ 返回workspace数据结构 :param w: :return: """ return { 'creater': creater, 'datetime': UtcDate(), 'group': w.get('workspacegroup_name'), 'cluster_name': w.get('cluster_name'), 'name': w.get('workspace_name'), 'cpu': w.get('resource_cpu'), 'mem': w.get('resource_mem'), 'pod_cpu_min': w.get('pod_cpu_min'), 'pod_cpu_max': w.get('pod_cpu_max'), 'pod_mem_min': w.get('pod_mem_min'), 'pod_mem_max': w.get('pod_mem_max'), 'c_cpu_default': w.get('c_cpu_default'), 'c_mem_default': w.get('c_mem_default'), 'c_cpu_min': w.get('c_cpu_min'), 'c_cpu_max': w.get('c_cpu_max'), 'c_mem_min': w.get('c_mem_min'), 'c_mem_max': w.get('c_mem_max') }
def clu_struct(cluster_info): """ 集群信息 :return: 默认 { 'auth_way': 'ca_auth', 认证方式 'creater': '', 创建者 'create_time': UtcDate(), 当前日期 'cluster_name': '', 集群名称 'node_num': 0, 主机个数 'master_ip': [], 主机ip 'node_list': [], 主机列表 'member': [], 集群成员 'cluster_type': 'create', 'create' or 'accept' 创建类型 } """ rlt = { 'auth_way': 'ca_auth', 'creater': '', 'create_time': UtcDate(), 'cluster_name': '', 'cluster_type': '', } if isinstance(cluster_info, dict): for k, v in cluster_info.items(): if k in rlt: rlt[k] = v rlt['cluster_type'] = cluster_info['create_way'] return rlt
def node_struct(cluster_name, ip, _type, creater): """ 主机的结构体 status: node status m_status: master status the master host has both of the status :return: """ node = { 'cluster_name': cluster_name, 'name': '', 'system': '', 'docker_version': '', 'status': 'pending', 'type': _type, 'pod_num': 0, 'ip': ip, 'cpu': '', 'memory': '', 'label': '', 'disk': '', 'unschedulable': '', 'slave': '', 'is_eviction': 0, 'evction_status': '', # 应用迁移状态 'datetime': UtcDate(), 'creater': creater } if _type == 'master': node.update({'m_status': 'pending', 'm_message': ''}) return node
def clu_struct(cluster_info): """ 集群信息 :return: 默认 { 'auth_way': 'ca_auth', 认证方式 'creater': '', 创建者 'create_time': UtcDate(), 当前日期 'cluster_name': '', 集群名称 'cluster_type': 'create', 'create' or 'accept' 创建类型 'type': '' , 'one': 单机 or 'ha': 高可用 } """ rlt = { 'auth_way': 'ca_auth', 'creater': '', 'create_time': UtcDate(), 'cluster_name': '', 'cluster_type': '', 'type': '' } if isinstance(cluster_info, dict): for k, v in cluster_info.items(): if k in rlt: rlt[k] = v rlt['cluster_type'] = cluster_info['create_way'] return rlt
def clusterrole(data): return { "name": data.get('name'), "clu_name": data.get('cluster_name'), "content": data.get('content'), "creater": data.get('creater', ''), "create_time": UtcDate() }
def configmap_struct(data): """ /ufleet/cluster/configmap/<workspace>/<configmap_name>+<version> {} :param data: :return: """ return { "name": data.get('name', ''), # 配置名称 "version": data.get('version', ''), # 版本 "describe": data.get('describe', ''), # 描述 "content": """{}""".format(data.get('content', '')), # 内容 "conf_keys": data.get('conf_keys'), # configmap的key列表 "group": data.get('group', ''), "workspace": data.get('workspace', ''), # worksapce名称 "creater": data.get('creater', ''), # 创建者 "create_time": UtcDate() # 创建时间 }
def masternode_struct(creater, cluster_name, node_type, host_ip, port, host_name, username, userpwd, prikey, pripwd): """ masternodedir目录 :return: """ return { 'creater': creater, 'datetime': UtcDate(), 'cluster_name': cluster_name, 'node_type': node_type, # Master 'host_ip': host_ip, 'port': port, 'host_name': host_name, 'username': username, 'userpwd': userpwd, 'prikey': prikey, 'pripwd': pripwd }
def node_struct(cluster_name, ip, _type, creater): """ 主机的结构体 :return: """ return { 'cluster_name': cluster_name, 'name': '', 'system': '', 'docker_version': '', 'status': 'pending', 'type': _type, 'pod_num': 0, 'ip': ip, 'cpu': '', 'memory': '', 'label': '', 'disk': '', 'unschedulable': '', 'slave': '', 'datetime': UtcDate(), 'creater': creater }
def network_pool(cluster_name, subip, subnet_mask, creater, is_show, is_ipip, is_nat, status, fa_ip, subnet_id): """ /ufleet/cluster/network/<cluster_name>/<father-ip>/<subnetip> {'cluster_name': '', 'subnet': '', 'ipip': '', 'net': '', 'creater':'' , 'index_id': int} 设置集群网络池 :param d: :param creater: :return: """ return { 'cluster_name': cluster_name, # str e.g:'clusterA' 'fa_ip': fa_ip, 'subnet': subip + '/' + str(subnet_mask), # str e.g: '192.168.5.6' 'status': status, # 状态 1:空闲 0:已经被分配 'ipip': is_ipip, # IPIP模式 1:开启 # 0:关闭 'nat': is_nat, # NATm模式 1:开启 # 0:关闭 'is_show': is_show, # 是否能被分配使用 0:不能被使用 1:允许被分配使用 'creater': creater, 'create_time': UtcDate(), 'key': subnet_id, 'workspace': '' }