34
34
class TestInterfacesUpdates(agent_test.TestCase):
36
def _run_test(self, dist, infiles=None, version=None, **config):
38
for label, options in config.iteritems():
39
interface = {'label': label, 'mac': options['hwaddr']}
36
def _run_test(self, dist, infiles=None, version=None, **configs):
38
for ifname, options in configs.iteritems():
39
interface = {'mac': options['hwaddr']}
42
42
for ip, netmask in options.get('ipv4', []):
43
ip4s.append({'enabled': '1', 'ip': ip, 'netmask': netmask})
44
interface['ips'] = ip4s
43
ip4s.append({'address': ip,
45
interface['ip4s'] = ip4s
46
if options.get('gateway4'):
47
interface['gateway'] = options['gateway4']
47
interface['gateway4'] = options.get('gateway4')
50
50
for ip, netmask in options.get('ipv6', []):
51
ip6s.append({'enabled': '1',
51
ip6s.append({'address': ip,
52
'prefixlen': netmask})
54
53
interface['ip6s'] = ip6s
56
if options.get('gateway6'):
57
interface['gateway6'] = options['gateway6']
55
interface['gateway6'] = options.get('gateway6')
59
57
if options.get('dns'):
60
58
interface['dns'] = options['dns']
62
interfaces.append(interface)
60
interface['routes'] = []
62
interfaces[ifname] = interface
79
79
'gateway4': '192.0.2.1',
80
80
'dns': ['192.0.2.2'],
82
outfiles = self._run_test('redhat', public=interface)
82
outfiles = self._run_test('redhat', eth0=interface)
83
83
self.assertTrue('ifcfg-eth0' in outfiles)
84
84
self.assertEqual(outfiles['ifcfg-eth0'], '\n'.join([
85
85
'# Automatically generated, do not edit',
102
102
'gateway6': '2001:db8::1',
103
103
'dns': ['2001:db8::2'],
105
outfiles = self._run_test('redhat', public=interface)
105
outfiles = self._run_test('redhat', eth0=interface)
106
106
self.assertTrue('ifcfg-eth0' in outfiles)
107
107
self.assertEqual(outfiles['ifcfg-eth0'], '\n'.join([
108
108
'# Automatically generated, do not edit',
125
125
'gateway4': '192.0.2.1',
126
126
'dns': ['192.0.2.2'],
128
outfiles = self._run_test('debian', public=interface)
128
outfiles = self._run_test('debian', eth0=interface)
129
129
self.assertTrue('interfaces' in outfiles)
130
130
self.assertEqual(outfiles['interfaces'], '\n'.join([
131
131
'# Used by ifup(8) and ifdown(8). See the interfaces(5) '
150
150
'gateway6': '2001:db8::1',
151
151
'dns': ['2001:db8::2'],
153
outfiles = self._run_test('debian', public=interface)
153
outfiles = self._run_test('debian', eth0=interface)
154
154
self.assertTrue('interfaces' in outfiles)
155
155
self.assertEqual(outfiles['interfaces'], '\n'.join([
156
156
'# Used by ifup(8) and ifdown(8). See the interfaces(5) '
182
182
'gateway4': '192.0.2.1',
183
183
'dns': ['192.0.2.2'],
185
outfiles = self._run_test('arch', infiles, public=interface,
185
outfiles = self._run_test('arch', infiles, eth0=interface,
186
186
version='legacy')
187
187
self.assertTrue('/etc/rc.conf' in outfiles)
188
188
self.assertEqual(outfiles['/etc/rc.conf'], '\n'.join([
206
206
'gateway6': '2001:db8::1',
207
207
'dns': ['2001:db8::2'],
209
outfiles = self._run_test('arch', infiles, public=interface,
209
outfiles = self._run_test('arch', infiles, eth0=interface,
210
210
version='legacy')
211
211
self.assertTrue('/etc/rc.conf' in outfiles)
212
212
self.assertEqual(outfiles['/etc/rc.conf'], '\n'.join([
228
228
'gateway4': '192.0.2.1',
229
229
'dns': ['192.0.2.2'],
231
outfiles = self._run_test('arch', infiles, public=interface,
231
outfiles = self._run_test('arch', infiles, eth0=interface,
232
232
version='netcfg')
233
233
self.assertTrue('/etc/rc.conf' in outfiles)
234
234
self.assertEqual(outfiles['/etc/rc.conf'], '\n'.join([
257
257
'gateway6': '2001:db8::1',
258
258
'dns': ['2001:db8::2'],
260
outfiles = self._run_test('arch', infiles, public=interface,
260
outfiles = self._run_test('arch', infiles, eth0=interface,
261
261
version='netcfg')
262
262
self.assertTrue('/etc/rc.conf' in outfiles)
263
263
self.assertEqual(outfiles['/etc/rc.conf'], '\n'.join([
279
279
'gateway4': '192.0.2.1',
280
280
'dns': ['192.0.2.2'],
282
outfiles = self._run_test('gentoo', public=interface, version='legacy')
282
outfiles = self._run_test('gentoo', eth0=interface, version='legacy')
283
283
self.assertTrue('net' in outfiles)
284
284
self.assertEqual(outfiles['net'], '\n'.join([
285
285
'# Automatically generated, do not edit',
300
300
'gateway6': '2001:db8::1',
301
301
'dns': ['2001:db8::2'],
303
outfiles = self._run_test('gentoo', public=interface, version='legacy')
303
outfiles = self._run_test('gentoo', eth0=interface, version='legacy')
304
304
self.assertTrue('net' in outfiles)
305
305
self.assertEqual(outfiles['net'], '\n'.join([
306
306
'# Automatically generated, do not edit',
321
321
'gateway4': '192.0.2.1',
322
322
'dns': ['192.0.2.2'],
324
outfiles = self._run_test('gentoo', public=interface, version='openrc')
324
outfiles = self._run_test('gentoo', eth0=interface, version='openrc')
325
325
self.assertTrue('net' in outfiles)
326
326
self.assertEqual(outfiles['net'], '\n'.join([
327
327
'# Automatically generated, do not edit',
338
338
'gateway6': '2001:db8::1',
339
339
'dns': ['2001:db8::2'],
341
outfiles = self._run_test('gentoo', public=interface, version='openrc')
341
outfiles = self._run_test('gentoo', eth0=interface, version='openrc')
342
342
self.assertTrue('net' in outfiles)
343
343
self.assertEqual(outfiles['net'], '\n'.join([
344
344
'# Automatically generated, do not edit',
355
355
'gateway4': '192.0.2.1',
356
356
'dns': ['192.0.2.2'],
358
outfiles = self._run_test('suse', public=interface)
358
outfiles = self._run_test('suse', eth0=interface)
359
359
self.assertTrue('ifcfg-eth0' in outfiles)
360
360
self.assertEqual(outfiles['ifcfg-eth0'], '\n'.join([
361
361
"# Automatically generated, do not edit",
373
373
'gateway6': '2001:db8::1',
374
374
'dns': ['2001:db8::2'],
376
outfiles = self._run_test('suse', public=interface)
376
outfiles = self._run_test('suse', eth0=interface)
377
377
self.assertTrue('ifcfg-eth0' in outfiles)
378
378
self.assertEqual(outfiles['ifcfg-eth0'], '\n'.join([
379
379
"# Automatically generated, do not edit",