Exemplo n.º 1
0
    def container_list(self, node_ip, node_port):
        # print(node_ip)
        # print(node_port)
        url = 'http://' + node_ip + ":" + node_port + "/containers/json?all=1"
        container_url = Curl(url)
        ret_json = container_url.get_value()

        con_data = {}
        container_id = []
        if ret_json:
            for i in ret_json:
                container_id.append(i['Id'][0:12])
        else:
            return con_data

        if len(container_id) < 1:
            return con_data
        else:
            con_data = {}
            con_num = 1
            for con_id in container_id:
                tmp_dict = {}
                ret_json = self._container_detail(node_ip, node_port, con_id)
                if len(ret_json) < 1:
                    return con_data
                con_state = ""
                if ('Running' in ret_json['State'].keys()) and (
                        'Status'
                        not in ret_json['State'].keys()):  # for docker 1.7
                    con_state = str(ret_json['State']['Running'])
                elif 'Status' in ret_json['State'].keys(
                ):  # for docker 1.9 and higher
                    con_state = str(ret_json['State']['Status'])
                else:  # for else
                    con_state = "Exited"
                tmp_dict['id_num'] = ret_json['Id'][0:12]
                tmp_dict['con_ip'] = ret_json['NetworkSettings']['IPAddress']
                tmp_dict['name'] = ret_json['Name']
                tmp_dict['cpuperiod'] = ret_json['HostConfig']['CpuPeriod']
                tmp_dict['cpuquota'] = ret_json['HostConfig']['CpuQuota']
                tmp_dict['memory'] = ret_json['HostConfig']['Memory']
                tmp_dict['state'] = con_state
                tmp_dict['cmd'] = str(ret_json['Config']['Cmd'])
                tmp_dict['created'] = ret_json['State']['StartedAt']
                con_data[con_num] = tmp_dict
                con_num += 1
        return con_data
Exemplo n.º 2
0
    def node_list(self, node_ip, node_port):
        node_dict = {}
        url = 'http://' + node_ip + ":" + node_port + "/info"
        node_curl = Curl(url)
        ret_json = node_curl.get_value()

        if len(ret_json) < 1:
            print("Can not get node info")

        else:
            node_dict['state'] = '1'
            node_dict['cpus'] = ret_json['NCPU']
            node_dict['mem'] = ret_json['MemTotal']
            node_dict['name'] = ret_json['Name']
            node_dict['os_version'] = ret_json['OperatingSystem']
            node_dict['kernel_version'] = ret_json['KernelVersion']
            node_dict['images'] = ret_json['Images']
            node_dict['containers'] = ret_json['Containers']
        return node_dict
Exemplo n.º 3
0
 def _container_detail(self,node_ip,node_port,container_id):
     url = 'http://%s:%s/containers/%s/json' % (node_ip,node_port,container_id)
     container_more_curl = Curl(url)
     ret_json = container_more_curl.get_value()
     return ret_json
Exemplo n.º 4
0
 def _container_detail(self, node_ip, node_port, containers_id):
     url = ('http://' + node_ip + ":" + node_port + "/containers/" + containers_id + "/json")
     container_more_url = Curl(url)
     ret_json = container_more_url.get_value()
     return ret_json