Exemple #1
0
 def test_edit_pool(self):
     """ We should NOT be able to execute edit_pool as read-only user
     """
     p = Pool()
     p.id = 123
     with self.assertRaises(NipapAuthorizationError):
         p.save()
Exemple #2
0
    def add_pool(self):
        """ Add a pool.
        """

        # extract attributes
        p = Pool()
        if 'name' in request.json:
            p.name = validate_string(request.json, 'name')
        if 'description' in request.json:
            p.description = validate_string(request.json, 'description')
        if 'default_type' in request.json:
            p.default_type = validate_string(request.json, 'default_type')
        # TODO: handle integers
        if 'ipv4_default_prefix_length' in request.json:
            p.ipv4_default_prefix_length = request.json[
                'ipv4_default_prefix_length']
        if 'ipv6_default_prefix_length' in request.json:
            p.ipv6_default_prefix_length = request.json[
                'ipv6_default_prefix_length']
        if 'tags' in request.json:
            p.tags = request.json['tags']
        if 'avps' in request.json:
            p.avps = request.json['avps']

        try:
            p.save()
        except NipapError, e:
            return json.dumps({
                'error': 1,
                'message': e.args,
                'type': type(e).__name__
            })
Exemple #3
0
 def test_remove_pool(self):
     """ We should NOT be able to execute remove_pool as read-only user
     """
     p = Pool()
     p.id = 0
     with self.assertRaises(NipapAuthorizationError):
         p.remove()
Exemple #4
0
 def test_add_pool(self):
     """ We should NOT be able to execute add_pool as read-only user
     """
     p = Pool()
     p.name = 'test'
     with self.assertRaises(NipapAuthorizationError):
         p.save()
Exemple #5
0
    def add_pool(self):
        """ Add a pool.
        """

        # extract attributes
        p = Pool()
        p.name = request.params.get('name')
        p.description = request.params.get('description')
        p.default_type = request.params.get('default_type')
        if 'ipv4_default_prefix_length' in request.params:
            if request.params['ipv4_default_prefix_length'].strip() != '':
                p.ipv4_default_prefix_length = request.params[
                    'ipv4_default_prefix_length']
        if 'ipv6_default_prefix_length' in request.params:
            if request.params['ipv6_default_prefix_length'].strip() != '':
                p.ipv6_default_prefix_length = request.params[
                    'ipv6_default_prefix_length']

        try:
            p.save()
        except NipapError, e:
            return json.dumps({
                'error': 1,
                'message': e.args,
                'type': type(e).__name__
            })
Exemple #6
0
 def add_pool(self, name, description, default_type, ipv4_default_prefix_length):
     pool = Pool()
     pool.name = name
     pool.description = description
     pool.default_type = default_type
     pool.ipv4_default_prefix_length = ipv4_default_prefix_length
     try:
         pool.save()
         return pool
     except NipapError as exc:
         print("Error: could not add pool to NIPAP: %s" % str(exc))
         return None
Exemple #7
0
    def add(self):
        """ Add a pool.
        """

        # Adding to NIPAP
        if request.method == 'POST':
            p = Pool()
            p.name = request.params.get('name')
            p.description = request.params.get('description')
            p.default_type = request.params.get('default_type')

            if request.params['ipv4_default_prefix_length'].strip() != '':
                p.ipv4_default_prefix_length = request.params[
                    'ipv4_default_prefix_length']

            if request.params['ipv6_default_prefix_length'].strip() != '':
                p.ipv6_default_prefix_length = request.params[
                    'ipv6_default_prefix_length']

            p.save()
            redirect(url(controller='pool', action='list'))

        return render("/pool_add.html")
Exemple #8
0
    _register_inet(conn_or_curs=con_pg_new)

    # set up pynipap
    aopts = pynipap.AuthOptions({'authoritative_source': 'nipap'})
    pynipap.xmlrpc_uri = nipapd_xmlrpc_uri

    #
    # Create pools
    #
    print "Creating pools... ",
    sql = "SELECT * FROM ip_net_pool"
    curs_pg_old.execute(sql)
    pools = {}
    for r in curs_pg_old:
        p = Pool()
        p.name = r['name']
        p.description = r['description']
        p.default_type = r['default_type']
        p.ipv4_default_prefix_length = r['ipv4_default_prefix_length']
        p.ipv6_default_prefix_length = r['ipv6_default_prefix_length']
        try:
            p.save()
        except NipapError, e:
            print "ERR: %s" % str(e)
        pools[r['id']] = p

        # remove new audit log entries
        sql = "DELETE FROM ip_net_log WHERE pool_id = %s"
        curs_pg_new.execute(sql, (p.id, ))