Module service: Controlling priorities/dependencies between services

96 views
Skip to first unread message

Jacek

unread,
Sep 12, 2014, 9:47:42 AM9/12/14
to ansible...@googlegroups.com
Hi all,

I wanted to start two services A, B while B depends on A (B should start only after A is started). I can't see a way in the current service module to force the priority of the installed service. Have you got any ideas how to attack the problem, preferably in a cross-platform (at least cross-Linux) manner.

I use Ubuntu 14.04 which doesn't honour the LSB init header because there are some legacy services there. The only way I managed to do it from command line is setting priority manually like:

sudo update-rc.d A defaults
sudo update-rc.d B defaults 25


  Any help appreciated.

  Cheers,
  Jacek

Michael DeHaan

unread,
Sep 12, 2014, 9:56:40 AM9/12/14
to ansible...@googlegroups.com
This sounds like a Linux question about init systems rather than an Ansible question.

I'd suggest asking about how to tailor your init script on a site like StackOverflow* or reading up on the documentation for upstart, SysV, or whatever you are using.   

These are usually pretty straightforward, but not cross-Linux in nature - you'll probably need to template your init script or package a couple of them to account for OS differences.

* = note StackOverflow isn't great for AnsibleQuestions, this list is definitely better for that

--
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 ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/c6f965ae-fd01-465f-9c80-4b9019815fe5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jacek

unread,
Sep 12, 2014, 10:25:19 AM9/12/14
to ansible...@googlegroups.com
Thanks Michael for suggestion.

The trouble is that in my case there seem not to be any other way than stating priority manually during service installation (as in the given example). I think the quickest (dirty) approach is to run a command to install the script.

  Thanks anyway,
  Jacek

Michael DeHaan

unread,
Sep 12, 2014, 10:28:28 AM9/12/14
to ansible...@googlegroups.com
"The trouble is that in my case there seem not to be any other way than stating priority manually during service installation (as in the given example)"

The Linux/Unit init systems do allow you to specify service start preconditions as to which services need to be started first.

Perhaps I didn't understand the question.


Jacek

unread,
Sep 12, 2014, 11:46:51 AM9/12/14
to ansible...@googlegroups.com
They do unless they work in the legacy mode (see: http://manpages.ubuntu.com/manpages/natty/man8/update-rc.d.8.html and look for .legacy-bootordering). As mentioned, in my case there are a few "legacy" services in the default Ubuntu Server 14.04 installation that make the system to work in the legacy mode. In effect, this means I need to set priorities manually during service installation because the LSB init header gets ignored.

  Best,
  Jacek
Reply all
Reply to author
Forward
0 new messages