Esempio n. 1
0
    def test_08_modify_connection_2(self):
        nm = NMCLI()
        dns_server = ""

        rc, _, _ = nm.modify('connection', 'dummy-dummy0',
                             {'ipv4.dns': dns_server})
        self.assertEqual(rc, 0)
        rc, stdout, stderr = nm.show('connection',
                                     'dummy-dummy0',
                                     field='ipv4.dns')
        self.assertEqual(stdout, {b'ipv4.dns': b''})
Esempio n. 2
0
    def test_08_modify_connection_1(self):
        nm = NMCLI()
        ipaddresses = ['198.51.100.1/24', '203.0.113.1/24']
        dnsservers = ['8.8.8.8', '8.8.4.4']

        rc, _, _ = nm.modify('connection', 'dummy-dummy0', {
            '+ipv4.addresses': ipaddresses,
            '+ipv4.dns': dnsservers
        })
        self.assertEqual(rc, 0)
        rc, stdout, stderr = nm.show('connection',
                                     'dummy-dummy0',
                                     field='ipv4.addresses')
        self.assertEqual(stdout, {
            b'ipv4.addresses':
            b'192.0.2.1/24, 198.51.100.1/24, 203.0.113.1/24'
        })
        rc, stdout, stderr = nm.show('connection',
                                     'dummy-dummy0',
                                     field='ipv4.dns')
        self.assertEqual(stdout, {b'ipv4.dns': b'1.1.1.1,8.8.8.8,8.8.4.4'})
Esempio n. 3
0
# Comma separated str(should be no white space), list or tuple is accepted.
returncode, stdout, stderr = nm.show('device', 'ens33', field='common')
print(NMCLI_EXIT_STATUS(returncode), stdout, stderr.decode('utf8'))

# show connection specified by name(i.e. ens33)
# Argument for 'field' is same explained above.
returncode, stdout, stderr = nm.show('connection', 'ens33', field='connection.id,connection.type')
print(NMCLI_EXIT_STATUS(returncode), stdout, stderr.decode('utf8'))

# modify device settings
# Target device is specified by name(i.e. ens38)
# Setting properties are specified by dict. The key is property name,
# the value is its value.
# Some properties are able to have multiple values. In this situation
# the values should be specified by list or tuple.
returncode, stdout, stderr = nm.modify('device', 'ens38', properties={'ipv4.method':'auto', '-ipv4.addresses':'192.168.17.22', '-ipv4.dns':'8.8.8.8'})
print(NMCLI_EXIT_STATUS(returncode), stdout.decode('utf8'), stderr.decode('utf8'))

# modify connection settings
# Target connection is specified by name(i.e. wired1)
# Argument for properties is same explained above.
returncode, stdout, stderr = nm.modify('connection', 'wired1', properties={'ipv4.method':'auto', '+ipv4.dns':('8.8.8.8', '8.8.4.4', '1.1.1.1')})
print(NMCLI_EXIT_STATUS(returncode), stdout.decode('utf8'), stderr.decode('utf8'))

# add a connection
# First argument is for connection name. It is must be specified.
# Argument for properties is same explainded above.
returncode, stdout, stderr = nm.add_connection('bridge', properties={'ifname':'br0', 'con-name':'bridge-br0', 'ipv4.method':'manual', 'ipv4.addresses':'172.18.0.1/16', 'bridge.stp':'no'})
print(NMCLI_EXIT_STATUS(returncode), stdout.decode('utf8'), stderr.decode('utf8'))

# delete connection