def init(reset_config, skip_logging=False): if os.path.exists(os.path.join( utils.get_cwd(), constants.CLOUDIFY_WD_SETTINGS_DIRECTORY_NAME, constants.CLOUDIFY_WD_SETTINGS_FILE_NAME)): if not reset_config: msg = 'Current directory is already initialized' error = exceptions.CloudifyCliError(msg) error.possible_solutions = [ "Run 'cfy init -r' to force re-initialization " "(might overwrite existing " "configuration files if exist) " ] raise error else: shutil.rmtree(os.path.join( utils.get_cwd(), constants.CLOUDIFY_WD_SETTINGS_DIRECTORY_NAME)) settings = utils.CloudifyWorkingDirectorySettings() utils.dump_cloudify_working_dir_settings(settings) utils.dump_configuration_file() configure_loggers() if not skip_logging: get_logger().info('Initialization completed successfully')
def test_get_existing_init_path_from_inner_dir(self): # first create the init init_path = os.path.join(utils.get_cwd(), constants.CLOUDIFY_WD_SETTINGS_DIRECTORY_NAME) os.mkdir(init_path) # switch working directory to inner one new_cwd = os.path.join(utils.get_cwd(), 'test_get_existing_init_path') os.mkdir(new_cwd) utils.get_cwd = lambda: new_cwd self.assertEqual(utils.get_init_path(), init_path)
def test_get_existing_init_path_from_init_dir(self): # first create the init init_path = os.path.join(utils.get_cwd(), constants.CLOUDIFY_WD_SETTINGS_DIRECTORY_NAME) os.mkdir(init_path) self.assertEqual(utils.get_init_path(), init_path)
def test_get_init_path_from_outside_dir(self): # first create the init init_path = os.path.join(utils.get_cwd(), constants.CLOUDIFY_WD_SETTINGS_DIRECTORY_NAME) os.mkdir(init_path) # switch working directory to outer one new_cwd = os.path.dirname(os.path.dirname(init_path)) utils.get_cwd = lambda: new_cwd self.assertRaises(CloudifyCliError, utils.get_context_path)
def _load_env(): if not os.path.isdir(_storage_dir()): error = exceptions.AriaCliError( '{0} has not been initialized with a blueprint.' .format(utils.get_cwd())) # init was probably not executed. # suggest solution. error.possible_solutions = [ "Run 'aria init -p [path-to-blueprint]' in this directory" ] raise error return futures.aria_local.load_env(name=_NAME, storage=_storage())
def _load_env(): if not os.path.isdir(_storage_dir()): error = exceptions.CloudifyCliError( '{0} has not been initialized with a blueprint.' .format(utils.get_cwd())) # init was probably not executed. # suggest solution. error.possible_solutions = [ "Run 'aria init' in this directory" ] raise error return local.load_env(name=_NAME, storage=_storage())
def _storage_dir(): return os.path.join(utils.get_cwd(), _STORAGE_DIR_NAME)