Project

General

Profile

Bug #13740

Service having both an init script and a real systemd unit are managed through the init script

Added by Thomas CAILHE about 1 year ago. Updated 15 days ago.

Status:
Released
Priority:
N/A
Category:
Generic methods - Service Management
Target version:
Severity:
Major - prevents use of part of Rudder | no simple workaround
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Priority:
43

Description

When a service hav an init script in /etc/init.d and a real systemd unit (not a compatibility one), the init script is used by Rudder to manage it. We should use systemd instead.

We could probably test the presence of an actual native systemd unit, and force systemd usage in this case.


Related issues

Related to ncf - Bug #13833: Continuous repair on "service enabled at boot"RejectedActions
Related to Rudder - Bug #14653: Missing dependency on systemd for recent Ubuntu/Debian systemsPending releaseActions

Associated revisions

Revision 7e9eca96 (diff)
Added by Alexis MOUSSET about 1 month ago

Fixes #13740: Service having both an init script and a real systemd unit are managed through the init script

History

#1

Updated by Alexis MOUSSET about 1 year ago

  • Subject changed from Systemd on debian 9 to Service having both an init script and a real systemd unit are managed through the init script
  • Description updated (diff)
  • Category set to Generic methods - Service Management
  • Target version set to 5.0.2
  • Severity set to Minor - inconvenience | misleading | easy workaround
  • User visibility set to Infrequent - complex configurations | third party integrations
  • Priority changed from 0 to 22
#2

Updated by Vincent MEMBRÉ about 1 year ago

  • Target version changed from 5.0.2 to 5.0.3
#3

Updated by Alexis MOUSSET about 1 year ago

  • Related to Bug #13833: Continuous repair on "service enabled at boot" added
#4

Updated by Vincent MEMBRÉ 12 months ago

  • Target version changed from 5.0.3 to 5.0.4
#5

Updated by Vincent MEMBRÉ 11 months ago

  • Target version changed from 5.0.4 to 5.0.5
  • Priority changed from 22 to 21
#6

Updated by Alexis MOUSSET 10 months ago

  • Target version changed from 5.0.5 to 5.0.6
#7

Updated by Vincent MEMBRÉ 10 months ago

  • Target version changed from 5.0.6 to 5.0.7
#8

Updated by Alexis MOUSSET 9 months ago

  • Severity changed from Minor - inconvenience | misleading | easy workaround to Major - prevents use of part of Rudder | no simple workaround
  • User visibility changed from Infrequent - complex configurations | third party integrations to Operational - other Techniques | Rudder settings | Plugins
  • Priority changed from 21 to 49

This will become a bigger problem as init scripts are nowadays less actively maintained (compared to systemd units).

We need to a find a solution that allows smooth upgrades.

Setting to major as there are no real workaround (except using commands).
Setting to Operational as it happens for most debian services.

#9

Updated by Alexis MOUSSET 9 months ago

The tricky thing is that we had to add the priority to init script for services having autogenerated systemd unit IIRC. We should detect the presence of an actual unit and use systemd in this case.

We also need to take care of debian systems not using systemd, and have proper detection of who is pid 0 before chosing a service method.

#10

Updated by François ARMAND 9 months ago

  • Target version changed from 5.0.7 to 5.0.9
#11

Updated by François ARMAND 8 months ago

  • Priority changed from 49 to 48
#12

Updated by Vincent MEMBRÉ 7 months ago

  • Target version changed from 5.0.9 to 5.0.10
#13

Updated by Alexis MOUSSET 7 months ago

  • Related to Bug #14653: Missing dependency on systemd for recent Ubuntu/Debian systems added
#14

Updated by Vincent MEMBRÉ 6 months ago

  • Target version changed from 5.0.10 to 5.0.11
  • Priority changed from 48 to 47
#15

Updated by Vincent MEMBRÉ 6 months ago

  • Target version changed from 5.0.11 to 5.0.12
#16

Updated by Vincent MEMBRÉ 5 months ago

  • Target version changed from 5.0.12 to 5.0.13
  • Priority changed from 47 to 46
#17

Updated by Vincent MEMBRÉ 3 months ago

  • Target version changed from 5.0.13 to 5.0.14
  • Priority changed from 46 to 44
#18

Updated by Vincent MEMBRÉ about 2 months ago

  • Target version changed from 5.0.14 to 5.0.15
  • Priority changed from 44 to 43
#19

Updated by Alexis MOUSSET about 1 month ago

  • Target version changed from 5.0.15 to 6.0.0~beta1
#20

Updated by Alexis MOUSSET about 1 month ago

  • Status changed from New to In progress
  • Assignee set to Alexis MOUSSET
#21

Updated by Alexis MOUSSET about 1 month ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Alexis MOUSSET to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/ncf/pull/1079
#22

Updated by Alexis MOUSSET about 1 month ago

For reference, the core issue was for services using the init compatibility layer, for which is-enabled does not work on debian systems, which breaks boot status management.

The proposed fix is to continue using init script/rc.d for init scripts, unless the is also a unit file, in which case systemd will be used, fixing this bug while not making the root problem reappear.

#23

Updated by Alexis MOUSSET about 1 month ago

  • Status changed from Pending technical review to Pending release
#24

Updated by Vincent MEMBRÉ 15 days ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 6.0.0~beta1 which was released today.

Also available in: Atom PDF