mirror of https://github.com/containers/podman.git
Move `writeConfig` logic to shared function
Moves the shared logic from `writeConfig` into a shared function in `pkg/machine/machine_common.go` [NO NEW TESTS NEEDED] Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
This commit is contained in:
parent
597ccff0bc
commit
21ebe0e90a
|
@ -18,7 +18,6 @@ import (
|
||||||
"github.com/containers/podman/v4/pkg/machine"
|
"github.com/containers/podman/v4/pkg/machine"
|
||||||
"github.com/containers/podman/v4/pkg/util"
|
"github.com/containers/podman/v4/pkg/util"
|
||||||
"github.com/containers/podman/v4/utils"
|
"github.com/containers/podman/v4/utils"
|
||||||
"github.com/containers/storage/pkg/ioutils"
|
|
||||||
"github.com/docker/go-units"
|
"github.com/docker/go-units"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
@ -673,22 +672,7 @@ func (m *HyperVMachine) forwardSocketPath() (*machine.VMFile, error) {
|
||||||
|
|
||||||
func (m *HyperVMachine) writeConfig() error {
|
func (m *HyperVMachine) writeConfig() error {
|
||||||
// Write the JSON file
|
// Write the JSON file
|
||||||
opts := &ioutils.AtomicFileWriterOptions{ExplicitCommit: true}
|
return machine.WriteConfig(m.ConfigPath.Path, m)
|
||||||
w, err := ioutils.NewAtomicFileWriterWithOpts(m.ConfigPath.GetPath(), 0644, opts)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer w.Close()
|
|
||||||
|
|
||||||
enc := json.NewEncoder(w)
|
|
||||||
enc.SetIndent("", " ")
|
|
||||||
|
|
||||||
if err := enc.Encode(m); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commit the changes to disk if no errors
|
|
||||||
return w.Commit()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *HyperVMachine) setRootful(rootful bool) error {
|
func (m *HyperVMachine) setRootful(rootful bool) error {
|
||||||
|
|
|
@ -4,10 +4,13 @@
|
||||||
package machine
|
package machine
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/containers/storage/pkg/ioutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
// getDevNullFiles returns pointers to Read-only and Write-only DevNull files
|
// getDevNullFiles returns pointers to Read-only and Write-only DevNull files
|
||||||
|
@ -143,3 +146,23 @@ func SetRootful(rootful bool, name, rootfulName string) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WriteConfig writes the machine's JSON config file
|
||||||
|
func WriteConfig(configPath string, v VM) error {
|
||||||
|
opts := &ioutils.AtomicFileWriterOptions{ExplicitCommit: true}
|
||||||
|
w, err := ioutils.NewAtomicFileWriterWithOpts(configPath, 0644, opts)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer w.Close()
|
||||||
|
|
||||||
|
enc := json.NewEncoder(w)
|
||||||
|
enc.SetIndent("", " ")
|
||||||
|
|
||||||
|
if err := enc.Encode(v); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Commit the changes to disk if no errors
|
||||||
|
return w.Commit()
|
||||||
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@ import (
|
||||||
"github.com/containers/podman/v4/pkg/machine"
|
"github.com/containers/podman/v4/pkg/machine"
|
||||||
"github.com/containers/podman/v4/pkg/rootless"
|
"github.com/containers/podman/v4/pkg/rootless"
|
||||||
"github.com/containers/podman/v4/pkg/util"
|
"github.com/containers/podman/v4/pkg/util"
|
||||||
"github.com/containers/storage/pkg/ioutils"
|
|
||||||
"github.com/containers/storage/pkg/lockfile"
|
"github.com/containers/storage/pkg/lockfile"
|
||||||
"github.com/digitalocean/go-qemu/qmp"
|
"github.com/digitalocean/go-qemu/qmp"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
@ -1523,22 +1522,7 @@ func (v *MachineVM) writeConfig() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// Write the JSON file
|
// Write the JSON file
|
||||||
opts := &ioutils.AtomicFileWriterOptions{ExplicitCommit: true}
|
return machine.WriteConfig(v.ConfigPath.Path, v)
|
||||||
w, err := ioutils.NewAtomicFileWriterWithOpts(v.ConfigPath.GetPath(), 0644, opts)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer w.Close()
|
|
||||||
|
|
||||||
enc := json.NewEncoder(w)
|
|
||||||
enc.SetIndent("", " ")
|
|
||||||
|
|
||||||
if err := enc.Encode(v); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commit the changes to disk if no errors
|
|
||||||
return w.Commit()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// getImageFile wrapper returns the path to the image used
|
// getImageFile wrapper returns the path to the image used
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"github.com/containers/podman/v4/pkg/machine/wsl/wutil"
|
"github.com/containers/podman/v4/pkg/machine/wsl/wutil"
|
||||||
"github.com/containers/podman/v4/pkg/util"
|
"github.com/containers/podman/v4/pkg/util"
|
||||||
"github.com/containers/storage/pkg/homedir"
|
"github.com/containers/storage/pkg/homedir"
|
||||||
"github.com/containers/storage/pkg/ioutils"
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"golang.org/x/text/encoding/unicode"
|
"golang.org/x/text/encoding/unicode"
|
||||||
"golang.org/x/text/transform"
|
"golang.org/x/text/transform"
|
||||||
|
@ -405,28 +404,7 @@ func downloadDistro(v *MachineVM, opts machine.InitOptions) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *MachineVM) writeConfig() error {
|
func (v *MachineVM) writeConfig() error {
|
||||||
const format = "could not write machine json config: %w"
|
return machine.WriteConfig(v.ConfigPath, v)
|
||||||
jsonFile := v.ConfigPath
|
|
||||||
|
|
||||||
opts := &ioutils.AtomicFileWriterOptions{ExplicitCommit: true}
|
|
||||||
w, err := ioutils.NewAtomicFileWriterWithOpts(jsonFile, 0644, opts)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf(format, err)
|
|
||||||
}
|
|
||||||
defer w.Close()
|
|
||||||
|
|
||||||
enc := json.NewEncoder(w)
|
|
||||||
enc.SetIndent("", " ")
|
|
||||||
if err := enc.Encode(v); err != nil {
|
|
||||||
return fmt.Errorf(format, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commit the changes to disk if no error has occurred
|
|
||||||
if err := w.Commit(); err != nil {
|
|
||||||
return fmt.Errorf(format, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupConnections(v *MachineVM, opts machine.InitOptions) error {
|
func setupConnections(v *MachineVM, opts machine.InitOptions) error {
|
||||||
|
|
Loading…
Reference in New Issue