Ejemplo n.º 1
0
    def __list_nodes(self, hil_url, is_free='all'):
        """ lists nodes. If is_free is set to free, only lists unallocated nodes """

        if is_free not in ('all', 'free'):
            sys.exit("error listing hosts. is_free is not set to all or free")
        url = Quads.quads_urlify(hil_url, 'nodes', is_free)
        return Quads.quads_get(url)
Ejemplo n.º 2
0
    def __node_detach_network(self, hil_url, node, nic, network):
        """ detaches node from network """

        url = Quads.quads_urlify(hil_url, 'node', node, 'nic', nic,
                                 'detach_network')
        Quads.quads_post(url, data={'network': network})

        # Hil network server needs time to process request
        time.sleep(2)
Ejemplo n.º 3
0
    def __project_create_network(self, hil_url, project):
        """ creates network belonging to project of the same name """

        url = Quads.quads_urlify(hil_url, 'network', project)
        Quads.quads_put(url,
                        data={
                            'owner': project,
                            'access': project,
                            'net_id': ""
                        })
Ejemplo n.º 4
0
    def __node_connect_network(self,
                               hil_url,
                               node,
                               nic,
                               network,
                               channel=None):
        """ connects specified node to specified network on the specified nic """
        """ If channel is None, it is set automatically to the default value on the HIL server side, however is kept here as a
        parameter in case it ever needs to be specified. """

        if channel is not None:
            network_data = {'network': network, 'channel': channel}
        else:
            network_data = {'network': network}

        url = Quads.quads_urlify(hil_url, 'node', node, 'nic', nic,
                                 'connect_network')
        Quads.quads_post(url, data=network_data)

        # Hil network server needs time to process request
        time.sleep(2)
Ejemplo n.º 5
0
    def __list_projects(self, hil_url):
        """ lists all projects """

        url = Quads.quads_urlify(hil_url, 'projects')
        return Quads.quads_get(url)
Ejemplo n.º 6
0
    def __show_node(self, hil_url, node):
        """ returns data associated with specified node """

        url = Quads.quads_urlify(hil_url, 'node', node)
        return Quads.quads_get(url)
Ejemplo n.º 7
0
 def __project_delete(self, hil_url, project):
     """ Deletes project. Will fail if project has any connected nodes or networks """
     url = Quads.quads_urlify(hil_url, 'project', project)
     Quads.quads_delete(url)
Ejemplo n.º 8
0
 def __project_create(self, hil_url, project):
     """ creates new project """
     url = Quads.quads_urlify(hil_url, 'project', project)
     Quads.quads_put(url)
Ejemplo n.º 9
0
    def __network_delete(self, hil_url, network):
        """ Deletes network. Will fail if network has nodes connected to it """

        url = Quads.quads_urlify(hil_url, 'network', network)
        Quads.quads_delete(url)
Ejemplo n.º 10
0
    def __project_detach_node(self, hil_url, project, node):
        """ Detaches node from project. Will fail if node is connected to any project networks """

        url = Quads.quads_urlify(hil_url, 'project', project, 'detach_node')
        Quads.quads_post(url, data={'node': node})
Ejemplo n.º 11
0
    def __project_connect_node(self, hil_url, project, node):
        """ connects node to project """

        url = Quads.quads_urlify(hil_url, 'project', project, 'connect_node')
        Quads.quads_post(url, data={'node': node})