Salt-bootstrap no longer works on Cloudlinux because a check for a symlink of /etc/redhat-release in __gather_linux_system_info() means it's no longer identified as redhat, and there is no cloudlinux-specific support in salt-bootstrap.
On CloudLinux, the file /etc/redhat-release is a symlink to /etc/cloudlinux-release
The file /etc/os-release also exists, but does not contain the expected information, so when salt-bootstrap tries to use this to determine the distro release, it fails. It therefore never gets as far as checking the correct /etc/cloudlinux-release.
Previously in absence of this check, the distro would be detected as redhat (by way of using the symlink of /etc/redhat-release -> /etc/cloudlinux-release), which works fine.
# cat /etc/redhat-release
CloudLinux release 7.2 (Valeri Kubasov)
# sh bootstrap-salt.sh -D
* INFO: Running version: 2016.10.25
* INFO: Executed by: sh
* INFO: Command line: 'bootstrap-salt.sh -D'
* INFO: System Information:
* INFO: CPU: GenuineIntel
* INFO: CPU Arch: x86_64
* INFO: OS Name: Linux
* INFO: OS Version: 3.10.0-427.10.1.lve1.4.19.el7.x86_64
* INFO: Distribution: cloudlinux 7.2
* DEBUG: Binaries will be searched using the following $PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/root/bin
* INFO: Installing minion
* DEBUG: install_cloudlinux_7_stable_deps not found....
* DEBUG: install_cloudlinux_7_2_stable_deps not found....
* DEBUG: install_cloudlinux_7_deps not found....
* DEBUG: install_cloudlinux_7_2_deps not found....
* DEBUG: install_cloudlinux_stable_deps not found....
* DEBUG: install_cloudlinux_deps not found....
* DEBUG: DEPS_INSTALL_FUNC=null
* DEBUG: config_cloudlinux_7_stable_salt not found....
* DEBUG: config_cloudlinux_7_2_stable_salt not found....
* DEBUG: config_cloudlinux_7_salt not found....
* DEBUG: config_cloudlinux_7_2_salt not found....
* DEBUG: config_cloudlinux_stable_salt not found....
* DEBUG: config_cloudlinux_salt not found....
* INFO: Found function config_salt
* DEBUG: CONFIG_SALT_FUNC=config_salt
* DEBUG: preseed_cloudlinux_7_stable_master not found....
* DEBUG: preseed_cloudlinux_7_2_stable_master not found....
* DEBUG: preseed_cloudlinux_7_master not found....
* DEBUG: preseed_cloudlinux_7_2_master not found....
* DEBUG: preseed_cloudlinux_stable_master not found....
* DEBUG: preseed_cloudlinux_master not found....
* INFO: Found function preseed_master
* DEBUG: PRESEED_MASTER_FUNC=preseed_master
* DEBUG: install_cloudlinux_7_stable not found....
* DEBUG: install_cloudlinux_7_2_stable not found....
* DEBUG: install_cloudlinux_stable not found....
* DEBUG: INSTALL_FUNC=null
* DEBUG: install_cloudlinux_7_stable_post not found....
* DEBUG: install_cloudlinux_7_2_stable_post not found....
* DEBUG: install_cloudlinux_7_post not found....
* DEBUG: install_cloudlinux_7_2_post not found....
* DEBUG: install_cloudlinux_stable_post not found....
* DEBUG: install_cloudlinux_post not found....
* DEBUG: POST_INSTALL_FUNC=null
* DEBUG: install_cloudlinux_7_stable_restart_daemons not found....
* DEBUG: install_cloudlinux_7_2_stable_restart_daemons not found....
* DEBUG: install_cloudlinux_7_restart_daemons not found....
* DEBUG: install_cloudlinux_7_2_restart_daemons not found....
* DEBUG: install_cloudlinux_stable_restart_daemons not found....
* DEBUG: install_cloudlinux_restart_daemons not found....
* DEBUG: STARTDAEMONS_INSTALL_FUNC=null
* DEBUG: daemons_running_cloudlinux_7_stable not found....
* DEBUG: daemons_running_cloudlinux_7_2_stable not found....
* DEBUG: daemons_running_cloudlinux_7 not found....
* DEBUG: daemons_running_cloudlinux_7_2 not found....
* DEBUG: daemons_running_cloudlinux_stable not found....
* DEBUG: daemons_running_cloudlinux not found....
* INFO: Found function daemons_running
* DEBUG: DAEMONS_RUNNING_FUNC=daemons_running
* DEBUG: install_cloudlinux_7_stable_check_services not found....
* DEBUG: install_cloudlinux_7_2_stable_check_services not found....
* DEBUG: install_cloudlinux_7_check_services not found....
* DEBUG: install_cloudlinux_7_2_check_services not found....
* DEBUG: install_cloudlinux_stable_check_services not found....
* DEBUG: install_cloudlinux_check_services not found....
* DEBUG: CHECK_SERVICES_FUNC=null
* ERROR: No dependencies installation function found. Exiting...
* DEBUG: Removing the logging pipe /tmp/bootstrap-salt.logpipe
* DEBUG: Killing logging pipe tee's with pid(s): 752400
bootstrap-salt.sh -- Version 2016.10.25
Thanks for the detailed report here, @afletch. It would be good to get this fixed.
It sounds like this worked on older versions of the bootstrap script, yes?
Yes, this definitely used to work as we had it in our deployment process.
@afletch Ok - sorry about the breakage. Do you happen to know what version of the bootstrap script this broke on? If this broke on the latest release (2016.10.25), but was working on the release before that (2016.08.16), I think #932 might have had something to do with it.
Can you also post the output of lsb_release -si here? Is it the same as what is in /etc/redhat-release? I don't have a CloudLinux system to test on currently.
I'm afraid I don't have any useful timeline of when this broke.
# lsb_release -si
CloudLinux
# cat /etc/redhat-release
CloudLinux release 7.3 (Yury Malyshev)
I can spin you up a CloudLinux machine if this helps.
@afletch I have made a small attempt to add CloudLinux support to the bootstrap script in #986. Note that this is untested. If you could give that a try and see if it works, that would be great. Or, if spinning me up a machine to test it with is easier, that also works. Whichever is easier for you.
That PR change _might_ work as-is, though I am not sure if it will still have the same trouble you had before about the symlinked /etc/redhat-release file.
Unfortunately the outcome is still the same. I've emailed you over some details of a CloudLinux machine.
I beleive this is fixed after speaking with @afletch offline, but I'd like to hear the final word before closing this. I'll marked this as "Fixed Pending Verification" for the time being.
Thanks to @rallytime's efforts on this, this now works on CloudLinux 7. Much appreciated.
@afletch Awesome! I'll get that PR merged in. :)