Exemple #1
0
    def index(self, machine_type=None):
        uri = urlparse.urljoin(base_url, '/nodes/')
        if machine_type:
            uri += '?machine_type=%s' % machine_type

        resp = requests.get(uri, timeout=60)
        if resp.status_code == 502:
            redirect('/errors?status_code={status}&message={msg}'.format(
                status=200, msg='502 gateway error :('),
                internal=True)
        elif resp.status_code == 400:
            error('/errors/invalid/', msg=resp.text)

        nodes = resp.json()
        for node in nodes:
            set_node_status_class(node)
            # keep only the node name, not the fqdn
            node['fqdn'] = node['name']
            node['name'] = node['fqdn'].split(".")[0]
            desc = node['description']
            if not desc or desc.lower() == "none":
                node['description'] = ""
            elif 'teuthworker' in desc:
                # strip out the path part of the description and
                # leave it with the run_name/job_id
                node['description'] = "/".join(desc.split("/")[-2:])
        nodes.sort(key=lambda n: n['name'])

        title = "{mtype} nodes".format(
            mtype=machine_type if machine_type else 'All',
        )
        return dict(
            title=title,
            nodes=nodes,
        )
Exemple #2
0
    def index(self, machine_type=None):
        uri = urljoin(base_url, '/nodes/')
        if machine_type:
            uri += '?machine_type=%s' % machine_type

        resp = requests.get(uri, timeout=60)
        if resp.status_code == 502:
            redirect('/errors?status_code={status}&message={msg}'.format(
                status=200, msg='502 gateway error :('),
                internal=True)
        elif resp.status_code == 400:
            error('/errors/invalid/', msg=resp.text)

        nodes = resp.json()
        for node in nodes:
            set_node_status_class(node)
            # keep only the node name, not the fqdn
            node['fqdn'] = node['name']
            node['name'] = node['fqdn'].split(".")[0]
            desc = node['description']
            if not desc or desc.lower() == "none":
                node['description'] = ""
            elif 'teuthworker' in desc:
                # strip out the path part of the description and
                # leave it with the run_name/job_id
                node['description'] = "/".join(desc.split("/")[-2:])
        nodes.sort(key=lambda n: n['name'])

        title = "{mtype} nodes".format(
            mtype=machine_type if machine_type else 'All',
        )
        return dict(
            title=title,
            nodes=nodes,
        )
Exemple #3
0
    def index(self, machine_type=None):
        uri = '{base}/nodes/'.format(
            base=base_url,
        )
        if machine_type:
            uri += '?machine_type=%s' % machine_type

        resp = requests.get(uri, timeout=60)
        if resp.status_code == 502:
            redirect('/errors?status_code={status}&message={msg}'.format(
                status=200, msg='502 gateway error :('),
                internal=True)
        elif resp.status_code == 400:
            error('/errors/invalid/', msg=resp.text)

        nodes = resp.json()
        for node in nodes:
            set_node_status_class(node)
        nodes.sort(key=lambda n: n['name'])

        title = "{mtype} nodes".format(
            mtype=machine_type if machine_type else 'All',
        )
        return dict(
            title=title,
            nodes=nodes,
        )
Exemple #4
0
    def get_node(self, page=None):
        url = urlparse.urljoin(base_url, '/nodes/{0}/'.format(self.name))
        resp = requests.get(url)
        if resp.status_code == 404:
            error('/errors/not_found/', 'requested node does not exist')
        else:
            node = resp.json()

        set_node_status_class(node)
        self.node = node
        self.get_node_jobs(page=page)
        return self.node
Exemple #5
0
    def get_node(self, page=None):
        url = urlparse.urljoin(base_url, '/nodes/{0}/'.format(self.name))
        resp = requests.get(url)
        if resp.status_code == 404:
            error('/errors/not_found/',
                  'requested node does not exist')
        else:
            node = resp.json()

        set_node_status_class(node)
        self.node = node
        self.get_node_jobs(page=page)
        return self.node
Exemple #6
0
    def get_node(self):
        resp = requests.get(
            '{base}/nodes/{name}'.format(base=base_url,
                                         name=self.name))
        if resp.status_code == 404:
            error('/errors/not_found/',
                  'requested node does not exist')
        else:
            node = resp.json()

        set_node_status_class(node)
        self.node = node
        return self.node