Здравствуйте!
Пользуюсь одним из последних livecd cldx-20131001-i686.iso в качестве pxe-образа.
При старте системы remote-шаблоны по действуию ac_client_domain==on выполняются два раза.
В init-скрипте /etc/init.d/client есть строчка:
64 echo "cl-client $SERVERLIVE && cl-setup-system -T remote &>/dev/null"
Если её заменить на:
cl-client $SERVERLIVE
то remote-шаблоны выполняются один раз за загрузку, как и положено.
Это ошибка, особенность или я что-то не понимаю?
cl-client запускает наложение только с ac_client_domain==on
, а cl-setup-system -T remote
настраивает систему шаблонами из remote не только ac_client_domain==on
.
Т.е. ac_client_domain==on выполняется два раза - зачем? Как это обойти?
Т.е. я бы понял, если cl-client запускал бы ТОЛЬКО ac_client_domainon, а cl-setup-system -T remote ВСЁ КРОМЕ ac_client_domainon.
А так получается - двойной запуск скриптов. И это баг, как мне кажется…
Т.е. ac_client_domain==on выполняется два раза - зачем? Как это обойти?
Обычный случай: есть шаблоны в overlay и local (/var/calculate/templates) - они выполнятся при cl-client --mount (remote еще не подключен), затем выполняются все шаблоны подключенные в remote. Как у Вас шаблоны выполняются дважды?
Запускаются шаблоны из: /var/calculate/remote/templates/client/domain
Где:
cat .calculate_directory
# Calculate append=skip env=client pkg(sys-apps/calculate-client)!=&&ac_client_domain==on
Выполнение шаблонов видно по выводу логов запуска. В частности при запуске:
/var/calculate/remote/templates/client/domain/pxe_client/2start/10_start_sshd.sh
выполняется:
cat 10_start_sshd.sh
# Calculate exec=/bin/bash path=/tmp
echo "Starting 10_start_sshd.sh ..."
/etc/init.d/sshd start
:
По логам старта системы видно, что sshd пытается запускаться два раза.
В файл init.d/client
есть строка, оставленная для запуска настройки утилитами версии 2.2:
cl-client $SERVERLIVE && cl-setup-system -l remote &>/dev/null
а не
cl-client $SERVERLIVE && cl-setup-system -T remote &>/dev/null
Поэтому шаблоны remote дважды выполняться не будут. В новой версии client система вначале будет настроена overlay,local шаблонами, при вводе в домен, а затем система будет настроена шаблонами remote.
cl-client -T overlay,local $SERVERLIVE && res=$? && cl-setup-system -T remote &>/dev/null
Обновления будут в calculate-client-3.1.9-r1
На самом деле при старте системы cl-setup-system ругалась на неизвестный параметр -T, поэтому вручную поменял на -l
Обновления будут в calculate-client-3.1.9-r1
Будем пробовать