mirror of
https://github.com/rancher/os.git
synced 2025-07-06 11:36:15 +00:00
46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
package hypervisor
|
|
|
|
import (
|
|
"github.com/rancher/os/config"
|
|
"github.com/rancher/os/pkg/log"
|
|
"github.com/rancher/os/pkg/util"
|
|
)
|
|
|
|
func Tools(cfg *config.CloudConfig) (*config.CloudConfig, error) {
|
|
enableHypervisorService(cfg, util.GetHypervisor())
|
|
return config.LoadConfig(), nil
|
|
}
|
|
|
|
func enableHypervisorService(cfg *config.CloudConfig, hypervisorName string) {
|
|
if hypervisorName == "" {
|
|
return
|
|
}
|
|
|
|
// enable open-vm-tools and hyperv-vm-tools
|
|
// these services(xenhvm-vm-tools, kvm-vm-tools, and bhyve-vm-tools) don't exist yet
|
|
serviceName := ""
|
|
switch hypervisorName {
|
|
case "vmware":
|
|
serviceName = "open-vm-tools"
|
|
case "hyperv":
|
|
serviceName = "hyperv-vm-tools"
|
|
default:
|
|
log.Infof("no hypervisor matched")
|
|
}
|
|
|
|
if serviceName != "" {
|
|
if !cfg.Rancher.HypervisorService {
|
|
log.Infof("Skipping %s as `rancher.hypervisor_service` is set to false", serviceName)
|
|
return
|
|
}
|
|
|
|
// Check removed - there's an x509 cert failure on first boot of an installed system
|
|
// check quickly to see if there is a yml file available
|
|
// if service.ValidService(serviceName, cfg) {
|
|
log.Infof("Setting rancher.services_include. %s=true", serviceName)
|
|
if err := config.Set("rancher.services_include."+serviceName, "true"); err != nil {
|
|
log.Error(err)
|
|
}
|
|
}
|
|
}
|