Skip to content

Commit

Permalink
Merge pull request #11691 from afbjorklund/machine-list
Browse files Browse the repository at this point in the history
Add more information about the VM to podman machine list
  • Loading branch information
openshift-merge-robot authored Sep 22, 2021
2 parents 626df0a + 0baee2c commit 1dba601
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 7 deletions.
23 changes: 16 additions & 7 deletions cmd/podman/machine/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,13 @@ type listFlagType struct {
}

type machineReporter struct {
Name string
Created string
LastUp string
VMType string
Name string
Created string
LastUp string
VMType string
CPUs uint64
Memory string
DiskSize string
}

func init() {
Expand All @@ -54,7 +57,7 @@ func init() {

flags := lsCmd.Flags()
formatFlagName := "format"
flags.StringVar(&listFlag.format, formatFlagName, "{{.Name}}\t{{.VMType}}\t{{.Created}}\t{{.LastUp}}\n", "Format volume output using Go template")
flags.StringVar(&listFlag.format, formatFlagName, "{{.Name}}\t{{.VMType}}\t{{.Created}}\t{{.LastUp}}\t{{.CPUs}}\t{{.Memory}}\t{{.DiskSize}}\n", "Format volume output using Go template")
_ = lsCmd.RegisterFlagCompletionFunc(formatFlagName, completion.AutocompleteNone)
flags.BoolVar(&listFlag.noHeading, "noheading", false, "Do not print headers")
}
Expand Down Expand Up @@ -85,8 +88,11 @@ func list(cmd *cobra.Command, args []string) error {

func outputTemplate(cmd *cobra.Command, responses []*machineReporter) error {
headers := report.Headers(machineReporter{}, map[string]string{
"LastUp": "LAST UP",
"VmType": "VM TYPE",
"LastUp": "LAST UP",
"VmType": "VM TYPE",
"CPUs": "CPUS",
"Memory": "MEMORY",
"DiskSize": "DISK SIZE",
})

row := report.NormalizeFormat(listFlag.format)
Expand Down Expand Up @@ -136,6 +142,9 @@ func toHumanFormat(vms []*machine.ListResponse) ([]*machineReporter, error) {
}
response.Created = units.HumanDuration(time.Since(vm.CreatedAt)) + " ago"
response.VMType = vm.VMType
response.CPUs = vm.CPUs
response.Memory = units.HumanSize(float64(vm.Memory) * units.MiB)
response.DiskSize = units.HumanSize(float64(vm.DiskSize) * units.GiB)

humanResponses = append(humanResponses, response)
}
Expand Down
3 changes: 3 additions & 0 deletions pkg/machine/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ type ListResponse struct {
LastUp time.Time
Running bool
VMType string
CPUs uint64
Memory uint64
DiskSize uint64
}

type SSHOptions struct {
Expand Down
2 changes: 2 additions & 0 deletions pkg/machine/qemu/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ type MachineVM struct {
ImagePath string
// Memory in megabytes assigned to the vm
Memory uint64
// Disk size in gigabytes assigned to the vm
DiskSize uint64
// Name of the vm
Name string
// SSH port for user networking
Expand Down
4 changes: 4 additions & 0 deletions pkg/machine/qemu/machine.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ func NewMachine(opts machine.InitOptions) (machine.VM, error) {

vm.CPUs = opts.CPUS
vm.Memory = opts.Memory
vm.DiskSize = opts.DiskSize

// Look up the executable
execPath, err := exec.LookPath(QemuCommand)
Expand Down Expand Up @@ -574,6 +575,9 @@ func GetVMInfos() ([]*machine.ListResponse, error) {

listEntry.Name = vm.Name
listEntry.VMType = "qemu"
listEntry.CPUs = vm.CPUs
listEntry.Memory = vm.Memory
listEntry.DiskSize = vm.DiskSize
fi, err := os.Stat(fullPath)
if err != nil {
return err
Expand Down

0 comments on commit 1dba601

Please sign in to comment.