Управление комплектом группы#
groupkit.py управляет загрузкой и переключением GroupKit.
Команды#
usage: groupkit.py [-h] cmd ...
positional arguments:
cmd
full_help Распечатать справку
push Загрузить комплект группы в общее хранилище
switch_local Переключить комплект по локальным hash-файлам
switch_remote Переключить комплект по hash-файлам из NFS
Push#
usage: groupkit.py push --namespace NAMESPACE --source SOURCE --destination DESTINATION [--validate-local-hashes]
Загружает GroupKit в системное NFS-хранилище через общий механизм push_basekit (тот же, что используется в AppKit).
Порядок работы:
Проверяются архивы/директории в
SOURCE; директории автоматически упаковываются в.zip.По умолчанию для каждого архива пересчитываются и перезаписываются оба hash-файла:
.sha1и.sha256.При
--validate-local-hashesуже существующие hash-файлы не перезаписываются, а валидируются; отсутствующие создаются автоматически.Локальный хэш сравнивается с хэшем на NFS; если совпадает, повторная загрузка пропускается.
При несовпадении архив и hash-файлы обновляются на NFS.
Если компонент отсутствует локально, его архив и hash-файлы удаляются из
DESTINATION.
Пример:
./groupkit.sh push --namespace gs-ctk --source workspace/groupkit --destination groupkit/v1
Switch_remote#
usage: groupkit.py switch_remote --config-path CONFIG_PATH --namespace NAMESPACE --resgroup RESGROUP --remote-groupkit REMOTE_GROUPKIT
Читает hash-файлы libs.zip/java.zip/fonts.zip из системного NFS (REMOTE_GROUPKIT) и записывает их в конфигурацию группы ресурсов.
Пример:
./groupkit.sh switch_remote --config-path ./config.yaml --resgroup gs-cluster-1 --namespace gs-ctk --remote-groupkit groupkit/v1
Switch_local#
usage: groupkit.py switch_local --config-path CONFIG_PATH --resgroup RESGROUP --local-groupkit LOCAL_GROUPKIT --remote-groupkit REMOTE_GROUPKIT
Читает hash-файлы libs.zip/java.zip/fonts.zip из локальной директории LOCAL_GROUPKIT и записывает их в конфигурацию группы ресурсов.
Пример:
./groupkit.sh switch_local --config-path ./config.yaml --resgroup gs-cluster-1 --local-groupkit workspace/groupkit --remote-groupkit groupkit/v1
Совместимость#
Команда
switchдля GroupKit удалена.Совместимый путь использования:
push(подготовка/сверка хэшей и загрузка в NFS) и затемswitch_remoteилиswitch_localдля фиксации hash-значений в конфигурации.