Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/components/versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ firmware:
libvirt: v10.9.0
edk2: stable202411
core:
3p-kubevirt: v1.6.2-v12n.25
3p-kubevirt: v1.6.2-v12n.26
3p-containerized-data-importer: v1.60.3-v12n.18
distribution: 2.8.3
package:
Expand Down
68 changes: 67 additions & 1 deletion images/virt-launcher/vlctl/cmd/vlctl/app/domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ func NewDomainCommand() *cobra.Command {
}

cmd.Flags().BoolVarP(&fromFile, "from-file", "f", false, "Read domain specification from file")
cmd.AddCommand(NewDomainStatsCommand())
cmd.AddCommand(
NewDomainStatsCommand(),
NewDomainBlockJobsCommand(),
NewDomainJobsCommand(),
)

return cmd
}
Expand Down Expand Up @@ -103,6 +107,30 @@ func NewDomainStatsCommand() *cobra.Command {

}

func NewDomainBlockJobsCommand() *cobra.Command {
return &cobra.Command{
Use: "block-jobs",
Short: "Get current QEMU block jobs status",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, _ []string) error {
baseOpts := BaseOptionsFromCommand(cmd)
return runDomainBlockJobsCommand(baseOpts)
},
}
}

func NewDomainJobsCommand() *cobra.Command {
return &cobra.Command{
Use: "jobs",
Short: "Get current QEMU jobs status",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, _ []string) error {
baseOpts := BaseOptionsFromCommand(cmd)
return runDomainJobsCommand(baseOpts)
},
}
}

func runDomainStatsCommand(opts BaseOptions) error {
if err := opts.Validate(); err != nil {
return err
Expand All @@ -124,3 +152,41 @@ func runDomainStatsCommand(opts BaseOptions) error {

return marshalAndPrintOutput(&opts, stats)
}

func runDomainBlockJobsCommand(opts BaseOptions) error {
if err := opts.Validate(); err != nil {
return err
}

client, err := opts.Client()
if err != nil {
return fmt.Errorf("failed to create client: %w", err)
}
defer client.Close()

jobs, err := client.GetBlockJobsStatus()
if err != nil {
return fmt.Errorf("failed to get block jobs status: %w", err)
}

return marshalAndPrintOutput(&opts, jobs)
}

func runDomainJobsCommand(opts BaseOptions) error {
if err := opts.Validate(); err != nil {
return err
}

client, err := opts.Client()
if err != nil {
return fmt.Errorf("failed to create client: %w", err)
}
defer client.Close()

jobs, err := client.GetJobsStatus()
if err != nil {
return fmt.Errorf("failed to get jobs status: %w", err)
}

return marshalAndPrintOutput(&opts, jobs)
}
Loading
Loading