Управление комплектом группы

Управление комплектом группы#

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-значений в конфигурации.