Project

General

Profile

Actions

Bug #13740

closed

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

Added by Thomas CAILHE about 6 years ago. Updated over 2 years ago.

Status:
Released
Priority:
N/A
Category:
Generic methods
Target version:
Severity:
Major - prevents use of part of Rudder | no simple workaround
UX impact:
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Priority:
46
Name check:
Fix check:
Regression:

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 2 (0 open2 closed)

Related to Rudder - Bug #13833: Continuous repair on "service enabled at boot"RejectedActions
Related to Rudder - Bug #14653: Missing dependency on systemd for recent Ubuntu/Debian systemsReleasedAlexis MoussetActions
Actions #1

Updated by Alexis Mousset about 6 years 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
Actions #2

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 5.0.2 to 5.0.3
Actions #3

Updated by Alexis Mousset about 6 years ago

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

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 5.0.3 to 5.0.4
Actions #5

Updated by Vincent MEMBRÉ almost 6 years ago

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

Updated by Alexis Mousset almost 6 years ago

  • Target version changed from 5.0.5 to 5.0.6
Actions #7

Updated by Vincent MEMBRÉ almost 6 years ago

  • Target version changed from 5.0.6 to 5.0.7
Actions #8

Updated by Alexis Mousset almost 6 years 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.

Actions #9

Updated by Alexis Mousset almost 6 years 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.

Actions #10

Updated by François ARMAND almost 6 years ago

  • Target version changed from 5.0.7 to 5.0.9
Actions #11

Updated by François ARMAND over 5 years ago

  • Priority changed from 49 to 48
Actions #12

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 5.0.9 to 5.0.10
Actions #13

Updated by Alexis Mousset over 5 years ago

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

Updated by Vincent MEMBRÉ over 5 years ago

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

Updated by Vincent MEMBRÉ over 5 years ago

  • Target version changed from 5.0.11 to 5.0.12
Actions #16

Updated by Vincent MEMBRÉ over 5 years ago

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

Updated by Vincent MEMBRÉ over 5 years ago

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

Updated by Vincent MEMBRÉ about 5 years ago

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

Updated by Alexis Mousset about 5 years ago

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

Updated by Alexis Mousset about 5 years ago

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

Updated by Alexis Mousset about 5 years 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
Actions #22

Updated by Alexis Mousset about 5 years 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.

Actions #23

Updated by Alexis Mousset about 5 years ago

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

Updated by Vincent MEMBRÉ about 5 years ago

  • Status changed from Pending release to Released

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

Actions #25

Updated by Alexis Mousset over 2 years ago

  • Project changed from 41 to Rudder
  • Category changed from Generic methods - Service Management to Generic methods
  • Priority changed from 43 to 46
Actions

Also available in: Atom PDF