Skip to content

Commit

Permalink
Merge pull request #21230 from jakecorrenti/applehv-set-rootful
Browse files Browse the repository at this point in the history
Fix `podman machine set --rootful` for applehv
  • Loading branch information
openshift-merge-bot[bot] authored Jan 11, 2024
2 parents 83f89db + 7bd5dd4 commit a193eaf
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions pkg/machine/applehv/machine.go
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,15 @@ func (m *MacMachine) writeConfig() error {
return os.WriteFile(m.ConfigPath.Path, b, 0644)
}

func (m *MacMachine) setRootful(rootful bool) error {
if err := machine.SetRootful(rootful, m.Name, m.Name+"-root"); err != nil {
return err
}

m.HostUser.Modified = true
return nil
}

func (m *MacMachine) Set(name string, opts machine.SetOptions) ([]error, error) {
var setErrors []error

Expand Down Expand Up @@ -438,6 +447,14 @@ func (m *MacMachine) Set(name string, opts machine.SetOptions) ([]error, error)
setErrors = append(setErrors, errors.New("changing USBs not supported for applehv machines"))
}

if opts.Rootful != nil && m.Rootful != *opts.Rootful {
if err := m.setRootful(*opts.Rootful); err != nil {
setErrors = append(setErrors, fmt.Errorf("failed to set rootful option: %w", err))
} else {
m.Rootful = *opts.Rootful
}
}

// Write the machine config to the filesystem
err = m.writeConfig()
setErrors = append(setErrors, err)
Expand Down Expand Up @@ -697,6 +714,17 @@ func (m *MacMachine) Start(name string, opts machine.StartOptions) error {
m.isIncompatible(),
m.Rootful,
)

// update the podman/docker socket service if the host user has been modified at all (UID or Rootful)
if m.HostUser.Modified {
if machine.UpdatePodmanDockerSockService(m, name, m.UID, m.Rootful) == nil {
// Reset modification state if there are no errors, otherwise ignore errors
// which are already logged
m.HostUser.Modified = false
_ = m.writeConfig()
}
}

return nil
}

Expand Down

0 comments on commit a193eaf

Please sign in to comment.