예제 #1
0
    def subnet_set_dns_delegated(self, operator, identifier, force=False):
        self.ba.assert_dns_superuser(operator.get_entity_id())
        
        s = Subnet(self.db)
        try:
            s.find(identifier)
        except SubnetError:
            s = IPv6Subnet(self.db)
            s.find(identifier)

        subnet_id = "%s/%s" % (s.subnet_ip, s.subnet_mask)

        if s.dns_delegated:
            return ("Subnet %s is already set as " % subnet_id +
                    "being delegated to external DNS server")

        in_use = ""
        if s.has_adresses_in_use():
            if force:
                in_use = "\nNote! Subnet has addresses in use!"
            else:
                raise CerebrumError, ("Subnet '%s' has addresses " % subnet_id +
                                      "in use; must force to delegate")

        s.dns_delegated = True
        s.write_db(perform_checks=False)
        return "Subnet %s set as delegated to external DNS server%s" % (subnet_id, in_use)
예제 #2
0
    def subnet_set_dns_delegated(self, operator, identifier, force=False):
        self.ba.assert_dns_superuser(operator.get_entity_id())

        s = Subnet(self.db)
        try:
            s.find(identifier)
        except SubnetError:
            s = IPv6Subnet(self.db)
            s.find(identifier)

        subnet_id = "%s/%s" % (s.subnet_ip, s.subnet_mask)

        if s.dns_delegated:
            return ("Subnet %s is already set as " % subnet_id +
                    "being delegated to external DNS server")

        in_use = ""
        if s.has_adresses_in_use():
            if force:
                in_use = "\nNote! Subnet has addresses in use!"
            else:
                raise CerebrumError, (
                    "Subnet '%s' has addresses " % subnet_id +
                    "in use; must force to delegate")

        s.dns_delegated = True
        s.write_db(perform_checks=False)
        return "Subnet %s set as delegated to external DNS server%s" % (
            subnet_id, in_use)
예제 #3
0
    def subnet_unset_dns_delegated(self, operator, identifier):
        self.ba.assert_dns_superuser(operator.get_entity_id())
        
        s = Subnet(self.db)
        try:
            s.find(identifier)
        except SubnetError:
            s = IPv6Subnet(self.db)
            s.find(identifier)

        subnet_id = "%s/%s" % (s.subnet_ip, s.subnet_mask)

        if not s.dns_delegated:
            return ("Subnet %s is already set as not " % subnet_id +
                    "being delegated to external DNS server" )

        s.dns_delegated = False
        s.write_db(perform_checks=False)
        return "Subnet %s no longer set as delegated to external DNS server" % subnet_id
예제 #4
0
    def subnet_unset_dns_delegated(self, operator, identifier):
        self.ba.assert_dns_superuser(operator.get_entity_id())

        s = Subnet(self.db)
        try:
            s.find(identifier)
        except SubnetError:
            s = IPv6Subnet(self.db)
            s.find(identifier)

        subnet_id = "%s/%s" % (s.subnet_ip, s.subnet_mask)

        if not s.dns_delegated:
            return ("Subnet %s is already set as not " % subnet_id +
                    "being delegated to external DNS server")

        s.dns_delegated = False
        s.write_db(perform_checks=False)
        return "Subnet %s no longer set as delegated to external DNS server" % subnet_id