如何解决saltstack为centos7添加自定义服务,执行cmd.run "systemctl daemon-reload"后,service.running依然提示服务不可用
当我使用 saltstack(ver:2018.3.1 (Oxygen)) 部署定制服务时,sls:
#salt command line: salt 'SaltStack-01' state.sls devops.installService pillar='{"name": "cmdb-agent"}'
#If the service is already installed and running,stop it first
stopService:
service.dead:
- name: {{ pillar['name'] }}
#- require:
# - service: {{ pillar['name'] }}
#copy executable files
agent:
file.managed:
- name: /usr/sbin/{{ pillar['name'] }}
- source: salt://devops/installServiceFile/{{ pillar['name'] }}
- user: root
- group: root
- mode: 744
#systemd reload for centos7
systemd-reload:
#module.run:
# - name: service.systemctl_reload
cmd.run:
- name: systemctl --system daemon-reload && systemctl status cmdb-agent
#install service
installService:
file.managed:
{% if grains['osmajorrelease'] == 7 %}
- name: /usr/lib/systemd/system/{{ pillar['name'] }}.service
- source: salt://devops/installServiceFile/{{ pillar['name'] }}_Centos7.service
- onchanges_in:
- cmd: systemd-reload
{% else %}
- name: /etc/init.d/{{ pillar['name'] }}
- source: salt://devops/installServiceFile/{{ pillar['name'] }}_Centos6.service
{% endif %}
- user: root
- group: root
- mode: 755
#Start service and set the service to start on boot
startService:
service.running:
- name: {{ pillar['name'] }}
- enable: True
cmd.run "systemctl daemon-reload && systemctl status cmdb-agent"可以生效,"systemctl status cmdb-agent"可以显示服务状态但是service.runging会提示"service xxxx is not available",像这样
[root@xxx] salt-call -l debug state.sls devops.installService pillar='{"name": "cmdb-agent"}'
local:
----------
ID: stopService
Function: service.dead
Name: cmdb-agent
Result: True
Comment: The named service cmdb-agent is not available
Started: 17:16:53.491952
Duration: 95.617 ms
Changes:
----------
ID: agent
Function: file.managed
Name: /usr/sbin/cmdb-agent
Result: True
Comment: File /usr/sbin/cmdb-agent is in the correct state
Started: 17:16:53.594176
Duration: 505.695 ms
Changes:
----------
ID: installService
Function: file.managed
Name: /usr/lib/systemd/system/cmdb-agent.service
Result: True
Comment: File /usr/lib/systemd/system/cmdb-agent.service updated
Started: 17:16:54.102273
Duration: 80.155 ms
Changes:
----------
diff:
New file
mode:
0755
----------
ID: systemd-reload
Function: cmd.run
Name: systemctl --system daemon-reload && systemctl status cmdb-agent
Result: False
Comment: Command "systemctl --system daemon-reload && systemctl status cmdb-agent" run
Started: 17:16:54.183318
Duration: 156.69 ms
Changes:
----------
pid:
179954
retcode:
3
stderr:
stdout:
* cmdb-agent.service - CMDB agent
Loaded: loaded (/usr/lib/systemd/system/cmdb-agent.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2021-07-29 15:55:03 CST; 1h 21min ago
Main PID: 173362 (code=killed,signal=TERM)
Jul 29 15:54:32 SHMGMT009025105 systemd[1]: Started CMDB agent.
Jul 29 15:55:03 SHMGMT009025105 systemd[1]: Stopping CMDB agent...
Jul 29 15:55:03 SHMGMT009025105 systemd[1]: Stopped CMDB agent.
----------
ID: startService
Function: service.running
Name: cmdb-agent
Result: False
Comment: The named service cmdb-agent is not available
Started: 17:16:54.340724
Duration: 1.703 ms
Changes:
Summary for local
------------
Succeeded: 3 (changed=2)
Failed: 2
------------
Total states run: 5
Total run time: 839.860 ms
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。