Validate environment

Use the API to run validations.

Validate API options

Table 1. Options for validations API
Method URI Description

POST

/v1/validate

Initiate validation run.

GET

/v1/validate/result

Report the results from the last completed validation and the status of any validation that is running.

Note: The time stamp indicates the previous start and completion. The time stamp is PowerVC specific.

Run validation

This operation does not take any request body. If given, the request body is ignored. In the following example, the response body contains the normal response code and the location of the validation result.

Response Codes
  • Normal Response Codes
    • Accepted (202) - Validation has started.
  • Error Response Codes
    • Not Found (404)
    • Server Error (500)
    • Forbidden (403) - A validation is already running in the background.
{"MsgSubstitutes": [], "Message": "Request accepted.", "ValidationId": "d650dc5b48f94135b29d760a34ecd914", "MessageId": "VAL_REQ_ACCEPTED"}

View validation result

This operation does not take any request body. If given, the request body is ignored. In the following example, the response body contains the normal response code and the location of the validation result.
  • Normal Response Codes
    • OK (200)
    • Partial Content (206) - Partial results are available.
  • Error Response Codes
    • Not Found (404)
    • Server Error (500)
    • Forbidden (403) - A validation is already running in the background.
Table 2. Parameters in the response body
Name Style Type Description

ip

json element

string

IP address of the resource on which validation is run.

msg

json element

string

Validation message.

refs

json element

string

Link to help pages, if any.

status

json element

string

Describes whether a validation is a pass or a fail.

response

json element

string

Corrective action message if a validation is not passed.

type

json element

string

Part of refs element to specify whether it is a help link.

value

json element

string

Help link value.

group-description

json element

string

Description of a validation group.

completed-categories

json element

integer

Number of categories or groups for which validation is completed.

elapsed-time

json element

string

Time that is taken for the validation to start in seconds.

management-server

json element

string

PowerVC management server IP.

start-time

json element

time-stamp

Time when the validation started.

stop-time

json element

time-stamp

Time when the validation is completed.

task-id

json element

string

ID of the task.

total-categories

json element

integer

Total number of categories for validation.

version

json element

integer

Version of the code.

Example:
{
  "executing-tasks": [], 
  "prior-results": [
    {
      "check-groups": {
        "CISCO_FABRIC_VALIDATOR": {
          "ExecStatus": 4, 
          "ValidationStatus": "Success", 
          "checks": [
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "9.114.181.187", 
              "msg": "9.114.181.187 resource is reachable from the management server.", 
              "msg-id": "IPADDRESS_NETWORK_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "CISCO_FABRIC_REACHABILITY"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "9.114.181.187", 
              "msg": "The switch has the required firmware.", 
              "msg-id": "CISCO_FIRMWARE_SUCCESS", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "CISCO_FABRIC_FIRMWARE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "9.114.181.187", 
              "msg": "The total zoning memory space is as per the limit.", 
              "msg-id": "CISCO_TOTAL_ZONING_MEMORY_SUCCESS", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "CISCO_FABRIC_ZONING_MEMORY_SPACE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "9.114.181.187", 
              "msg": "The user has the privileges necessary to create and delete zones on the switch.", 
              "msg-id": "CISCO_ZONING_ROLE_SUCCESS", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "CISCO_FABRIC_USER_ZONING_ROLE"
            }
          ], 
          "group-description": "Cisco Fabric validations", 
          "refs": []
        }, 
        "VIOS_VALIDATOR": {
          "ExecStatus": 4, 
          "ValidationStatus": "Success", 
          "checks": [
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14", 
              "msg": "There are 2 Virtual I/O Server virtual machines on the host.", 
              "msg-id": "POWERSERVER_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MINIMUM_COUNT"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios2", 
              "msg": "The available media repository free space is 1024MB, which is equal to or greater than the 500MB size that is required.", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MEDIA_REPOSITORY_FREE_SPACE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios2", 
              "msg": "The version of Virtual I/O Server V7R2_14:V7R2_14_vios2 is supported.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_OS_VERSION"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios2", 
              "msg": "The RMC connection on Virtual I/O Server virtual machine V7R2_14:V7R2_14_vios2 is active.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_RMC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios2", 
              "msg": "The configured maximum number of virtual resources on Virtual I/O Server V7R2_14:V7R2_14_vios2 is equal to or greater than the recommended number. ", 
              "msg-id": "VIOS_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MAXIMUM_VIRTUAL_SLOTS"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios2", 
              "msg": "The \"Sync current configuration Capability\" property on Virtual I/O Server virtual machine V7R2_14:V7R2_14_vios2 is On.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_CURRENT_PROFILE_SYNC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios1", 
              "msg": "The available media repository free space is 1024MB, which is equal to or greater than the 500MB size that is required.", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MEDIA_REPOSITORY_FREE_SPACE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios1", 
              "msg": "The version of Virtual I/O Server V7R2_14:V7R2_14_vios1 is supported.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_OS_VERSION"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios1", 
              "msg": "The RMC connection on Virtual I/O Server virtual machine V7R2_14:V7R2_14_vios1 is active.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_RMC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios1", 
              "msg": "The configured maximum number of virtual resources on Virtual I/O Server V7R2_14:V7R2_14_vios1 is equal to or greater than the recommended number. ", 
              "msg-id": "VIOS_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MAXIMUM_VIRTUAL_SLOTS"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14:V7R2_14_vios1", 
              "msg": "The \"Sync current configuration Capability\" property on Virtual I/O Server virtual machine V7R2_14:V7R2_14_vios1 is On.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_CURRENT_PROFILE_SYNC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_14", 
              "msg": "The number of configured Shared Ethernet Adapters (SEAs) in available state on the system meets or exceeds the minimum requirement.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_SEA_COUNT"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15", 
              "msg": "There are 2 Virtual I/O Server virtual machines on the host.", 
              "msg-id": "POWERSERVER_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MINIMUM_COUNT"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios2", 
              "msg": "The available media repository free space is 1024MB, which is equal to or greater than the 500MB size that is required.", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MEDIA_REPOSITORY_FREE_SPACE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios2", 
              "msg": "The version of Virtual I/O Server V7R2_15:V7R2_15_vios2 is supported.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_OS_VERSION"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios2", 
              "msg": "The RMC connection on Virtual I/O Server virtual machine V7R2_15:V7R2_15_vios2 is active.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_RMC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios2", 
              "msg": "The configured maximum number of virtual resources on Virtual I/O Server V7R2_15:V7R2_15_vios2 is equal to or greater than the recommended number. ", 
              "msg-id": "VIOS_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MAXIMUM_VIRTUAL_SLOTS"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios2", 
              "msg": "The \"Sync current configuration Capability\" property on Virtual I/O Server virtual machine V7R2_15:V7R2_15_vios2 is On.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_CURRENT_PROFILE_SYNC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios1", 
              "msg": "The available media repository free space is 1024MB, which is equal to or greater than the 500MB size that is required.", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MEDIA_REPOSITORY_FREE_SPACE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios1", 
              "msg": "The version of Virtual I/O Server V7R2_15:V7R2_15_vios1 is supported.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_OS_VERSION"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios1", 
              "msg": "The RMC connection on Virtual I/O Server virtual machine V7R2_15:V7R2_15_vios1 is active.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_RMC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios1", 
              "msg": "The configured maximum number of virtual resources on Virtual I/O Server V7R2_15:V7R2_15_vios1 is equal to or greater than the recommended number. ", 
              "msg-id": "VIOS_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_MAXIMUM_VIRTUAL_SLOTS"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15:V7R2_15_vios1", 
              "msg": "The \"Sync current configuration Capability\" property on Virtual I/O Server virtual machine V7R2_15:V7R2_15_vios1 is On.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_CURRENT_PROFILE_SYNC_STATE"
            }, 
            {
              "MsgSubstitutes": "", 
              "Verbose": "", 
              "ip": "V7R2_15", 
              "msg": "The number of configured Shared Ethernet Adapters (SEAs) in available state on the system meets or exceeds the minimum requirement.", 
              "msg-id": "VIOS_HMC_CONFIGURATION", 
              "refs": [], 
              "status": "pass", 
              "val_check_id": "VIOS_SEA_COUNT"
            }
          ], 
          "group-description": "VIOS validations", 
          "refs": []
        }
      }, 
      "stop-time": "2015-03-25T06:27:34Z"
    }
  ]
}

Custom validation API

Use this API to execute custom validations.

Custom validate API options

Table 3. Options for custom validation API
Method URI Description

GET

/v1/validate/getall

This result lists all available validators.

POST

/v1/validate/selective

Initiate the validation for selected validators only.
Note: To view the validation results, follow the steps in the 'Validate API options' section.
Note: The time stamp indicates the previous start and completion. The time stamp is PowerVC specific.
Response body for GET API /v1/validate/getall.
[
			"all",
			{
				"validators_list": {
					"Management Server Resource": "all",
					"Management Server Service": "all",
					"Certificate Expiration": "all",
					"Collocation Policies": "all",
					"NovaLink Registration": "all",
					"NovaLink Network": "all",
					"NovaLink SRIOV": "all",
					"VIOS": "all",
					"VIOS Storage Connectivity": "all",
					"HMC Version": "all",
					"HMC Redundancy": "all",
					"HMC Managed Host": "all",
					"HMC SRIOV": "all",
					"Compute Plane Node": "all",
					"CISCO Fabric": "all",
					"Brocade Fabric": "all",
					"Cinder Backup node": "all",
					"EMC VNX": "all",
					"EMC VMAX": "all",
					"XIV Storage": "all",
					"DS8K Storage": "all",
					"HITACHI Storage": "all",
					"HITACHI GAD Storage": "all",
					"Pure Storage": "all",
					"General Parallel File System (GPFS) version": "all",
					"Shared Storage Pool (SSP)": "all",
					"SVC Storage": "all",
					"HPE Storage": "all",
					"Networknode": "all",
					"Port group": "all",
					"Installed Package Version": "all",
					"Rabbit Message Queue": "all",
					"Resource Availability": "all",
					"Db Purge": "all"
				}
			}
		]
Request body for POST API /v1/validate/selective.
'{"validators":["Installed Package Version","Resource Availability"]}'
Note: To view the validation results, follow the steps in the 'Validate API options' section.