return update
- def set_capabilities(self, capabilities):
- return vserverimpl.setbcaps(self.ctx, vserverimpl.text2bcaps(capabilities))
+ def get_prefix_from_capabilities(self, capabilities, prefix):
+ split_caps = capabilities.split(',')
+ return ",".join(["%s" % (c) for c in split_caps if c.startswith(prefix.upper()) or c.startswith(prefix.lower())])
+
+ def get_bcaps_from_capabilities(self, capabilities):
+ return self.get_prefix_from_capabilities(capabilities, "cap_")
+
+ def get_ccaps_from_capabilities(self, capabilities):
+ return self.get_prefix_from_capabilities(capabilities, "vxc_")
def set_capabilities_config(self, capabilities):
- self.config.update('bcapabilities', capabilities)
- self.set_capabilities(capabilities)
+ bcaps = self.get_bcaps_from_capabilities(capabilities)
+ ccaps = self.get_ccaps_from_capabilities(capabilities)
+ self.config.update('bcapabilities', bcaps)
+ self.config.update('ccapabilities', ccaps)
+ ret = vserverimpl.setbcaps(self.ctx, vserverimpl.text2bcaps(bcaps))
+ if ret > 0:
+ return ret
+ return vserverimpl.setccaps(self.ctx, vserverimpl.text2ccaps(ccaps))
def get_capabilities(self):
- return vserverimpl.bcaps2text(vserverimpl.getbcaps(self.ctx))
+ bcaps = vserverimpl.bcaps2text(vserverimpl.getbcaps(self.ctx))
+ ccaps = vserverimpl.ccaps2text(vserverimpl.getccaps(self.ctx))
+ if bcaps and ccaps:
+ ccaps = "," + ccaps
+ return (bcaps + ccaps)
def get_capabilities_config(self):
- return self.config.get('bcapabilities', '')
+ bcaps = self.config.get('bcapabilities', '')
+ ccaps = self.config.get('ccapabilities', '')
+ if bcaps and ccaps:
+ ccaps = "," + ccaps
+ return (bcaps + ccaps)
def set_ipaddresses(self, addresses):
vserverimpl.netremove(self.ctx, "all")