def unpack(self, update=False, dryrun=False, nodeps=False, config=None): """ Unpacks a Nulecule application from a Nulecule image to a path or load a Nulecule that already exists locally. Args: update (bool): Update existing Nulecule application in app_path, if True dryrun (bool): Do not make any change to the host system nodeps (bool): Do not unpack external dependencies config (dict): Config data, if any, to use for unpacking Returns: A Nulecule instance. """ logger.debug('Request to unpack to %s to %s' % (self.image, self.app_path)) # If the user provided an image then unpack it and return the # resulting Nulecule. Else, load from existing path if self.image: return Nulecule.unpack(self.image, self.app_path, config=config, nodeps=nodeps, dryrun=dryrun, update=update) else: return Nulecule.load_from_path(self.app_path, dryrun=dryrun, config=config)
def unpack(self, update=False, dryrun=False, nodeps=False, config=None): """ Unpacks a Nulecule application from a Nulecule image to a path or load a Nulecule that already exists locally. Args: update (bool): Update existing Nulecule application in app_path, if True dryrun (bool): Do not make any change to the host system nodeps (bool): Do not unpack external dependencies config (dict): Config data, if any, to use for unpacking Returns: A Nulecule instance. """ logger.debug("Request to unpack to %s to %s" % (self.image, self.app_path)) # If the user provided an image then unpack it and return the # resulting Nulecule. Else, load from existing path if self.image: return Nulecule.unpack( self.image, self.app_path, config=config, nodeps=nodeps, dryrun=dryrun, update=update ) else: return Nulecule.load_from_path(self.app_path, dryrun=dryrun, config=config)
def stop(self, cli_provider, **kwargs): """ Stops a running Nulecule application. Args: cli_provider (str): Provider running the Nulecule application kwargs (dict): Extra keyword arguments """ # For stop we use the generated answer file from the run self.answers = Utils.loadAnswers(os.path.join(self.app_path, ANSWERS_RUNTIME_FILE)) dryrun = kwargs.get("dryrun") or False self.nulecule = Nulecule.load_from_path(self.app_path, config=self.answers, dryrun=dryrun) self.nulecule.load_config(config=self.answers) self.nulecule.render(cli_provider, dryrun=dryrun) self.nulecule.stop(cli_provider, dryrun)
def stop(self, **kwargs): """ Stops a running Nulecule application. Args: kwargs (dict): Extra keyword arguments """ # For stop we use the generated answer file from the run self.answers_file = os.path.join(self.app_path, ANSWERS_RUNTIME_FILE) self._process_answers() dryrun = kwargs.get("dryrun") or False self.nulecule = Nulecule.load_from_path(self.app_path, config=self.config, dryrun=dryrun) self.nulecule.load_config() self.nulecule.render(self.nulecule.config.get("provider"), dryrun=dryrun) self.nulecule.stop(self.nulecule.config.get("provider"), dryrun)
def stop(self, cli_provider, **kwargs): """ Stops a running Nulecule application. Args: cli_provider (str): Provider running the Nulecule application kwargs (dict): Extra keyword arguments """ self.answers = Utils.loadAnswers( os.path.join(self.app_path, ANSWERS_RUNTIME_FILE)) dryrun = kwargs.get('dryrun') or False self.nulecule = Nulecule.load_from_path(self.app_path, config=self.answers, dryrun=dryrun) self.nulecule.load_config(config=self.answers) self.nulecule.render(cli_provider, dryrun=dryrun) self.nulecule.stop(cli_provider, dryrun)
def stop(self, cli_provider, **kwargs): """ Stops a running Nulecule application. Args: cli_provider (str): Provider running the Nulecule application kwargs (dict): Extra keyword arguments """ # For stop we use the generated answer file from the run self.answers_file = os.path.join(self.app_path, ANSWERS_RUNTIME_FILE) self._process_answers() dryrun = kwargs.get('dryrun') or False self.nulecule = Nulecule.load_from_path( self.app_path, config=self.answers, dryrun=dryrun) self.nulecule.load_config(config=self.answers) self.nulecule.render(cli_provider, dryrun=dryrun) self.nulecule.stop(cli_provider, dryrun)
def test_invalid_nulecule_format(self): n = Nulecule('some-id', '0.0.2', {}, [], 'some/path') with pytest.raises(NuleculeException): n.load_from_path(src=os.path.dirname(__file__) + '/invalid_nulecule/')
def test_missing_nulecule(self): n = Nulecule('some-id', '0.0.2', {}, [], 'some/path') with pytest.raises(NuleculeException): n.load_from_path(src='foo/bar')
def test_invalid_nulecule_format(self): n = Nulecule("some-id", "0.0.2", {}, [], "some/path") with pytest.raises(NuleculeException): n.load_from_path(src=os.path.dirname(__file__) + "/invalid_nulecule/")
def test_missing_nulecule(self): n = Nulecule("some-id", "0.0.2", {}, [], "some/path") with pytest.raises(NuleculeException): n.load_from_path(src="foo/bar")
def get_answers(nulecule_path): nulecule = Nulecule.load_from_path(nulecule_path) nulecule.config = Config() nulecule.load_config(skip_asking=True) return nulecule.config.runtime_answers()
def test_invalid_nulecule_format(self): n = Nulecule('some-id', '0.0.2', {}, [], 'some/path') with pytest.raises(NuleculeException): n.load_from_path(src=os.path.dirname(__file__) + '/invalid_nulecule/')
def test_missing_nulecule(self): n = Nulecule('some-id', '0.0.2', {}, [], 'some/path') with pytest.raises(NuleculeException): n.load_from_path(src='foo/bar')