Skip to content
Snippets Groups Projects
Select Git revision
  • 65d1cf7137271afdb40d8d6b71936ec8a931cefa
  • master default protected
  • scalp_fast_router_firmware
  • scalp_router_firmware
  • feature-mipi
  • ips_scalp_aurora_phy
  • SCALP_ROUTER_DMA-v0.3
  • SCALP_ROUTER_DMA-v0.2
  • SCALP_ROUTER_FAST-v0.1
  • SCALP-FAST-ROUTER-v0.1
  • SCALP-FAST-ROUTER-v0.0
  • SCALP_ROUTER_SLOW-v0.3
  • SCALP_ROUTER_SLOW-v0.2
  • SCALP_ROUTER_SLOW-v0.1
  • SCALP-SAFE-v0.5.1
  • SCALP-USER-v0.5.1
  • SCALP-USER-v0.5
  • SCALP-SAFE-v0.5
  • SCALP-SAFE-v0.01
  • v0.01
  • v0.1
  • v0.9.2
  • v0.9.1
23 results

scalp_router.vhd

Blame
  • vmReboot.go 1.47 KiB
    package cmdVM
    
    import (
        u "nexus-client/utils"
        g "nexus-client/globals"
    )
    
    type Reboot struct {
        Name string
    }
    
    func (cmd *Reboot)GetName() string {
        return cmd.Name
    }
    
    func (cmd *Reboot)GetDesc() []string {
        return []string{
            "Gracefully reboots one or more VMs.",
            "Requires VM_REBOOT VM access capability or VM_REBOOT_ANY user capability."}
    }
    
    func (cmd *Reboot)PrintUsage() {
        printRegexUsage(cmd)
        printRegexUsageDetails()
    }
    
    func (cmd *Reboot)Run(args []string) int {
        client := g.GetInstance().Client
        host := g.GetInstance().Host
    
        argc := len(args)
        if argc < 1 {
            cmd.PrintUsage()
            return 1
        }
    
        vms, err := getFilteredVMs("/vms/reboot", args)
        if err != nil {
            u.PrintlnErr(err.Error())
            return 1
        }
    
        if len(vms) == 0 {
            u.PrintlnErr("Error: VM(s) not found.")
            return 1
        }
    
        statusCode := 0
    
        for _, vm := range(vms) {
            uuid := vm.ID.String()
            resp, err := client.R().Put(host+"/vms/"+uuid+"/reboot")
            if err != nil {
                u.PrintlnErr("Reboot failed for VM \""+vm.Name+"\": "+err.Error())
                statusCode = 1
            } else {
                if resp.IsSuccess() {
                    u.Println("Sent reboot message to VM \""+vm.Name+"\"")
                } else {
                    u.PrintlnErr("Reboot failed for VM \""+vm.Name+"\": "+resp.Status()+": "+resp.String())
                    statusCode = 1
                }
            }
    
        }
    
        return statusCode
    }