def _InstallIpfw(self): ipfw_bin = binary_manager.FindPath('ipfw', self.GetArchName(), self.GetOSName()) ipfw_mod = binary_manager.FindPath('ipfw_mod.ko', self.GetArchName(), self.GetOSName()) try: changed = cloud_storage.GetIfChanged(ipfw_bin, cloud_storage.INTERNAL_BUCKET) changed |= cloud_storage.GetIfChanged( ipfw_mod, cloud_storage.INTERNAL_BUCKET) except cloud_storage.CloudStorageError as e: logging.error(str(e)) logging.error('You may proceed by manually building and installing' 'dummynet for your kernel. See: ' 'http://info.iet.unipi.it/~luigi/dummynet/') sys.exit(1) if changed or not self.CanLaunchApplication('ipfw'): if not self._IsIpfwKernelModuleInstalled(): subprocess.check_call(['/usr/bin/sudo', 'insmod', ipfw_mod]) os.chmod(ipfw_bin, 0o755) subprocess.check_call( ['/usr/bin/sudo', 'cp', ipfw_bin, '/usr/local/sbin']) assert self.CanLaunchApplication('ipfw'), 'Failed to install ipfw. ' \ 'ipfw provided binaries are not supported for linux kernel < 3.13. ' \ 'You may proceed by manually building and installing dummynet for ' \ 'your kernel. See: http://info.iet.unipi.it/~luigi/dummynet/'
def _InstallIpfw(self): ipfw_bin = binary_manager.FindPath('ipfw', self.GetArchName(), self.GetOSName()) ipfw_mod = binary_manager.FindPath('ipfw_mod.ko', self.GetArchName(), self.GetOSName()) try: changed = cloud_storage.GetIfChanged(ipfw_bin, cloud_storage.INTERNAL_BUCKET) changed |= cloud_storage.GetIfChanged( ipfw_mod, cloud_storage.INTERNAL_BUCKET) except cloud_storage.CloudStorageError, e: logging.error(str(e)) logging.error('You may proceed by manually building and installing' 'dummynet for your kernel. See: ' 'http://info.iet.unipi.it/~luigi/dummynet/') sys.exit(1)