func checkCPUCompat(srcCmd, dstCmd cmd.Cmd) error { // Dump _, _, err := srcCmd.Run("sudo", "criu", "cpuinfo", "dump") if _, ok := err.(*ssh.ExitError); ok { return fmt.Errorf("Error dumping CPU info") } else if _, ok := err.(*exec.ExitError); ok { return fmt.Errorf("Error dumping CPU info") } else if err != nil { return fmt.Errorf("Connection error: %s ", err) } // Copy err = cmd.Scp(srcCmd.URL("./cpuinfo.img"), dstCmd.URL(".")) if _, ok := err.(*ssh.ExitError); ok { return fmt.Errorf("Error copying dump image") } else if _, ok := err.(*exec.ExitError); ok { return fmt.Errorf("Error copying dump image") } else if err != nil { return fmt.Errorf("Connection error: %s ", err) } // Check _, _, err = srcCmd.Run("sudo", "criu", "cpuinfo", "check") if _, ok := err.(*ssh.ExitError); ok { return fmt.Errorf("Error checking CPU info") } else if _, ok := err.(*exec.ExitError); ok { return fmt.Errorf("Error checking CPU info") } else if err != nil { return fmt.Errorf("Connection error: %s ", err) } return nil }