summaryrefslogtreecommitdiff
path: root/pkg/machine
diff options
context:
space:
mode:
authorbaude <baude@redhat.com>2021-03-29 15:21:39 -0500
committerbaude <bbaude@redhat.com>2021-03-29 20:20:39 -0500
commitb6089a5e9967b239348afcce452c8aa82df53ccf (patch)
treef35f466acf36c3806fea63f62620b7256a208820 /pkg/machine
parent4fe1ce154f364932129fb6d53c9dbe5b374ed38d (diff)
downloadpodman-b6089a5e9967b239348afcce452c8aa82df53ccf.tar.gz
podman-b6089a5e9967b239348afcce452c8aa82df53ccf.tar.bz2
podman-b6089a5e9967b239348afcce452c8aa82df53ccf.zip
resolve proper aarch64 image names
when automatically downloading fcos for the Apple M1, we needed to replace a statically defined URL with the dynamically determined one. also, it appears boolean qemu options `server` and `onwait` are not defined as `server=on` and `wait=off`. [NO TESTS NEEDED] Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/machine')
-rw-r--r--pkg/machine/fcos_arm64.go16
-rw-r--r--pkg/machine/qemu/machine.go4
2 files changed, 14 insertions, 6 deletions
diff --git a/pkg/machine/fcos_arm64.go b/pkg/machine/fcos_arm64.go
index 4d7e4e4db..f5cd5a505 100644
--- a/pkg/machine/fcos_arm64.go
+++ b/pkg/machine/fcos_arm64.go
@@ -2,9 +2,9 @@ package machine
import (
"encoding/json"
- "fmt"
"io/ioutil"
"net/http"
+ url2 "net/url"
"github.com/sirupsen/logrus"
)
@@ -14,9 +14,7 @@ const aarchBaseURL = "https://fedorapeople.org/groups/fcos-images/builds/latest/
// Total hack until automation is possible.
// We need a proper json file at least to automate
func getFCOSDownload() (*fcosDownloadInfo, error) {
-
meta := Build{}
- fmt.Println(aarchBaseURL + "meta.json")
resp, err := http.Get(aarchBaseURL + "meta.json")
if err != nil {
return nil, err
@@ -33,8 +31,18 @@ func getFCOSDownload() (*fcosDownloadInfo, error) {
if err := json.Unmarshal(body, &meta); err != nil {
return nil, err
}
+ pathURL, err := url2.Parse(meta.BuildArtifacts.Qemu.Path)
+ if err != nil {
+ return nil, err
+ }
+
+ baseURL, err := url2.Parse(aarchBaseURL)
+ if err != nil {
+ return nil, err
+ }
+ pullURL := baseURL.ResolveReference(pathURL)
return &fcosDownloadInfo{
- Location: aarchBaseURL + "/" + meta.BuildArtifacts.Qemu.Path,
+ Location: pullURL.String(),
Release: "",
Sha256Sum: meta.BuildArtifacts.Qemu.Sha256,
}, nil
diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go
index fe155750f..dddf9cf94 100644
--- a/pkg/machine/qemu/machine.go
+++ b/pkg/machine/qemu/machine.go
@@ -83,7 +83,7 @@ func NewMachine(opts machine.InitOptions) (machine.VM, error) {
return nil, err
}
vm.QMPMonitor = monitor
- cmd = append(cmd, []string{"-qmp", monitor.Network + ":/" + monitor.Address + ",server,nowait"}...)
+ cmd = append(cmd, []string{"-qmp", monitor.Network + ":/" + monitor.Address + ",server=on,wait=off"}...)
// Add network
cmd = append(cmd, "-nic", "user,model=virtio,hostfwd=tcp::"+strconv.Itoa(vm.Port)+"-:22")
@@ -96,7 +96,7 @@ func NewMachine(opts machine.InitOptions) (machine.VM, error) {
// Add serial port for readiness
cmd = append(cmd, []string{
"-device", "virtio-serial",
- "-chardev", "socket,path=" + virtualSocketPath + ",server,nowait,id=" + vm.Name + "_ready",
+ "-chardev", "socket,path=" + virtualSocketPath + ",server=on,wait=off,id=" + vm.Name + "_ready",
"-device", "virtserialport,chardev=" + vm.Name + "_ready" + ",name=org.fedoraproject.port.0"}...)
vm.CmdLine = cmd
return vm, nil