Test Suites

With the rapid advancements in cloud computing and containerization technology, Cloud Orbiter recognizes the importance of ensuring that the cluster's behavior during the ups and downs of application scaling remains predictable to avoid application downtime, which can lead to lost revenue and damage your business's reputation.

To help verify the suitability of the cluster environment for application execution, Cloud Orbiter offers a pre-configured set of test suites containing pre-packaged test cases. These pre-bundled test suites enable you to proactively verify your clusters before application deployment and post-deployment to ensure optimal performance.

Furthermore, Cloud Orbiter provides the flexibility to bring your own test suites and run them on your clusters, giving you complete control over the validation process.

With Cloud Orbiter, you can ensure that your Kubernetes clusters are secure, reliable, and consistently perform at their best. We are providing these test out of the box

Health Checks

Executes a comprehensive set of health checks on the target Kubernetes cluster, including checks for cluster components, network connectivity, and resource utilization. These checks provide valuable insights into the overall health of the cluster, helping you identify potential issues before they affect application performance.

Resiliency

Executes a set of resiliency checks for the Kubernetes control plane of the target cluster. These checks help you evaluate the resilience of the cluster to various types of failures, including node failures, network disruptions, and service disruptions.

CIS Security

Executes a CIS security scan to check the cluster's security posture against industry-standard benchmarks. This scan helps you identify potential security vulnerabilities and provides recommendations for improving the overall security of the cluster.

API

Provides an API interface that lets you query and manipulate the state of the API objects, such as pods, namespaces, configmaps, and events. This interface enables you to automate cluster management tasks and integrate with other tools in your DevOps toolchain.

Pod Robustness

Executes a series of tests to ensure the ability of the pods to withstand unexpected disruptions and maintain their stability under varying conditions. These tests evaluate the resilience of the pods to different types of failures, including node failures, network disruptions, and service disruptions.

Bringing Your Own Test Suites

At Cloud Orbiter, we understand that every business has unique requirements and needs regarding application deployment. To cater to this, we offer you the option to bring your own test suites and customize them to meet your specific requirements.

Using Host Network

When defining a custom test suite for your Kubernetes cluster, you may choose to use the host network. When you use the host network, your test suite can access the same network interfaces as the host machine. This can be useful when testing network connectivity between pods or nodes on your cluster.

DNS Policy

DNS policy is a crucial aspect of Kubernetes networking that can significantly impact the cluster's performance and reliability. Considering and configuring DNS policies is essential based on the cluster's requirements and resources.

Different types of DNS policies exist in Kubernetes, each with its own set of rules and configurations. For instance, some commonly used DNS policies include:

  1. ClusterFirst: This policy configures Kubernetes to look up the DNS records in the cluster first and fall back to external DNS servers if no records are found.

  2. ClusterFirstWithHostNet: This policy is similar to ClusterFirst but designed for pods that use the host network.

  3. Default: This policy uses the DNS resolver configured on the host system and does not provide any cluster-level DNS resolution.

  4. None: Disables DNS for the pod.

If you choose to use the host network, it is recommended that you also configure your DNS policy to use the cluster first policy with the host network. This ensures that DNS queries are resolved using the cluster's DNS service first and then fall back to the host machine's DNS service if necessary. This can help ensure that your tests use the correct DNS resolution and avoid potential issues with inconsistent or incorrect DNS resolution.

For more information on DNS policies in Kubernetes, please refer to the official Kubernetes documentation

Robot Arguments

In the context of the Robot Framework, robot arguments refer to the input parameters passed to test suites, test cases, or keywords when executed. These arguments are used to provide specific input data, configuration options, or other values required to run a test. By leveraging the functionality of robot arguments, you can further customize your test suites to meet your specific needs and requirements.

For more information on Robot Framework and robot arguments, please refer to the official documentation

Image Name

It typically refers to the name of the container image used to create a Kubernetes pod. Users can specify the image name in various ways, including as a parameter in a Kubernetes deployment manifest, as a command-line argument when using a container runtime such as Docker, or as an environment variable.

To bring your own test suites, follow these steps

  1. Log in to the Cloud Orbiter platform using your credentials.
  2. Navigate to the Test Suites tab in the menu bar.
  3. Click on the Add Test Suites option to open a new navigation drawer.
  4. In the form, name the test suites and provide a description.
  5. Specify the DNS policy that your test suites require.
  6. Specify the Robot Arguments that are necessary for your test suites.
  7. Specify the image name.
  8. Choose the distributions as all, or include or exclude a few from the list to meet your specific needs.
  9. Click the Create button to complete the process of adding the test suites.
  10. Your custom test suites will now be available for use in the Cloud Orbiter platform under the Test Suites tab.

Accessing Test Suites on Cloud Orbiter

  1. Log in to the Cloud Orbiter platform by entering your credentials.
  2. Once you are logged in, navigate to the menu bar.
  3. In the menu bar, look for the Test Suites tab and click on it. This will open the list of all available test suites.

Executing Test Suites on a Specific Cluster in Cloud Orbiter

Access to execute the test suite is restricted only to the user who created the cluster, the project owner, and the tenant administrator. These restrictions ensure that the execution of test suites is performed by authorized users and promote the security and integrity of the test environment.

  1. Log in to the Cloud Orbiter platform using your credentials.
  2. In the menu bar, click on the Cluster tab to view the list of all imported or created clusters.
  3. Choose the cluster for which you want to execute the relevant test suites.
  4. Navigate to the Test Suites tab and click on the Execute Test Suite button.
  5. This will list all the applicable test suites for the selected cluster.
  6. Select the test suites that you want to execute for this specific cluster.
  7. Click on the Execute button to start the test suite execution process.
  8. The execution process will begin, and you can monitor its progress in real-time.

Upon completion of the test suites, users will receive a notification indicating the status and results of the tests. This provides users with feedback on the outcome of their test executions and enables them to take appropriate actions based on the results.

Accessing Test Suites Execution Information

  1. Log in to the Cloud Orbiter platform by entering your credentials.
  2. Navigate to the Test Suites tab.
  3. Click on the cluster name for which the test suite was executed.
  4. You will see a summary of the test suite execution status.
  5. To access detailed insights, click on the cluster name.
  6. The detailed insights will provide you with more information on the test suite execution status.

Once the test suite execution is completed, you can access the execution information to get a comprehensive overview of the test results. The summary provides essential information about the test execution status, such as the number of passed and failed tests and any errors or warnings encountered during the execution. This summary helps you quickly identify any issues that may have occurred during the testing process.

Filtering Test Suites Execution Summary

  1. After accessing the execution summary, you can filter the summary based on the status.
  2. Click on the Status Filter button.
  3. Select the status that you want to filter (All/Pass/Fail/Warn/Info).
  4. The summary will show the executions related to that status.

Downloading Logs and Reports

Furthermore, you can view detailed logs related to the test suite execution, allowing you to troubleshoot and diagnose any issues that may arise during the testing process. The logs provide a record of all test steps executed, along with any errors or exceptions encountered during the test execution.

Apart from the logs, you can download a detailed report that includes an interactive chart of test results and past test execution history. This report provides valuable insights into the overall performance and reliability of the test suite, allowing you to identify areas that require further attention or improvement.

  1. After accessing the execution summary, you can download the reports and logs related to the test suite execution.
  2. Click on the Download PDF/Download Log button.
  3. The report or log will be downloaded to your device.