Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.4.2
-
None
Description
Ubuntu 15.04 and later no longer uses the Upstart init daemon as the default. The ssh/sshd service on Ubuntu 15.04+ is now controlled by systemd. As a result, VCL's systemd.pm module controls the service instead of Upstart.pm.
Ubuntu uses ssh as the service name instead of sshd. There is code in the Upstart.pm module to counteract this insanity. Unfortunately, the systemd.pm module does not have such code and fails to add the ext_sshd service:
|OS.pm:get_file_contents|2403| ---- WARNING ---- |OS.pm:get_file_contents|2403| 2016-09-09 09:35:58|OS.pm:get_file_contents|2403|failed to read contents of file on vs1-29: '/lib/systemd/system/sshd.service', exit status: 1, output: |OS.pm:get_file_contents|2403| cat: /lib/systemd/system/sshd.service: No such file or directory |OS.pm:get_file_contents|2403| ( 0) OS.pm, get_file_contents (line: 2403) |OS.pm:get_file_contents|2403| (-1) systemd.pm, add_ext_sshd_service (line: 577) |OS.pm:get_file_contents|2403| (-2) Linux.pm, configure_ext_sshd (line: 5045) |OS.pm:get_file_contents|2403| (-3) Linux.pm, post_load (line: 436) |OS.pm:get_file_contents|2403| (-4) VMware.pm, load (line: 584) |OS.pm:get_file_contents|2403| (-5) new.pm, reload_image (line: 634) |systemd.pm:add_ext_sshd_service|579| ---- WARNING ---- |systemd.pm:add_ext_sshd_service|579| 2016-09-09 09:35:58|systemd.pm:add_ext_sshd_service|579|failed to retrieve contents of /lib/systemd/system/sshd.service from vs1-29 |systemd.pm:add_ext_sshd_service|579| ( 0) systemd.pm, add_ext_sshd_service (line: 579) |systemd.pm:add_ext_sshd_service|579| (-1) Linux.pm, configure_ext_sshd (line: 5045) |systemd.pm:add_ext_sshd_service|579| (-2) Linux.pm, post_load (line: 436) |systemd.pm:add_ext_sshd_service|579| (-3) VMware.pm, load (line: 584) |systemd.pm:add_ext_sshd_service|579| (-4) new.pm, reload_image (line: 634) |systemd.pm:add_ext_sshd_service|579| (-5) new.pm, process (line: 277) |Linux.pm:configure_ext_sshd|5050| ---- WARNING ---- |Linux.pm:configure_ext_sshd|5050| 2016-09-09 09:35:58|Linux.pm:configure_ext_sshd|5050|unable to configure ext_sshd, failed to add the ext_sshd service to vs1-29 |Linux.pm:configure_ext_sshd|5050| ( 0) Linux.pm, configure_ext_sshd (line: 5050) |Linux.pm:configure_ext_sshd|5050| (-1) Linux.pm, post_load (line: 436) |Linux.pm:configure_ext_sshd|5050| (-2) VMware.pm, load (line: 584) |Linux.pm:configure_ext_sshd|5050| (-3) new.pm, reload_image (line: 634) |Linux.pm:configure_ext_sshd|5050| (-4) new.pm, process (line: 277) |Linux.pm:configure_ext_sshd|5050| (-5) vcld, make_new_child (line: 587) |Linux.pm:post_load|437| ---- WARNING ---- |Linux.pm:post_load|437| 2016-09-09 09:35:58|Linux.pm:post_load|437|failed to configure ext_sshd on vs1-29 |Linux.pm:post_load|437| ( 0) Linux.pm, post_load (line: 437) |Linux.pm:post_load|437| (-1) VMware.pm, load (line: 584) |Linux.pm:post_load|437| (-2) new.pm, reload_image (line: 634) |Linux.pm:post_load|437| (-3) new.pm, process (line: 277) |Linux.pm:post_load|437| (-4) vcld, make_new_child (line: 587) |Linux.pm:post_load|437| (-5) vcld, main (line: 348)
The systemd.pm module now controlling the sshd/ssh service on Ubuntu assumes the unit file is located at:
/lib/systemd/system/sshd.service
It's actually located at:
/lib/systemd/system/ssh.service
Code should be added to systemd.pm to determine the correct path of the unit file for the sshd service rather than assuming it is in the standard place.