从git存储库动态配置htcondor节点
condor_git_config的Python项目详细描述
钩子从git存储库动态配置htcondor节点。
挂钩概述
钩子集成到Condor配置文件中以执行以下工作流:
- 将git存储库提取到local缓存
- 使用模式选择配置文件
- 在condor中动态地include配置
要集成钩子,请在任何htcondor配置文件中使用include command语法:
includecommand:condor-git-confighttps://git.mydomain.com/condor-repos/condor-configs.git
使用说明
钩子至少需要Python3.3才能运行。
安装
安装程序提供condor-git-config可执行文件。 所有其他依赖项都将自动安装。
稳定版本
pip3 install condor_git_config
当前开发版本
git clone https://github.com/maxfischer2781/condor-git-config.git ./condor-git-config/setup.py install
参数文件
condor-git-config可执行文件可以使用@[前缀字符](https://docs.python.org/3/library/argparse.html#fromfile-prefix-chars) 从文件中读取参数。 这允许您在外部准备选项
echo $(hostname -d) >> /etc/mycloud/domain
让他们动态地调整配置
include command : condor-git-config --branch @/etc/mycloud/domain -- https://git.mydomain.com/condor-repos/condor-configs.git
配置递归
默认情况下,condor-git-config不会递归到子目录中。 这允许您有附加的配置,它是有条件集成的。 例如,考虑以下git存储库树:
|- commong.cfg |- security.cfg |- aaaron-cloud.cfg |- aaaron-cloud/ | |- overwrites.cfg | |- proxy.cfg |- beebee-cloud.cfg
默认情况下,aaaron-cloud文件夹将被忽略。 您可以有条件地包括*-cloud.cfg文件,如下所示:
--blacklist '.-cloud\.cfg' --whitelist @/etc/mycloud/flavour
这允许您进一步使用aaaron-cloud.cfg中的include来包含aaaron-cloud中的文件:
# aaaron-cloud.cfg include : $(GIT_CONFIG_CACHE_PATH)/overwrites.cfg include : $(GIT_CONFIG_CACHE_PATH)/proxy.cfg