Cloud Configuration Gathering Scripts Through Cloud APIsΒΆ

A cloud provides APIs to retrieve information instances, images, users, networks, instance storage, apiendpoints, quotas, and hypervisors. This information must be collected as part of instance and cloud configuration during different phases of the benchmark.

The kit ships with a reference set of scripts that have been tested with OpenStack. It is the responsibility of a cloud provider to provide an implementation of these scripts to the extent possible, test them, ensure that they are executed during a compliant run, and include the source code of the scripts in the FDR report.

The reference implementation for OpenStack is present in the following directory:

cd ~/osgcloud/driver/support_script/cloud_config/openstack

These scripts are only executed if cloud_config_support_evidence flag is set to true. For testing, the execution of these scripts is not needed.

  1. getinstances.sh

List all instances running in the cloud. The following information must be included: instance name, instance id, instance type or details (flavor), image id from which instance is provisioned, network id to which instance is connected to, state of the instance, time at which instance was started, ssh key used, id of the user who launched the instance, tenant id to which a user belongs (if applicable)

For black box, add the region/data center name as well as any availability zone information for the instances.

  1. getinstancetypes.sh
List the types of various instances available for provisioning in the cloud.
  1. getimages.sh
List the image names and image ids from which instances can be provisioned.
  1. getapiendpoint.sh
List the API endpoints which are called by CBTOOL to provision instances and other cloud resources.
  1. getusers.sh
List the users configured for this cloud.
  1. gettenant.sh
List the tenants configured for this cloud. Blackbox clouds do not necessarily have to have a separate tenant list.
  1. getnetworks.sh
List the networks (virtual) and routers (virtual) configured for this cloud. The following information must be included: network id, network name, IP address range, router information
  1. getquotas.sh
List the quota for the user or tenant. Following information must be included. instance quota, storage quota
  1. getblockstorage.sh
List the block storage devices and the instances they are attached to.
  1. gethypervisors.sh
[WHITEBOX ONLY] list the hypervisors in the cloud that are used in the cloud.

This Page