def revert_snapshot(self, name): """Revert snapshot by name - Revert a libvirt snapshots for all nodes in the environment - Try to reload 'config' object from a file 'config_<name>.ini' If the file not found, then pass with defaults. - Set <name> as the current state of the environment after reload :param name: string """ LOG.info("Reverting from snapshot named '{0}'".format(name)) if self._env is not None: self._env.revert(name=name) LOG.info("Resuming environment after revert") self._env.resume() else: raise exceptions.EnvironmentIsNotSet() try: test_config_path = self._get_snapshot_config_name(name) settings_oslo.reload_snapshot_config(self.__config, test_config_path) except cfg.ConfigFilesNotFoundError as conf_err: LOG.error("Config file(s) {0} not found!".format( conf_err.config_files)) self.__config.hardware.current_snapshot = name
def start(self): """Method for start environment """ if self._env is None: raise exceptions.EnvironmentIsNotSet() self._env.start() for node in self.k8s_nodes: LOG.debug("Waiting for SSH on node '{}...'".format(node.name)) timeout = 360 helpers.wait( lambda: helpers.tcp_ping(self.node_ip(node), 22), timeout=timeout, timeout_msg="Node '{}' didn't open SSH in {} sec".format( node.name, timeout ) )
def create_snapshot(self, name, description=None): """Create named snapshot of current env. - Create a libvirt snapshots for all nodes in the environment - Save 'config' object to a file 'config_<name>.ini' :name: string """ LOG.info("Creating snapshot named '{0}'".format(name)) self.__config.hardware.current_snapshot = name LOG.info("current config '{0}'".format( self.__config.hardware.current_snapshot)) if self._env is not None: LOG.info('trying to suspend ....') self._env.suspend() LOG.info('trying to snapshot ....') self._env.snapshot(name, description=description, force=True) LOG.info('trying to resume ....') self._env.resume() else: raise exceptions.EnvironmentIsNotSet() settings_oslo.save_config(self.__config, name, self._env.name)
def stop(self): """Stop environment""" if self._env is None: raise exceptions.EnvironmentIsNotSet() self._env.destroy()
def suspend(self): """Suspend environment""" if self._env is None: raise exceptions.EnvironmentIsNotSet() self._env.suspend()
def resume(self): """Resume environment""" if self._env is None: raise exceptions.EnvironmentIsNotSet() self._env.resume()