- vserver.VServer.set_disklimit(self, disk_max)
- except OSError: logger.log_exc()
-
- net_limits = (self.rspec['net_min'], self.rspec['net_max'], self.rspec['net2_min'], self.rspec['net2_max'], self.rspec['net_share'])
- logger.log('%s: setting net limits to %s bps' % (self.name, net_limits[:-1]))
- logger.log('%s: setting net share to %d' % (self.name, net_limits[-1]))
- self.set_bwlimit(*net_limits)
+ vserver.VServer.set_disklimit(self, max(disk_max, self.disk_blocks))
+ except:
+ logger.log('%s: failed to set max disk usage' % self.name)
+ logger.log_exc(self.name)
+
+ # get/set the min/soft/hard values for all of the vserver
+ # related RLIMITS. Note that vserver currently only
+ # implements support for hard limits.
+ for limit in vserver.RLIMITS.keys():
+ type = limit.lower()
+ minimum = self.rspec['%s_min'%type]
+ soft = self.rspec['%s_soft'%type]
+ hard = self.rspec['%s_hard'%type]
+ self.set_rlimit_config(limit, hard, soft, minimum)
+
+ if False: # this code was commented out before
+ # N.B. net_*_rate are in kbps because of XML-RPC maxint
+ # limitations, convert to bps which is what bwlimit.py expects.
+ net_limits = (self.rspec['net_min_rate'] * 1000,
+ self.rspec['net_max_rate'] * 1000,
+ self.rspec['net_i2_min_rate'] * 1000,
+ self.rspec['net_i2_max_rate'] * 1000,
+ self.rspec['net_share'])
+ logger.log('%s: setting net limits to %s bps' % (self.name, net_limits[:-1]))
+ logger.log('%s: setting net share to %d' % (self.name, net_limits[-1]))
+ self.set_bwlimit(*net_limits)