~wesley-wiedenmeier/curtin/reporting-cleanup-rebase

« back to all changes in this revision

Viewing changes to tests/unittests/test_net.py

  • Committer: Wesley Wiedenmeier
  • Date: 2016-05-07 02:31:14 UTC
  • mfrom: (377.1.10 trunk)
  • Revision ID: wesley.wiedenmeier@gmail.com-20160507023114-v05qnvbru44608sw
MergedĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
55
55
        self.assertEqual({
56
56
            'eth0': {
57
57
                'auto': True,
 
58
                'control': 'auto',
58
59
                'family': 'inet',
59
60
                'method': 'manual',
60
61
                '_source_path': '/etc/network/interfaces',
62
63
            'eth1': {
63
64
                'auto': True,
64
65
                'family': 'inet',
 
66
                'control': 'auto',
65
67
                'method': 'manual',
66
68
                '_source_path': '/etc/network/interfaces',
67
69
                },
68
70
            }, ifaces)
69
71
 
70
 
    def test_parse_deb_config_data_error_on_redefine(self):
71
 
        contents = dedent("""\
72
 
            iface eth0 inet static
73
 
            address 192.168.1.2
74
 
            iface eth0 inet static
75
 
            address 192.168.1.3
76
 
            """)
77
 
        ifaces = {}
78
 
        self.assertRaises(
79
 
            net.ParserError,
80
 
            net.parse_deb_config_data,
81
 
            ifaces, contents, '', '/etc/network/interfaces')
82
 
 
83
72
    def test_parse_deb_config_data_commands(self):
84
73
        contents = dedent("""\
85
74
            iface eth0 inet manual
465
454
 
466
455
    def test_render_persistent_net(self):
467
456
        ns = self.get_net_state()
468
 
        udev_rules = ('# Autogenerated by curtin\n' +
469
 
                      'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ' +
470
 
                      'ATTR{address}=="cf:d6:af:48:e8:80", NAME="eth1"\n' +
471
 
                      'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ' +
 
457
        udev_rules = ('# Autogenerated by curtin\n'
 
458
                      'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", '
 
459
                      'ATTR{address}=="cf:d6:af:48:e8:80", NAME="eth1"\n'
 
460
                      'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", '
472
461
                      'ATTR{address}=="c0:d6:9f:2c:e8:80", NAME="eth0"\n')
473
462
        persist_net_rules = net.render_persistent_net(ns.network_state)
474
463
        self.assertEqual(sorted(udev_rules.split('\n')),
476
465
 
477
466
    def test_render_interfaces(self):
478
467
        ns = self.get_net_state()
479
 
        ifaces = ('auto lo\n' + 'iface lo inet loopback\n' +
480
 
                  '    dns-nameservers 1.2.3.4 5.6.7.8\n' +
481
 
                  '    dns-search wark.maas\n' +
482
 
                  'auto eth0\n' + 'iface eth0 inet dhcp\n\n' +
483
 
                  'auto eth0:1\n' +
484
 
                  'iface eth0:1 inet static\n' +
485
 
                  '    address 192.168.21.3/24\n' +
486
 
                  '    dns-nameservers 8.8.8.8 8.8.4.4\n' +
487
 
                  '    dns-search barley.maas sach.maas\n\n' +
488
 
                  'iface eth1 inet manual\n\n')
 
468
        ifaces = dedent("""\
 
469
            auto lo
 
470
            iface lo inet loopback
 
471
                dns-nameservers 1.2.3.4 5.6.7.8
 
472
                dns-search wark.maas
 
473
 
 
474
            auto eth0
 
475
            iface eth0 inet dhcp
 
476
 
 
477
            auto eth0:1
 
478
            iface eth0:1 inet static
 
479
                address 192.168.21.3/24
 
480
                dns-nameservers 8.8.8.8 8.8.4.4
 
481
                dns-search barley.maas sach.maas
 
482
 
 
483
            iface eth1 inet manual
 
484
 
 
485
            source /etc/network/interfaces.d/*.cfg
 
486
            """)
489
487
        net_ifaces = net.render_interfaces(ns.network_state)
490
488
        print(ns.network_state.get('interfaces'))
491
489
        self.assertEqual(sorted(ifaces.split('\n')),
495
493
        bond_config = open('examples/tests/bonding_network.yaml', 'r').read()
496
494
 
497
495
        ns = self.get_net_state(bond_config)
498
 
        ifaces = ('auto lo\n' +
499
 
                  'iface lo inet loopback\n\n' +
500
 
                  'auto eth0\n' +
501
 
                  'iface eth0 inet dhcp\n\n' +
502
 
                  'auto eth1\n' +
503
 
                  'iface eth1 inet manual\n' +
504
 
                  '    bond-master bond0\n' +
505
 
                  '    bond-mode active-backup\n\n' +
506
 
                  'auto eth2\n' +
507
 
                  'iface eth2 inet manual\n' +
508
 
                  '    bond-master bond0\n' +
509
 
                  '    bond-mode active-backup\n\n' +
510
 
                  'auto bond0\n' +
511
 
                  'iface bond0 inet static\n' +
512
 
                  '    address 10.23.23.2/24\n' +
513
 
                  '    bond-mode active-backup\n' +
514
 
                  '    hwaddress 52:54:00:12:34:06\n' +
515
 
                  '    bond-slaves none\n')
 
496
        ifaces = dedent("""\
 
497
            auto lo
 
498
            iface lo inet loopback
 
499
 
 
500
            auto eth0
 
501
            iface eth0 inet dhcp
 
502
 
 
503
            auto eth1
 
504
            iface eth1 inet manual
 
505
                bond-mode active-backup
 
506
                bond-master bond0
 
507
 
 
508
            auto eth2
 
509
            iface eth2 inet manual
 
510
                bond-mode active-backup
 
511
                bond-master bond0
 
512
 
 
513
            auto bond0
 
514
            iface bond0 inet static
 
515
                address 10.23.23.2/24
 
516
                bond-mode active-backup
 
517
                hwaddress 52:54:00:12:34:06
 
518
                bond-slaves none
 
519
 
 
520
            source /etc/network/interfaces.d/*.cfg
 
521
            """)
 
522
        net_ifaces = net.render_interfaces(ns.network_state)
 
523
        print("\n".join(list(map(str,
 
524
                                 enumerate(sorted(ifaces.split('\n')))))))
 
525
        print("\n^^ LOCAL -- RENDER vv")
 
526
        print("\n".join(list(map(str,
 
527
                                 enumerate(sorted(net_ifaces.split('\n')))))))
 
528
        print(ns.network_state.get('interfaces'))
 
529
        self.assertEqual(sorted(ifaces.split('\n')),
 
530
                         sorted(net_ifaces.split('\n')))
 
531
 
 
532
    def test_render_interfaces_iscsiroot(self):
 
533
        iscsi_config = open('examples/network-iscsiroot.yaml', 'r').read()
 
534
 
 
535
        ns = self.get_net_state(iscsi_config)
 
536
        ifaces = dedent("""\
 
537
            auto lo
 
538
            iface lo inet loopback
 
539
 
 
540
            # control-manual eth0
 
541
            iface eth0 inet dhcp
 
542
 
 
543
            auto eth1
 
544
            iface eth1 inet static
 
545
                address 192.168.14.2/24
 
546
                gateway 192.168.14.1
 
547
                mtu 1492
 
548
 
 
549
            auto eth1:1
 
550
            iface eth1:1 inet static
 
551
                address 192.168.14.4/24
 
552
                mtu 1492
 
553
 
 
554
            allow-hotplug eth2
 
555
            iface eth2 inet static
 
556
                gateway 10.11.12.1
 
557
                address 10.11.12.13/22
 
558
 
 
559
            source /etc/network/interfaces.d/*.cfg
 
560
            """)
516
561
        net_ifaces = net.render_interfaces(ns.network_state)
517
562
        print("\n".join(sorted(ifaces.split('\n'))))
518
563
        print("\n^^ LOCAL -- RENDER vv")
521
566
        self.assertEqual(sorted(ifaces.split('\n')),
522
567
                         sorted(net_ifaces.split('\n')))
523
568
 
524
 
 
525
569
# vi: ts=4 expandtab syntax=python