Scheduling Virtual Machine Changes

Scheduling changes provides flexibility to execute API actions at any given time. For instance, scheduling to automatically upgrade VMware Tools, or to Shutdown VM and then increase memory or CPU can be accomplished by just adding the schedule attribute to any vss-cli compute set <moref> <attribute> as described below:

vss-cli compute vm set --help Manage virtual machine attributes such as cpu, memory, disk, network backing, cd, etc.. Options: -s, --schedule [%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M] Schedule change in a given point in time based on format YYYY-MM-DD HH:MM. -u, --user-meta TEXT User metadata in key=value format. These tags are stored in the request. --help Show this message and exit.

This guide exemplifies the scheduling process for the following actions:

  • Shutdown/Power Off VM to run at 2019-04-06 00:08: state

  • Add CPU to run at 2019-04-06 00:10: cpu count

  • Update boot delay at 2019-04-06 00:11: boot-delay

  • Add Memory to run at 2019-04-06 00:12: memory size

  • Power On VM to run at 2019-04-06 00:15: state

  • Reschedule the memory size change.

  • Cancel boot-delay change.

Virtual Machine ID

Optional. Get virtual machine MOREF or UUID with vss-cli compute vm ls and apply any filtering if required:

This version of the VSS CLI supports managing virtual machines not only using the MOREF, but using names. In case of multiple results, the CLI prompts to select the right instance.

vss-cli compute vm ls -f name=Front moref name folder.path cpu_count memory_gb power_state ip_address ------- --------------- ------------------------- ----------- ----------- ------------- ------------ vm-2183 2004T-Frontend2 VSS > Development > Dev02 2 2 poweredOff

Once you got the target virtual machine MOREF proceed to scheduling the changes.

Power Off

Schedule the power off task by adding the --schedule option with the desired value to the state off command as follows:

vss-cli compute vm set --schedule "2019-04-06 00:08" cranky_sinoussi state off # or vss-cli compute vm set --schedule "2019-04-06 00:08" vm-2183 state off

Add CPU

Schedule the task to add cpu with the --schedule option with the desired value to the cpu count <numCpu> command as follows:

Update boot delay

Schedule the task to update boot-delay with the --schedule option and the desired value to the boot-delay <milliseconds> command as follows:

Add Memory

Schedule the task to add memory with the --schedule option with the desired value to the memory size <numCpu> command as follows:

Power ON

Schedule the power on task by adding the --schedule option with the desired value to the state on command as follows:

Reschedule Memory Change

To reschedule a scheduled update, use the command vss-cli request change set {request_id} schedule with the option -d/--date-time:

Assuming you got change request 24542 as a result of submitting the memory change, the command to update the scheduled datetime should be something like:

Cancel Boot Delay Change

To cancel a scheduled update, use the command vss-cli request change set {request_id} schedule with the option -c/--cancel:

Assuming you got change request 24545 as a result of submitting the memory change, the command to update the scheduled datetime should be something like:

For now, you just wait for the tasks to be executed in the requested date and time.

University of Toronto - Since 1827