Hello
I have a bunch of custom services linked to a service aka jbossas
eg.
chkconfig --list | grep jboss
jboss.jvm1 0:off 1:off 2:off 3:off 4:off 5:off
6:off
jboss.jvm2 0:off 1:off 2:off 3:off 4:off 5:off
6:off
Is there a way with Ansilbe to check for the existence of a service ie.
jboss.jvm[1-8] if conditional do X
I have tried with nested_loops but this looks seems extremely ineffeciant
to connect and check for each of the possible 48 services for each node in
ansible.
ideally a state=present in the service module would be great to use in a
scnearios where you need to query a bunch of nodes to find a particular
service and aka, patch or change a config based on its presence
Example
Playbook
---
- hosts: all
tasks:
# - shell: echo "nested test a={{ item[0] }} b={{ item[1] }} c={{
item[2] }}"
- shell: chkconfig --list {{ item[0] }}.{{ item[1] }}{{ item[2] }} >>
/tmp/cmd.out
with_nested:
- [ 'jboss' ]
- [ 'jvm', 'wsas', 'tas', 'las', 'esas', 'scas']
- [ 1, 2, 3, 4, 5 ,6, 7, 8 ]
register: cmd_result
failed_when: "'error' in cmd_result.stderr"
ignore_errors: yes
(Psudeo)
When match
Template: src=/files/config/appserver.conf.j2
dest=/etc/sysconfig/service.{{item}}.config
notifiy: restart {{ item[0] }}.{{ item[1] }}{{ item[2] }}
Handler:
- name=restart {{ item[0] }}.{{ item[1] }}{{ item[2] }}
- service: name={{ item[0] }}.{{ item[1] }}{{ item[2] }}
state=restarted
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/f2770d98-df6d-436a-ace2-5f14232171b6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.