Skip to content

Commit

Permalink
Merge pull request #3947 from afbjorklund/hidden
Browse files Browse the repository at this point in the history
Add explicit kvm2 flag for hidden KVM signature
  • Loading branch information
tstromberg authored Mar 26, 2019
2 parents 4ccc7a2 + 6491e35 commit 9deb531
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 0 deletions.
6 changes: 6 additions & 0 deletions cmd/minikube/cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ const (
vpnkitSock = "hyperkit-vpnkit-sock"
vsockPorts = "hyperkit-vsock-ports"
gpu = "gpu"
hidden = "hidden"
embedCerts = "embed-certs"
noVTXCheck = "no-vtx-check"
)
Expand Down Expand Up @@ -143,6 +144,7 @@ func init() {
startCmd.Flags().String(vpnkitSock, "", "Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if 'auto' uses Docker for Mac VPNKit connection, otherwise uses the specified VSock.")
startCmd.Flags().StringSlice(vsockPorts, []string{}, "List of guest VSock ports that should be exposed as sockets on the host (Only supported on with hyperkit now).")
startCmd.Flags().Bool(gpu, false, "Enable experimental NVIDIA GPU support in minikube (works only with kvm2 driver on Linux)")
startCmd.Flags().Bool(hidden, false, "Hide the hypervisor signature from the guest in minikube (works only with kvm2 driver on Linux)")
startCmd.Flags().Bool(noVTXCheck, false, "Disable checking for the availability of hardware virtualization before the vm is started (virtualbox)")
viper.BindPFlags(startCmd.Flags())
RootCmd.AddCommand(startCmd)
Expand Down Expand Up @@ -238,6 +240,9 @@ func validateConfig() {
if viper.GetBool(gpu) && viper.GetString(vmDriver) != "kvm2" {
exit.Usage("Sorry, the --gpu feature is currently only supported with --vm-driver=kvm2")
}
if viper.GetBool(hidden) && viper.GetString(vmDriver) != "kvm2" {
exit.Usage("Sorry, the --hidden feature is currently only supported with --vm-driver=kvm2")
}
}

// beginCacheImages caches Docker images in the background
Expand Down Expand Up @@ -303,6 +308,7 @@ func generateConfig(cmd *cobra.Command, k8sVersion string) (cfg.Config, error) {
DisableDriverMounts: viper.GetBool(disableDriverMounts),
UUID: viper.GetString(uuid),
GPU: viper.GetBool(gpu),
Hidden: viper.GetBool(hidden),
NoVTXCheck: viper.GetBool(noVTXCheck),
},
KubernetesConfig: cfg.KubernetesConfig{
Expand Down
2 changes: 2 additions & 0 deletions pkg/drivers/kvm/domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,11 @@ const domainTmpl = `
<acpi/>
<apic/>
<pae/>
{{if .Hidden}}
<kvm>
<hidden state='on'/>
</kvm>
{{end}}
</features>
<cpu mode='host-passthrough'/>
<os>
Expand Down
3 changes: 3 additions & 0 deletions pkg/drivers/kvm/kvm.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ type Driver struct {
// Whether to passthrough GPU devices from the host to the VM.
GPU bool

// Whether to hide the KVM hypervisor signature from the guest
Hidden bool

// XML that needs to be added to passthrough GPU devices.
DevicesXML string
}
Expand Down
1 change: 1 addition & 0 deletions pkg/minikube/config/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ type MachineConfig struct {
NFSSharesRoot string
UUID string // Only used by hyperkit to restore the mac address
GPU bool // Only used by kvm2
Hidden bool // Only used by kvm2
NoVTXCheck bool // Only used by virtualbox
}

Expand Down
2 changes: 2 additions & 0 deletions pkg/minikube/drivers/kvm2/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ type kvmDriver struct {
Boot2DockerURL string
DiskPath string
GPU bool
Hidden bool
}

func createKVM2Host(config cfg.MachineConfig) interface{} {
Expand All @@ -68,5 +69,6 @@ func createKVM2Host(config cfg.MachineConfig) interface{} {
DiskPath: filepath.Join(constants.GetMinipath(), "machines", cfg.GetMachineName(), fmt.Sprintf("%s.rawdisk", cfg.GetMachineName())),
ISO: filepath.Join(constants.GetMinipath(), "machines", cfg.GetMachineName(), "boot2docker.iso"),
GPU: config.GPU,
Hidden: config.Hidden,
}
}

0 comments on commit 9deb531

Please sign in to comment.