View | Details | Raw Unified | Return to bug 36341
Collapse All | Expand All

(-)a/branches/ucs-3.2/ucs-3.2-3/base/univention-system-setup/debian/changelog (+1 lines)
 Lines 1-6    Link Here 
1
univention-system-setup (7.0.69-62) unstable; urgency=low
1
univention-system-setup (7.0.69-62) unstable; urgency=low
2
2
3
  * Bug #36339: Fix miimon UCR variable
3
  * Bug #36339: Fix miimon UCR variable
4
  * Bug #36341: Fix bond-primary UCR variable
4
5
5
 -- Philipp Hahn <hahn@univention.de>  Wed, 29 Oct 2014 15:03:49 +0100
6
 -- Philipp Hahn <hahn@univention.de>  Wed, 29 Oct 2014 15:03:49 +0100
6
7
(-)a/branches/ucs-3.2/ucs-3.2-3/base/univention-system-setup/umc/python/setup/network.py (-16 / +12 lines)
 Lines 109-118   class Interfaces(dict): Link Here 
109
			device = Device.from_dict(values, self)
109
			device = Device.from_dict(values, self)
110
			self[device.name] = device
110
			self[device.name] = device
111
111
112
#	def finalize(self):
113
#		self.check_consistency()
114
#		return self.to_ucr()
115
116
	def to_ucr(self):
112
	def to_ucr(self):
117
		"""Returns a UCR representation of all interfaces"""
113
		"""Returns a UCR representation of all interfaces"""
118
		ucr.load()
114
		ucr.load()
 Lines 636-642   class VLAN(Device): Link Here 
636
class Bond(Device):
632
class Bond(Device):
637
	"""A network bonding interface"""
633
	"""A network bonding interface"""
638
634
639
	modes = {
635
	MODES = {
640
		'balance-rr': 0,
636
		'balance-rr': 0,
641
		'active-backup': 1,
637
		'active-backup': 1,
642
		'balance-xor': 2,
638
		'balance-xor': 2,
 Lines 645-651   class Bond(Device): Link Here 
645
		'balance-tlb': 5,
641
		'balance-tlb': 5,
646
		'balance-alb': 6
642
		'balance-alb': 6
647
	}
643
	}
648
	modes_r = dict((v, k) for k, v in modes.iteritems())
644
	MODES_R = dict((v, k) for k, v in MODES.iteritems())
649
645
650
	def clear(self):
646
	def clear(self):
651
		super(Bond, self).clear()
647
		super(Bond, self).clear()
 Lines 696-708   class Bond(Device): Link Here 
696
		self.check_unique_interface_usage()
692
		self.check_unique_interface_usage()
697
693
698
	def validate_bond_mode(self):
694
	def validate_bond_mode(self):
699
		if self.bond_mode is not None:
695
		if self.bond_mode is None:
700
			try:
696
			return
701
				bond_mode = int(self.bond_mode)
697
		if self.bond_mode in self.MODES:
702
				if bond_mode not in self.modes_r and bond_mode not in self.modes:
698
			return
703
					raise ValueError
699
		try:
704
			except ValueError:
700
			self.MODES_R[int(self.bond_mode)]
705
				raise DeviceError(_('Invalid bond-mode: %r') % (self.bond_mode), self.name)
701
		except (ValueError, KeyError):
702
			raise DeviceError(_('Invalid bond-mode: %r') % (self.bond_mode,), self.name)
706
703
707
	@property
704
	@property
708
	def subdevice_names(self):
705
	def subdevice_names(self):
 Lines 726-732   class Bond(Device): Link Here 
726
					self.bond_mode = int(value)
723
					self.bond_mode = int(value)
727
				except ValueError:
724
				except ValueError:
728
					try:
725
					try:
729
						self.bond_mode = self.modes[value.strip()]
726
						self.bond_mode = self.MODES[value.strip()]
730
					except KeyError:
727
					except KeyError:
731
						pass  # invalid mode
728
						pass  # invalid mode
732
			elif name in ('bond-miimon', 'miimon'):
729
			elif name in ('bond-miimon', 'miimon'):
 Lines 744-750   class Bond(Device): Link Here 
744
				'bond-slaves %s' % (' '.join(self.bond_slaves),),
741
				'bond-slaves %s' % (' '.join(self.bond_slaves),),
745
				'bond-mode %s' % (self.bond_mode,),
742
				'bond-mode %s' % (self.bond_mode,),
746
				]
743
				]
747
		if self.bond_mode == 1 and self.bond_primary:
744
		if self.bond_mode in (1, '1') and self.bond_primary:
748
			options.append('bond-primary %s' % (' '.join(self.bond_primary),))
745
			options.append('bond-primary %s' % (' '.join(self.bond_primary),))
749
		if self.miimon is not None:
746
		if self.miimon is not None:
750
			options.append('bond-miimon %s' % (self.miimon,))
747
			options.append('bond-miimon %s' % (self.miimon,))
751
- 

Return to bug 36341