// 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 !apt.IsPackageInstalled(pkg) { toInstall = append(toInstall, pkg) } } if len(toInstall) > 0 { return fmt.Errorf(missingKVMDeps, strings.Join(toInstall, " ")) } return nil }
func (s *AptSuite) TestIsPackageNotInstalled(c *gc.C) { s.patchDpkgQuery(c, false) c.Assert(apt.IsPackageInstalled("foo-bar"), jc.IsFalse) }