// VerifyKVMEnabled makes sure that the host OS is Ubuntu, and that the required // packages are installed, and that the host CPU is able to support KVM. func VerifyKVMEnabled() error { if !utils.IsUbuntu() { return fmt.Errorf(kvmNeedsUbuntu) } supported, err := IsKVMSupported() if err != nil { // Missing the kvm-ok package. return fmt.Errorf(neetToInstallKVMOk) } if !supported { return fmt.Errorf(kvmNotSupported) } // Check for other packages needed. toInstall := []string{} for _, pkg := range requiredPackages { if !utils.IsPackageInstalled(pkg) { toInstall = append(toInstall, pkg) } } if len(toInstall) > 0 { return fmt.Errorf(missingKVMDeps, strings.Join(toInstall, " ")) } return nil }
func (s *AptSuite) TestIsNotUbuntu(c *gc.C) { s.patchLsbRelease(c, "Windows NT") c.Assert(utils.IsUbuntu(), jc.IsFalse) }
func (s *AptSuite) TestIsUbuntu(c *gc.C) { s.patchLsbRelease(c, "Ubuntu") c.Assert(utils.IsUbuntu(), jc.IsTrue) }