KIWI_CONFIG handling
This commit is contained in:
parent
23ef20bd74
commit
5c300b9119
3 changed files with 7 additions and 25 deletions
|
@ -32,8 +32,8 @@ class Instance:
|
|||
return self.directory.joinpath(CONFIG_DIRECTORY_NAME)
|
||||
|
||||
@property
|
||||
def storage_config_directory(self):
|
||||
return self.config.storage.directory.joinpath(CONFIG_DIRECTORY_NAME)
|
||||
def storage_directory(self):
|
||||
return self.config.storage.directory
|
||||
|
||||
@staticmethod
|
||||
def __find_net(net_name):
|
||||
|
|
|
@ -64,9 +64,7 @@ class Rootkit:
|
|||
return argument
|
||||
|
||||
elif isinstance(argument, Path):
|
||||
if argument.is_absolute():
|
||||
argument = argument.relative_to("/")
|
||||
|
||||
argument = argument.absolute().relative_to("/")
|
||||
return str(ROOTKIT_PREFIX.joinpath(argument))
|
||||
|
||||
elif not isinstance(argument, Sequence):
|
||||
|
|
|
@ -44,36 +44,20 @@ class Services:
|
|||
yield from service.configs
|
||||
|
||||
def copy_configs(self) -> None:
|
||||
path_str_list = TypeVar("path_str_list", Union[Path, str], List[Union[Path, str]])
|
||||
|
||||
def prefix_path(path: path_str_list, prefix: Path) -> path_str_list:
|
||||
if isinstance(path, Path):
|
||||
return prefix.absolute().joinpath(path)
|
||||
|
||||
elif isinstance(path, str):
|
||||
return prefix_path(Path(path), prefix)
|
||||
|
||||
elif isinstance(path, list):
|
||||
return [prefix_path(p, prefix) for p in path]
|
||||
|
||||
project = self.parent_project
|
||||
configs = list(self.configs)
|
||||
|
||||
if project is None:
|
||||
if project is None or not configs:
|
||||
return
|
||||
|
||||
instance = project.parent_instance
|
||||
cfgs = list(self.configs)
|
||||
|
||||
local_cfgs = prefix_path(cfgs, instance.config_directory)
|
||||
storage_cfgs = prefix_path(cfgs, instance.storage_config_directory)
|
||||
storage_dirs = [path.parent for path in storage_cfgs]
|
||||
|
||||
Rootkit("rsync").run([
|
||||
"mkdir", "-p", storage_dirs
|
||||
"mkdir", "-p", instance.storage_directory
|
||||
], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
|
||||
Rootkit("rsync").run([
|
||||
"rsync", "-rpt", list(zip(local_cfgs, storage_cfgs))
|
||||
"rsync", "-rpt", instance.config_directory, instance.storage_directory
|
||||
], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
|
||||
@property
|
||||
|
|
Loading…
Reference in a new issue