コード例 #1
0
ファイル: dns_build.py プロジェクト: alecdhuse/cyder
def do_zone_build(ztype, view, root_domain, zone_path):

    view_obj, _ = View.objects.get_or_create(name=view)
    if ztype == 'forward':
        svn_zones = {root_domain.replace(
            'mozilla.com', ''): ((collect_svn_zone(root_domain, zone_path,
                                                   settingsZONE_PATH)), '')}
        populate_forward_dns(svn_zones, view=view_obj)
    elif ztype == 'reverse':
        rev_svn_zones = {root_domain: (
            '', ((collect_rev_svn_zone(root_domain, zone_path,
            settingsZONE_PATH)), ''))}
        populate_reverse_dns(rev_svn_zones, view=view_obj)
    else:
        print "Slob"
コード例 #2
0
def zone_build_from_config(job=None):
    """
    This is so f****d. We can't run all of these at once because it causes the
    box to run out of memory.
    """
    if not job:
        print "Jobs are: external, dc, private_reverse"
        return
    import dns
    if job == "external":
        from cyder.dnsutils.migrate.zone_configs.external import external
        for config in external:
            zone_path = config['path']
            root_domain = config['zone_name']
            name_reversed = config['name_reversed']
            ztype = config['direction']
            view = config['view']
            relative_path = config['relative_path']
            if view == "both":
                private, _ = View.objects.get_or_create(name="private")
                public, _ = View.objects.get_or_create(name="public")
                views = [private, public]
            else:
                view_obj, _ = View.objects.get_or_create(name=view)
                views = [view_obj]

            try:
                if ztype == 'f':
                    print view
                    svn_zone = collect_svn_zone(root_domain, zone_path,
                                                settingsZONE_PATH)
                    populate_forward_dns(svn_zone, root_domain, views=views)
                    del svn_zone
                if ztype == 'r':
                    rev_svn_zones = {
                        root_domain:
                        ('', ((collect_rev_svn_zone(root_domain, zone_path,
                                                    settingsZONE_PATH)), ''))
                    }
                    populate_reverse_dns(rev_svn_zones, views=views)
            except dns.zone.NoSOA, e:
                print "----------------------"
                print "ERROR: NoSOA()"
                print zone_path
                print "----------------------"
        return
コード例 #3
0
def do_zone_build(ztype, view, root_domain, zone_path):

    view_obj, _ = View.objects.get_or_create(name=view)
    if ztype == 'forward':
        svn_zones = {
            root_domain.replace('mozilla.com', ''):
            ((collect_svn_zone(root_domain, zone_path, settingsZONE_PATH)), '')
        }
        populate_forward_dns(svn_zones, view=view_obj)
    elif ztype == 'reverse':
        rev_svn_zones = {
            root_domain: ('', ((collect_rev_svn_zone(root_domain, zone_path,
                                                     settingsZONE_PATH)), ''))
        }
        populate_reverse_dns(rev_svn_zones, view=view_obj)
    else:
        print "Slob"
コード例 #4
0
ファイル: dns_build.py プロジェクト: alecdhuse/cyder
def zone_build_from_config(job=None):
    """
    This is so f****d. We can't run all of these at once because it causes the
    box to run out of memory.
    """
    if not job:
        print "Jobs are: external, dc, private_reverse"
        return
    import dns
    if job == "external":
        from cyder.dnsutils.migrate.zone_configs.external import external
        for config in external:
            zone_path = config['path']
            root_domain = config['zone_name']
            name_reversed = config['name_reversed']
            ztype = config['direction']
            view = config['view']
            relative_path = config['relative_path']
            if view == "both":
                private, _ = View.objects.get_or_create(name="private")
                public, _ = View.objects.get_or_create(name="public")
                views = [private, public]
            else:
                view_obj, _ = View.objects.get_or_create(name=view)
                views = [view_obj]

            try:
                if ztype == 'f':
                    print view
                    svn_zone = collect_svn_zone(
                        root_domain, zone_path, settingsZONE_PATH)
                    populate_forward_dns(svn_zone, root_domain,
                                         views=views)
                    del svn_zone
                if ztype == 'r':
                    rev_svn_zones = {root_domain: (
                        '', ((collect_rev_svn_zone(root_domain, zone_path,
                        settingsZONE_PATH)), ''))}
                    populate_reverse_dns(rev_svn_zones, views=views)
            except dns.zone.NoSOA, e:
                print "----------------------"
                print "ERROR: NoSOA()"
                print zone_path
                print "----------------------"
        return
コード例 #5
0
ファイル: dns_build.py プロジェクト: alecdhuse/cyder
            zone_path = config['path']
            root_domain = config['zone_name']
            name_reversed = config['name_reversed']
            ztype = config['direction']
            view = config['view']
            relative_path = config['relative_path']
            if view == "both":
                private, _ = View.objects.get_or_create(name="private")
                public, _ = View.objects.get_or_create(name="public")
                views = [private, public]
            else:
                view_obj, _ = View.objects.get_or_create(name=view)
                views = [view_obj]
            if ztype == 'r':
                rev_svn_zones = {root_domain: (
                    '', ((collect_rev_svn_zone(root_domain, zone_path,
                    settingsZONE_PATH)), ''))}
                populate_reverse_dns(rev_svn_zones, views=views)


def populate_reverse_dns(rev_svn_zones, views=None):
    arpa = create_domain(name='arpa')
    i_arpa = create_domain(name='in-addr.arpa')
    i6_arpa = create_domain(name='ipv6.arpa')

    for site, data in rev_svn_zones.iteritems():
        site_path, more_data = data
        zone, records = more_data
        print "-" * 15 + " " + site

        for (name, ttl, rdata) in zone.iterate_rdatas('SOA'):
            print str(name) + " SOA " + str(rdata)
コード例 #6
0
            root_domain = config['zone_name']
            name_reversed = config['name_reversed']
            ztype = config['direction']
            view = config['view']
            relative_path = config['relative_path']
            if view == "both":
                private, _ = View.objects.get_or_create(name="private")
                public, _ = View.objects.get_or_create(name="public")
                views = [private, public]
            else:
                view_obj, _ = View.objects.get_or_create(name=view)
                views = [view_obj]
            if ztype == 'r':
                rev_svn_zones = {
                    root_domain:
                    ('', ((collect_rev_svn_zone(root_domain, zone_path,
                                                settingsZONE_PATH)), ''))
                }
                populate_reverse_dns(rev_svn_zones, views=views)


def populate_reverse_dns(rev_svn_zones, views=None):
    arpa = create_domain(name='arpa')
    i_arpa = create_domain(name='in-addr.arpa')
    i6_arpa = create_domain(name='ipv6.arpa')

    for site, data in rev_svn_zones.iteritems():
        site_path, more_data = data
        zone, records = more_data
        print "-" * 15 + " " + site

        for (name, ttl, rdata) in zone.iterate_rdatas('SOA'):