Я пытаюсь написать ansible
(версия 2.6.17) playbook для установки ignite
(2.7.6) на сервер linux в качестве службы systemd
.
Запуск Playbook завершается без сбоев.
PLAY [install ignite in servers]
************************************************************************************************
TASK [Gathering Facts]
*************************************************************************************
ok: [ignitehost1]
TASK [ignite/install : download and unarchive ignite binaries]
**********************************************************************************************
changed: [ignitehost1]
TASK [ignite/install : copy config file]
*****************************************************************************************
changed: [ignitehost1]
TASK [ignite/install : include_tasks]
*******************************************************************************
included: /home/platform/ignite/ansible-ignite/roles/ignite/install/tasks/systemd.yml for
ignitehost1
TASK [ignite/install : install ignite.service]
************************************************************************
changed: [ignitehost1] => (item={u'd': u'/etc/systemd/system', u'f': u'ignite.service'})
TASK [ignite/install : systemctl daemon-reload]
*****************************************************
ok: [ignitehost1]
TASK [ignite/install : start ignite]
******************************************************************************
changed: [ignitehost1]
TASK [ignite/install : check if ignite has started]
*****************************************************************************
changed: [ignitehost1]
PLAY RECAP
***********************************************************
ignitehost1 : ok=8 changed=5 unreachable=0 failed=0
Но мой запуск зажигания не удался по известным причинам. Как вы можете видеть из вывода статуса службы зажигания, представленного ниже, основной процесс завершился со статусом SUCCESS, что, как мне кажется, является причиной того, что мой прогон playbook был успешным. Есть ли какой-нибудь способ прервать мой прогон playbook, если есть возникли какие-либо ошибки при запуске моей службы.
sudo systemctl status ignite
? ignite.service
Loaded: loaded (/etc/systemd/system/ignite.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2020-03-16 16:10:32 IST; 12min ago
Process: 28938 ExecStart=/home/platform/ignite/tmp/apache-ignite-2.7.6-bin/bin/ignite.sh
(code=exited,
status=0/SUCCESS)
Main PID: 28938 (code=exited, status=0/SUCCESS)
at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1730)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1158)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1076)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:962)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:861)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:731)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:700)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: at org.apache.ignite.Ignition.start(Ignition.java:348)
Mar 16 16:10:32 ignitehost1 Ignite[28938]: ... 1 more
Mar 16 16:10:32 ignitehost1 Ignite[28938]: Failed to start grid: Cannot write to work directory:
/home/platform/ignite/tmp/apache-ig...in/work
Hint: Some lines were ellipsized, use -l to show in full.
Ниже приведен файл задачи для запуска воспламенения.
---
- name: install ignite.service
become: yes
become_user: root
with_items:
- f: ignite.service
d: /etc/systemd/system
template:
src: '{{ item.f }}.j2'
dest: '{{ item.d }}/{{ item.f }}'
mode: '{{ item.m|default("0644") }}'
register: ignite_service_installed
- name: systemctl daemon-reload
become: yes
become_user: root
systemd:
daemon_reload: yes
- name: start ignite
become: yes
become_user: root
service:
name: ignite
enabled: yes
state: started
Ниже приведен файл шаблона системного блока для службы воспламенения
Description=Apache Ignite Service
After=network.target
[Service]
Type=simple
WorkingDirectory="{{installation_dir}}/apache-ignite-{{ignite_version}}-bin"
User=platform
PrivateDevices=yes
ProtectSystem=full
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=10
ExecStart="{{installation_dir}}/apache-ignite-{{ignite_version}}-bin/bin/ignite.sh"
SyslogIdentifier=Ignite
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Alias=ignite.service