Exemplo n.º 1
0
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')
    }
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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()
    }
Exemplo n.º 6
0
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()  # 创建时间
    }
Exemplo n.º 7
0
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
    }
Exemplo n.º 8
0
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
    }
Exemplo n.º 9
0
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': ''
    }