Bug 11150

Summary: memcached cannot start via systemd
Product: Mageia Reporter: Funda Wang <fundawang>
Component: RPM PackagesAssignee: Colin Guthrie <mageia>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Normal CC: mageia, sysadmin-bugs
Version: 3   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: memcached-1.4.13-7.mga3.src.rpm CVE:
Status comment:

Description Funda Wang 2013-09-04 04:23:58 CEST
# service memcached start
Starting memcached (via systemctl):  Failed to issue method call: Unit memcached.service failed to load: Invalid argument. See system logs and 'systemctl status memcached.service' for details.
# systemctl status memcached.service
memcached.service
          Loaded: error (Reason: Invalid argument)
          Active: inactive (dead)


I didn't test in mga3 and cauldron yet, but I think it should be the same.

Reproducible: 

Steps to Reproduce:
Funda Wang 2013-09-04 04:24:54 CEST

Assignee: bugsquad => mageia

Funda Wang 2013-09-04 04:25:01 CEST

Component: Release (media or process) => RPM Packages

Comment 1 Manuel Hiebel 2013-10-22 12:09:23 CEST
This message is a reminder that Mageia 2 is nearing its end of life.
Approximately one month from now Mageia will stop maintaining and issuing updates for Mageia 2. At that time this bug will be closed as WONTFIX (EOL) if it remains open with a Mageia 'version' of '2'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Mageia version prior to Mageia 2's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Mageia 2 is end of life.  If you would still like to see this bug fixed and are able to reproduce it against a later version of Mageia, you are encouraged to click on "Version" and change it against that version of Mageia.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Mageia release includes newer upstream software that fixes bugs or makes them obsolete.

-- 
The Mageia Bugsquad
Marc Krämer 2013-11-12 16:30:16 CET

CC: (none) => mageia
Version: 2 => 3

Marc Krämer 2013-11-12 16:30:54 CET

Source RPM: memcached-1.4.11-3.mga2.src.rpm => memcached-1.4.13-7.mga3.src.rpm

Comment 2 Marc Krämer 2013-11-12 16:39:49 CET
systemd reports the service as correctly started, but the pid file is missing & no process is running.

Running the command
/usr/bin/memcached -d -u memcached -l 127.0.0.1 -m 64 -t 4 -c 1024 -P /run/memcached/x

works, but if started from systemctl no process is forked.
Comment 3 Colin Guthrie 2013-11-12 16:50:06 CET
Memcache is a templated service so you enable however many instances you want and manage them accordingly.

$ systemctl enable memcached@11211.service [NB: Does not work on MGA2 - only MGA3+ - older versions need manual symlinking]
$ systemctl start memcached@11211.service
$ systemctl status memcached@11211.service

etc.

I run several separate instances of memcache here both under cauldron and MGA 3 and they all work fine.

As a shortcut you can start/stop all of them at once, but using memcached.target. e.g. "systemctl start memcached.target"
Comment 4 Marc Krämer 2013-11-12 16:56:32 CET
thanks - that wasn't obvious to me. I've never had a templated service.
I did expect to have an error message from systemctl status.
Comment 5 Colin Guthrie 2013-11-12 17:01:26 CET
On my MGA3 system it does generate an error for me... It perhaps didn't under MGA2 tho'?

[colin@marley ~]$ systemctl status memcached
memcached.service
	  Loaded: error (Reason: No such file or directory)
	  Active: inactive (dead)

[colin@marley ~]$ systemctl status memcached@11211
memcached@11211.service - Memcached NoSQL key+value store on port 11211
	  Loaded: loaded (/usr/lib/systemd/system/memcached@.service; enabled)
	  Active: active (running) since Sun, 2013-06-30 16:32:01 BST; 4 months and 13 days ago
	Main PID: 2426 (memcached)
	  CGroup: name=systemd:/system/memcached@.service/11211
		  â 2426 /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -U 112...


Even if you use the "service" wrapper script, it still reports an error "Cannot find service".

I do admit that templated services are a little trickier to see tho', but they should show up nicely in the "systemctl" output.
Comment 6 Marc Krämer 2013-11-12 17:05:21 CET
Thanks for your help. Now I know this kind of services.
I used bash-completion, which lead me to calling
systemctl start memcached.target
and I didn't notice. Sorry to bother you.

I'll close this ticket.

Status: NEW => RESOLVED
Resolution: (none) => INVALID

Comment 7 Colin Guthrie 2013-11-12 17:09:00 CET
No bother at all. Glad to help. And as I said we do need to make it a bit easier for user to see these kind of services. They are very useful for server installs with lots of instances of different daemons.

If you are curious: http://0pointer.de/blog/projects/instances.html

And I'd also recommend the full series of "systemd for Administrators" posts linked on this page: http://www.freedesktop.org/wiki/Software/systemd/