diff --git a/rs/ic_os/config/golden/guestos_vm_kvm.xml b/rs/ic_os/config/golden/guestos_vm_kvm.xml new file mode 100644 index 000000000000..57606c9999be --- /dev/null +++ b/rs/ic_os/config/golden/guestos_vm_kvm.xml @@ -0,0 +1,183 @@ + + guestos + fd897da5-8017-41c8-8575-a706dba30766 + + + + + + 490 + 490 + 56 + + + + + + + /machine + + + hvm + /usr/share/OVMF/OVMF_CODE_4M.fd + /var/lib/libvirt/qemu/nvram/guestos_VARS.fd + + + + + + + + + + + + restart + restart + restart + + + + + + /usr/local/bin/qemu-system-x86_64 + + + + + + +
+ + + + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + +
+ + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + /dev/urandom + +
+ + + + + +64055:+108 + + diff --git a/rs/ic_os/config/golden/guestos_vm_qemu.xml b/rs/ic_os/config/golden/guestos_vm_qemu.xml new file mode 100644 index 000000000000..ad41bd577377 --- /dev/null +++ b/rs/ic_os/config/golden/guestos_vm_qemu.xml @@ -0,0 +1,179 @@ + + guestos + fd897da5-8017-41c8-8575-a706dba30766 + + + + + + 490 + 490 + 56 + + + /machine + + + hvm + /usr/share/OVMF/OVMF_CODE_4M.fd + /var/lib/libvirt/qemu/nvram/guestos_VARS.fd + + + + + + + + + + + + restart + restart + restart + + + + + + /usr/local/bin/qemu-system-x86_64 + + + + + + +
+ + + + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + +
+ + + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + /dev/urandom + +
+ + + + + +64055:+108 + + diff --git a/rs/ic_os/config/src/guest_vm_config.rs b/rs/ic_os/config/src/guest_vm_config.rs index 13c0a189ce81..ae2ca81364be 100644 --- a/rs/ic_os/config/src/guest_vm_config.rs +++ b/rs/ic_os/config/src/guest_vm_config.rs @@ -239,6 +239,8 @@ mod tests { DeploymentEnvironment, DeterministicIpv6Config, HostOSConfig, HostOSSettings, ICOSSettings, Ipv4Config, Ipv6Config, Logging, NetworkSettings, }; + use goldenfile::Mint; + use std::env; use std::os::unix::prelude::MetadataExt; use std::path::Path; use tempfile::tempdir; @@ -324,39 +326,36 @@ mod tests { ); } - // Temporarily comment these out until the next PR where we check in the golden files - // (we do that to avoid messing up git history). - - // fn goldenfiles_path() -> PathBuf { - // let mut path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); - // path.push("golden"); - // path - // } - // - // fn test_vm_config(cpu_type: &str, filename: &str) { - // let mut mint = Mint::new(goldenfiles_path()); - // let mut config = create_test_hostos_config(); - // - // config.hostos_settings = HostOSSettings { - // vm_memory: 490, - // vm_cpu: cpu_type.to_string(), - // vm_nr_of_vcpus: 56, - // verbose: false, - // }; - // - // let vm_config = generate_vm_config(&config, Path::new("/tmp/config.img")).unwrap(); - // fs::write(mint.new_goldenpath(filename).unwrap(), vm_config).unwrap(); - // } - // - // #[test] - // fn test_generate_vm_config_qemu() { - // test_vm_config("qemu", "guestos_vm_qemu.xml"); - // } - // - // #[test] - // fn test_generate_vm_config_kvm() { - // test_vm_config("kvm", "guestos_vm_kvm.xml"); - // } + fn goldenfiles_path() -> PathBuf { + let mut path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()); + path.push("golden"); + path + } + + fn test_vm_config(cpu_type: &str, filename: &str) { + let mut mint = Mint::new(goldenfiles_path()); + let mut config = create_test_hostos_config(); + + config.hostos_settings = HostOSSettings { + vm_memory: 490, + vm_cpu: cpu_type.to_string(), + vm_nr_of_vcpus: 56, + verbose: false, + }; + + let vm_config = generate_vm_config(&config, Path::new("/tmp/config.img")).unwrap(); + fs::write(mint.new_goldenpath(filename).unwrap(), vm_config).unwrap(); + } + + #[test] + fn test_generate_vm_config_qemu() { + test_vm_config("qemu", "guestos_vm_qemu.xml"); + } + + #[test] + fn test_generate_vm_config_kvm() { + test_vm_config("kvm", "guestos_vm_kvm.xml"); + } #[test] fn test_run_success() {