Марченко Михаил
Участник
- Регистрация
- 22.10.24
- Сообщения
- 10
- Реакции
- 2
Прошу помочь в отладке скрипта задания автоматизации установки агента.
Задача такая - Всё должно выполняться в чёткой последовательности:
1. update_apt должен выполняться только после set_ksc_repo
2. install_kscagent_if_not_installed должен выполняться только после завершения update_apt
3. load_file_answer в принципе может выполнятся и сам по себе, но лучше бы он выполнился после завершения install_kscagent_if_not_installed
4. postinstall_ksc_agent должен выполняться при условии, что корректно завершился install_kscagent_if_not_installed и выполнился load_file_answer.
Понимаю, что чего-то не дочитал в умных книжках и там всё это есть, но очень уж не хватает времени на полное изучение всего.
По факту проблемы такие:
1. postinstall_ksc_agent может запуститься ещё до того, как появился файл из load_file_answer
2. install_kscagent_if_not_installed может запуститься ещё до окончания update_apt
3. а в postinstall_ksc_agent видимо не срабатывает вся команда, а только её первая часть, где export, а всё, что после ; уже не выполняется
Помогите, пожалуйста, настроить очерёдность, условия выполнения и правильно передать составную команду в postinstall_ksc_agent.
Задача такая - Всё должно выполняться в чёткой последовательности:
1. update_apt должен выполняться только после set_ksc_repo
2. install_kscagent_if_not_installed должен выполняться только после завершения update_apt
3. load_file_answer в принципе может выполнятся и сам по себе, но лучше бы он выполнился после завершения install_kscagent_if_not_installed
4. postinstall_ksc_agent должен выполняться при условии, что корректно завершился install_kscagent_if_not_installed и выполнился load_file_answer.
Понимаю, что чего-то не дочитал в умных книжках и там всё это есть, но очень уж не хватает времени на полное изучение всего.
По факту проблемы такие:
1. postinstall_ksc_agent может запуститься ещё до того, как появился файл из load_file_answer
2. install_kscagent_if_not_installed может запуститься ещё до окончания update_apt
3. а в postinstall_ksc_agent видимо не срабатывает вся команда, а только её первая часть, где export, а всё, что после ; уже не выполняется
Помогите, пожалуйста, настроить очерёдность, условия выполнения и правильно передать составную команду в postinstall_ksc_agent.
YAML:
{% set ksc_agent_answers = 'http://urr61-rep01.urr61.esk/repos/ksc-agent/kscagent_answers.txt' %}
{% do salt.log.info("ksc_agent_answers: " + ksc_agent_answers) %}
{% set ksc_agent_answers_filename = salt['file.basename'](ksc_agent_answers) %}
{% do salt.log.info("ksc_agent_answers_filename: " + ksc_agent_answers_filename) %}
{% set ksc_agent_answers_new = "/tmp/kscagent_install/" + ksc_agent_answers_filename %}
{% do salt.log.info("ksc_agent_answers_new: " + ksc_agent_answers_new) %}
set_ksc_repo:
file.managed:
- name: /etc/apt/sources.list.d/ksc.list
- contents:
- deb [trusted=yes] http://urr61-rep01.urr61.esk/repos/ksc-agent/ kscagent main
- mode: 644
- create: true
- replace: true
update_apt:
cmd.run:
- name: 'apt-get update'
install_kscagent_if_not_installed:
cmd.run:
- name: "apt-get install -y klnagent64"
- unless: 'dpkg -l | grep -q klnagent64'
- shell: /bin/bash
- watch:
- cmd: update_apt
load_file_answer:
file.managed:
- name: {{ ksc_agent_answers_new }}
- source: {{ ksc_agent_answers }}
- makedirs: true
- create: true
- replace: true
- skip_verify: true
postinstall_ksc_agent:
cmd.run:
- name: "export KLAUTOANSWERS={{ ksc_agent_answers_new }}; /opt/kaspersky/klnagent64/lib/bin/setup/postinstall.pl"
- unless: 'dpkg -l | grep -q klnagent64'
- shell: /bin/bash
- watch:
- cmd: install_kscagent_if_not_installed