Database View: view_vms

This view is one of a suite of related views supporting the primary status display of CSV2. The suite includes:

  1. view_cloud_status (also used by timeseries)
  2. view_cloud_status_flavor_slot_detail_summary
  3. view_cloud_status_flavor_slot_detail
  4. view_cloud_status_flavor_slot_summary
  5. view_cloud_status_slot_detail_summary
  6. view_cloud_status_slot_detail (also used by timeseries)
  7. view_cloud_status_slot_summary
  8. view_job_status (also used by timeseries)
  9. view_vms

The view_vms combines information from csv2_vms, cloud_flavors, and condor_machines to furnish the User Interface with VM information. The view presents one row per VM which is accessed via expanded views on the web cloud status page or through an optional table of the CLI cloud status command.

Columns:

  • group_name (String(32)):

    Is the name of the group owning this VM.

  • cloud_name (String(32)):

    Is the name of the cloud hosting this VM.

  • target_alias (String(32)):

  • region (String(32)):

    Is the region within the cloud where the VM is running.

  • vmid (String(128)):

    Is the unique ID of the VM and is normally assignd by CSV2. However, when the cloud_type is “amazon”, this field will contain either the instance ID or the request ID (spot market).

  • spot_instance (Boolean):

    This boolean value indicates whether this VM was requested using spot market pricing. If set to 0, a spot market pricing was not requested. If set to 1, a spot market pricing was requested and the VM is subject to termination due to market conditions.

  • instance_id (String(64)):

    This field is normally NULL. However, when the VM is instantiated as a result of an “amazon” spot market request, this field will contain the VM instance ID.

  • cloud_type (String(64)):

    Is the type of cloud hosting this VM.

  • vm_ips (String(128)):

    Is a comma seperated list of fixed IP addresses assigned to the VM by the cloud.

  • vm_floating_ips (String(128)):

    Is a comma seperated list of floating IP addresses assigned to the VM by the cloud.

  • auth_url (String(128)):

    Is the authorization URL of the cloud hosting this VM.

  • project (String(128)):

    Is the project used to authenticate with the cloud hosting this VM.

  • hostname (String(128)):

    Is the short hostname of the VM.

  • keep_alive (Integer):

    Is the number of seconds to retain this VM after it becomes idle.

  • start_time (Integer):

    Is a timestamp, in epoch seconds, of when the VM start; the value is set by the scheduler.

  • status (String(32)):

    Is a string indicating the current status of the VM, eg. ACTIVE, STARTING, ERROR, etc. For a detailed description of possible values, refer to the respective cloud documentation for this cloud type.

  • flavor_id (String(128)):

    Is the ID of the flavor describing the resources assigned to this VM.

  • image_id (String(128)):

  • task (String(32)):

    Is a string indicating the current task of the VM, eg. Spawning, Building, etc. When the VM is ACTIVE, this field is normally null. For a detailed description of possible values, refer to the respective cloud documentation for this cloud type.

  • power_status (Integer):

    This field indicates the virtual power status as either “On” (1) or “Off” (0).

  • manual_control (Boolean):

    This boolean field is normally set to 0 but can be toggled by the User Interface (UI). When set to 1, the VM is in manual control and is ignored by CSV2. This is normally used for debugging purposes to stop CSV2 terminating problematic VMs. It can be very useful when trying to diagnose contextualization issues.

  • htcondor_startd_errors (String(256)):

    Is a string returned by the csv2-vm-data poller of extracted errors in the HTCondor logs on the VM.

  • htcondor_startd_time (Integer):

    Is a timestamp in epoch seconds indicating when the last update to htcondor_startd_errors occurred.

  • htcondor_partitionable_slots (Integer):

    Is the count of the currently active primary/partitionable slots on the virtual machine. Any value greater than zero (the count is normally 0 or 1) indicates that the VM is registered with HTCondor. The field is maintained by a database trigger which detects changes to the table condor_machines.

  • htcondor_dynamic_slots (Integer):

    Is the count of the currently active dynamic slots on the virtual machine. Dynamic slots are created (by HTCondor) to run a job. So, this count reflects the number of jobs running on the VM. If the count is 0, the VM is considered “idle”. The field is maintained by a database trigger which detects changes to the table condor_machines.

  • htcondor_slots_timestamp (Integer):

    Is a timestamp in epoch seconds indicating when the last update to either htcondor_partitionable_slots or htcondor_dynamic_slots occurred.

  • retire (Integer):

    This control determines whether a VM is to be retired. If set to 0, the VM is not retired. If set greater than 0, then CSV2 will continue to issue retire requests to the VM until the VM reports a status of “Retiring”. Each time a retire request is made, this field will be incremented by 1.

  • retire_time (Integer):

    Deprecated.

  • terminate (Integer):

    This control determines whether a VM is being terminated (killed). Normally, VMs are terminated when they have been retired (see the field “retire”, above) and the VM is unregistered (see the field “htcondor_partitionable_slots”, above). Setting this filed to a value greater than 1, will force the termination. If set greater than 0, then CSV2 will continue to issue terminate requests to the cloud until the VM no longer exists. Each time a terminate request is made, this field will be incremented by 1.

  • terminate_time (Integer):

    Deprecated.

  • status_changed_time (Integer):

    Is a timestamp in epoch seconds indicating when the last update to status occurred.

  • last_updated (Integer):

    Is a timestamp in epoch seconds indicating when the last update occurred.

  • updater (String(128)):

    Is a string identifying the preocess and type of update of either the retire or terminate fields.

  • flavor_name (String(128)):

    Name of the flavor.

  • condor_slots (Integer):

    Is the total number of HTCondor slots, including both partitionable and dynamic slots. This value has been superceded by the htcondor_partitionable_slots and htcondor_dynamic_slots columns and should be deprecated.

  • condor_slots_used (Integer):

    Is the total number of HTCondor dynamic slots. This value has been superceded by the htcondor_dynamic_slots column and should be deprecated.

  • machine (String(256)):

    Is the HTCondor unique machine name running this partition and takes the form “fqdn_of_the_vm>”. Note, all partitions running on the same VM will have the same machine name but unique names (distinguished by the “slotr_identifier”).

  • my_current_time (Integer):

    The current time within the partition.

  • entered_current_state (Integer):

    Is the time in epoch seconds the partition entered its current state.

  • idle_time (Integer):

    Normally NULL.

  • foreign_vm (Integer):

    This field is always set to zero because only ‘native’ VMs are reported. This field should be deprecated.

  • cores (Integer):

    Is the number of cores used by this VM.

  • disk (Integer):

    Is the size in gigabytes of disk used by this VM.

  • ram (Integer):

    Is the size in kilobytes of RAM used by this VM.

  • swap (Integer):

    Is the size in gigabytes of swap space used by this VM.

  • poller_status (String(12)):

    Is a digest of the htcondor_dynamic_slots, htcondor_partitionable_slots, **manual, retire, and status columns resulting in one of the standard CSV2 VM status codes: starting, unregistered, idle, running, retiring, error, and manual.

  • age (Integer):

    Is the number of seconds since the number of htcondor_partitionable_slots or the number htcondor_dynamic_slots have changed.