bug in service module when enabling multiple systemd (multi-instance) services?

385 views
Skip to first unread message

Nusenu

unread,
Apr 3, 2015, 5:57:07 PM4/3/15
to ansible...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,

I'm enabling multiple instances of a service via:

service: name=tor@{{ item }}.service enabled=yes state=started
with_items:
- foo
- bar


Both services get started properly but only the first gets enabled
persistently. There is only one link created under:
/etc/systemd/system/multi-user.target.wants/

Can anyone confirm this bug or am I missing something?

thanks,
Nusenu


ansible version: 1.8.4
target: debian jessie (systemd version: 215)

Background about systemd instances:
http://0pointer.de/blog/projects/instances.html
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVHwyeAAoJEFv7XvVCELh0GbUP/084+D3yFdK2T+Y+lvYaT69Q
vBDUvo8ShUeMh/DDkA0llr5SgzKvKUbxWu9BXShFLrJXo4r7KRVsRaFuEbhwowJ6
bi5bPdUmzB4Hx4axI1BjR/QK8SxNXGowpp2fNk7+lmap5v/rxMqLGsVJxe4teN0g
e4lu7qyTceu8cjo8aBOYzrHp6UP5Q6otYSpynL2hii/jjy9/LIf24kxQwioJZR2U
pP9rAoY+aW6Meg/tH9i4LbJSIGuoflZqiwfd/qrSkrzGhbyPpO5GNIO1BO4pHK5/
3+URf64XGY6IUzVBYaGZhmEsXDMVBuN6dhuz7d1UO8HgQazhomh9nPXyYFu0fNsU
2aNawlIUH9fi6WUqA3trefzKnkM1Fn6c7uwURsgabGJ57w+NRVd+c9yeQJzmKR0e
pj905kXl5zb5T1eBlgN0DREQ3kxTptXDwDwqRJKjqIRcR2zaI+1rpWvi7xeo81oU
mVYNYMXvvy/LEHZFqkGikReAMOWu+qU+7G9JPiXdqcaClPdiaDbL5V9mgP8wF1dl
2RilmkyTPJos64a9MCMkmwJW43v1BKX0kpAKRmpFgxveUTEgToM7RLsfaAT9tEFc
MHM6cMdNiciP0lJRCo62eGQv+uqYl4SuLipAk/QIaW0ruFqHkXkqPosDJGeApH+F
fc++mKbPHXc2eBrD2fha
=rUlw
-----END PGP SIGNATURE-----

Nusenu

unread,
Apr 3, 2015, 6:46:40 PM4/3/15
to ansible...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

> Can anyone confirm this bug or am I missing something?

Ok, the problem seems to be that ansible probably runs status on the
particular service before enabling it (to avoid unnecessary systemctl
enable commands?).

systemctl output for the *not* enabled service looks like this:

systemctl status t...@bar.service
��t...@bar.service - Anonymizing overlay network for TCP
Loaded: loaded (/lib/systemd/system/tor@.service; enabled)
Active: inactive (dead)


So once a particular multi-instance unit file has been enabled at
least once, systemctl will always return enabled - no matter what
instance we ask for. So now I'm not sure whether this is the way how
systemctl is supposed to behave or if that is an upstream bug.

I'll ask on systemd-devel..
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVHxhAAAoJEFv7XvVCELh0RBAQALkBr5nE8IayWr02ERwUfZbz
SiG4fJLCn//Hsj/ZOEv4FUKaZi64bWKAYZ6f1XT2F6dRwRIhqELI1g45Y5nTizKY
kEHAiEcvfcHtoRqdbUrBoaP7oTrlh/Sb+bku1/L/ZPypfRAwHddPYFm0lrsv2uoV
GHyCnCj+ByuKk7Qj4VpBF1oIpDzsE27Arsn/V3qpeh+26kH78K/qi72sjwjWL1Sw
jD825gmWl0mELyzuUfI7SPUPbxXRvP0AnHP6sX3RZ5axjf0K4im6XHendH3EYT9/
RzxRRrgs6mFcpyGYkR5IMaWBt6N+t6ZL1NI/r3rniEO/B0SjMCXxDEj7YrZHBfOo
diYwoveHg06NBCTWMO2cZvrHuN0uZLIXegMIQ2xY4qszNWuCkwbeGx8ePH3Gp1v1
AZ47dDZND5TysXLORYetY7Afzc1MsePghgCCrgUdHxIbTeGbM0SIJBL6Q+SOxXat
BSRWpylQ+bFNCRqE/o/u3JxvJQy390pNBMOTS18GyIpXpgtxZogZAWBa/PkLKg3t
GdsaDV64mUCsY2EQbeZ0CQHDEGx/l/QK4epR/iCsqUEH1waiwTDjnxhBxg59O0kt
lA/2hjkKyV/4alQ4k2LlH17jNOGAv7A2nLdymBzem9/wv/WDkmcQ/rLGPljXR+D3
6BIclvh3yFuP8NLru1tK
=gi3O
-----END PGP SIGNATURE-----

Nusenu

unread,
Apr 3, 2015, 7:42:56 PM4/3/15
to ansible...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Nusenu:
> Ok, the problem seems to be that ansible probably runs status on
> the particular service before enabling it (to avoid unnecessary
> systemctl enable commands?).

actually the service module executes [1]:
systemctl is-enabled t...@bar.service

which should be fine.

Since there is no get_systemd_service_enabled() in my local service.py
(ansible 1.8.4) I guess this has been fixed in ansible >1.8.4?

One more reason to upgrade to 1.9..





[1]
https://github.com/ansible/ansible-modules-core/blob/devel/system/service.py#L486
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVHyVnAAoJEFv7XvVCELh0tK4QAIwWAp58tHUkr9XPrOk5lUIH
+gzZgfhdjaqkkdcG3J4kEef3cM1ekDZRdnQ7vCTclTmhQN4dj52PYa4R4tHmWica
Q/8v6CoNAvpxQic2+olC/gsfCIkebiPy3wVO4shvgzKCEkkXeY2kLC2ZQU7jDMQb
RGp9vZZzQF085buK7ZiApreNzottW8tpypBgRWxcnE/0qqkV6w78U4t6vJSzASsJ
Jrm1m3DlTAVW8VG6RU/V/i6NiON3695hE6KSkYlpKxMKPUeimsqoKKDmQ9gKa/RE
ySEvW1kaIfKYfpVTapWRLSowoVywQcWHYaNjsTJ9tVIZOQoyglWVcwh3dSSLHbAY
sngBoFVxBEowWHGHQbB2xpxx2R+C/ImStDIuKsr4/uxSW/GCWi98l/pp5QlWQZHM
YfA7eMeMGEKvU/Fi26s8PW980wh8ayGvmcX1dNkC2bOsRHJrOCAKHrPFDIxGefNF
O36mxyU3CM5fRv2lSt5jf7ycRMxUKurrlwWztr17wlo8C/2cqGrmm7mUMZUgBXMM
5ecFv0zM2trVYKZ1HgglKN7UlT+cxKkot8bKQ5RPe9DXBUn3QXL5tgmso8MU5ZSQ
JercZBLYNaQfdNb8F2AyMM6SHiZeJVm5ERXELGfvn/OFHYCD5YMgtRFpFMQceKv9
lgdYHkY19cHE/t+MKkrO
=IiOw
-----END PGP SIGNATURE-----

Nusenu

unread,
Apr 4, 2015, 2:32:35 AM4/4/15
to ansible...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

> Since there is no get_systemd_service_enabled() in my local
> service.py (ansible 1.8.4) I guess this has been fixed in ansible
> >1.8.4?
>
> One more reason to upgrade to 1.9..

Indeed, works fine with ansible v1.9.
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVH4V4AAoJEFv7XvVCELh0/J8P/RczbW+el6wnTUsTO+yyf8+6
ox//eFaQ5uRYGhNngJXh3MoTl/T+r7ZSvG2bxSD+AINkHJpXCLbBPIKay43/+ZG5
9jZ11cmU1xF+XUftP/ZY+BRlPJSlm2H+Pagb1V3B8ryF8Qiwl4aJSYZ2BO5X9MI2
ySjyoYinwlvHrGUki3pTnwKn9UV55FVmwW84HOwj2nfsPSxqRbPDnDF8sWTz1Gmm
0kGsitPYfQBtZiw4ReCr5LJeiq8D3vdx0N4+XWJ+qi9H6or5fFq4kVtSKAYxm6kW
2y/27TeWDDcRX4ZpzEG/tlvSSaMCu4TCqGrczdgV6qnfiXtKpMI4HamRo/qQArlS
yT8dtFw3jkQbnFB/Zs+en61KUywmsXyFg/FIULQCwywihxsx1E8YNIratDVE4bFi
rXUY3DsyWlbhtYek8dl8iKN/q24VzK5QPIcTIWmb/5mKJow/RXkXw0z3oBTG2yJJ
8xBbXv8SYHV38iz2l2U1ymoelweZnYwfkt0/Kua2hAkWwtzgBzlmQdSLSlfJd2D6
ncX+XuDULQjDZaFwJ7FkdBQYzd0ngY6fUnn5Sv/I7E8jKx8mnrqwoDThqe+1jYre
Rlh8++cxvpBlGcQC3ukcmzQacT86hhLjc/ktyx7e9z0D0aISdJtCbZgDuxklP6X6
ELK67OVydsHPLEn61QKa
=AVlW
-----END PGP SIGNATURE-----

James Cammarata

unread,
Apr 6, 2015, 11:41:18 AM4/6/15
to ansible...@googlegroups.com
Hi, yes definitely test this out with either devel or 1.9.x to see if the issue has been fixed (I know there were some fixes in service regarding systemd). If not, definitely let us know or open a github issue.

Thanks!

James Cammarata
Director, Ansible Core Engineering
github: jimi-c

-----END PGP SIGNATURE-----

--
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/551F2568.6090600%40openmailbox.org.
For more options, visit https://groups.google.com/d/optout.

Nusenu

unread,
Apr 6, 2015, 11:48:02 AM4/6/15
to ansible...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,

> Hi, yes definitely test this out with either devel or 1.9.x to see
> if the issue has been fixed (I know there were some fixes in
> service regarding systemd). If not, definitely let us know or open
> a github issue.

As I wrote [1] on 2015-04-04 6:32 +0000 it works fine with 1.9.0.1-1.
(maybe I shouldn't have changed the subject?)



[1]
https://groups.google.com/forum/#!msg/ansible-project/OmJhOGmymH8/lxOQBDkHWWgJ

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJVIqqfAAoJEFv7XvVCELh05YwP/1iLeBjK0QNl0+ym+3iElpgn
kg0l2/icrLVf8+2FWr9mPcndD2dEUW6DEKDkYvAmd/3IowqeFs9JUtSd7w4GOvI3
fb2phPw6tL12vf/9r8EfeWZVhvL6A0mGtnm/EvN8LEu9rzygcuIZyd13eZKoeKhF
VrjtnTS71R/UnsoB4Tevk1FaF0clDfbSFhtvZQ3mgxCm04BjTmhVMlLTJCuywhrV
LQUNNWHTU+TLTD0NxUmMT4G5UGBmr7AQ6Q1FmYdY6SQoeL0uIRbPZtC3aj0YZb+z
5WIHncUcfhnjlasm0Emjez4rquNGJ9Hgouc8ml38I0mxdDFudJZjjgZLkSZmuNo3
7dYGlzbxkKb0c8cvwj49vXIx0+tRLRy0q2Rplj9iz/IdYW2xt58WsCHbRpCJcpr+
w8eXgCn9iG1zWijYqwCvbvYwvkRSXLBCsc9nHvO84DObGdWhDftaB/wWWWmqTYAs
aqJnGPatMGr/mYnZL4RtYxSs7Vw3nEjjqTvYlmggNFiz38/R0khh7slKBRI3wxFe
5VmWShqKn1Xt32t0X4jXSHgWr2Zf+5UGEf52t44f0w6vvOz8RbM+G/SzeT1MAvFo
7vCcilNK8Yr2jb5fESXTW2oPNvoT9Kt1+zZs7DWDcmthqc7g6sV4Iv/2KmHuGbia
LpqZXavuLisPHIH8ptXW
=thTR
-----END PGP SIGNATURE-----

James Cammarata

unread,
Apr 6, 2015, 11:50:57 AM4/6/15
to ansible...@googlegroups.com
My apologies, I hadn't gotten to that one in the ML yet. Groups put that in a new thread instead of in-line with this one, so definitely keep the subject for on-topic replies.

Thanks!

James Cammarata
Director, Ansible Core Engineering
github: jimi-c

-----END PGP SIGNATURE-----

--
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.
Reply all
Reply to author
Forward
0 new messages