-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[3.6.13] - Service file contains inline comments after systemd parameters #1422
Comments
It would help immensely if you provided at least some information about your distribution, systemd version and such. Somehow the packages pass a test suite on a dozen of platforms. Anyhow, it is easy enough to remove those comments. |
@michaelklishin I'm running Ubuntu 16.04, and I installed rabbitmq via puppet+packagecloud as part of an OpenStack deployment. Is there any more info you need from me? What do you mean by systems version? After reading more about comments in service files it seems inline comments are not permitted by systemd: "Empty lines and lines starting with "#" or ";" are ignored. This may be used for commenting." Inline comments are not permitted. Since I'm doing a puppet deployment, removing the comments is easier said then done on my end since I'm deploying to lots of hosts, and the rest of the installation requires that rabbit is functional before continuing. Thanks for looking into this. |
I meant systemd version, a word not known to autocomplete. I removed all inline comments and I guess will be producing an emergency release now. |
@michaelklishin Thank you very much!! |
Hm, probably not until I QA rabbitmq/rabbitmq-management#508 and the pipeline tells me things are not obviously broken (hey, they are looking OK without this change already). |
Just FYI, systemd --version gives me: systemd 229 I'm not sure how this would have passed tests and not reloaded the service constantly since it's unsupported usage of service files, at least with my version of systemd. |
The tests start, restart and stop the service plus do some basic sanity checking. |
@mctwynne is there any chance you can try the version currently in stable? It will likely take about 2 hours for the pipeline to pass and looks like producing a final (or even one-off package) may have to wait until tomorrow (Nov 8th) because I'm on the road and have limited access to our infrastructure. |
@michaelklishin I don't know if or how I can specify a specific version with puppet. I haven't found a way yet. Any chance you might know? |
@mctwynne I didn't find anything that would override the .service file in the module. I am going to upload a one-off package here, at least you should be able to try it with |
If you just want to know if removing the inline comments works, it does. I've deleted them and restarted the service, and no longer get the errors. |
@michaelklishin I'm assuming that would be the only change in the package you'd upload? |
That and rabbitmq/rabbitmq-management#508. |
@mctwynne please give this a try |
I don't have 16.04 handy but our package tests that cover some 7-8 distributions that use systemd still pass and I did some manual testing on 17.04. Works like a charm. I also tested 3.6.13 manually and somehow I cannot reproduce this issue on 17.04. We will discuss doing an emergency 3.6.14 release with the team shortly. |
FTR, my test VM has |
Here is what is reported on our Ubuntu 16.04 VM used for testing packages:
So indeed the errors appear in the log, however they don't prevent the service from starting. That's why the errors remain unnoticed. Perhaps systemd can run in a stricter mode; I'll do some research to understand why it fails to start for you and not us. |
I found systemd-analyze(1) which offers a |
3.6.14 is out, thanks to @dumbbell our test suite now includes system spec file validation. |
With the release of 3.6.13 it looks like comments were added to the systemd service file units, which is not permitted. From what I understand they must be on new lines only.
If the Arch wiki is anything to go by: "Tip: Comments prepended with # may be used in unit-files as well, but only in new lines. Do not use end-line comments after systemd parameters or the unit will fail to activate."
After installing 3.6.13 I get the following errors in syslog:
[/lib/systemd/system/rabbitmq-server.service:17] Failed to parse service restart specifier, ignoring: on-failure # https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart=
[/lib/systemd/system/rabbitmq-server.service:18] Failed to parse sec value, ignoring: 10 # https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec=
[/lib/systemd/system/rabbitmq-server.service:23] Failed to parse value, ignoring: # rabbitmq/rabbitmq-server-release#51
[/lib/systemd/system/rabbitmq-server.service:23] Failed to parse value, ignoring: rabbitmq/rabbitmq-server-release#51
During this process the service restarts in a loop from what I can tell.
The text was updated successfully, but these errors were encountered: