6.1 KiB
Edge Compute Framework Structure documentation
Table of Contents
Introduction
This structure tries to fit Robot Framework User Guide good practices.
For more detailed information please check the following 🔗
Link
Edge Compute Folder Structure
stx-test-suite/
|--Libraries
|--Resources
|--MyResources file
|--Variables
|--global.py file
|--Utils
|--Tests
|--Horizon component
|--Tests.robot file
*** Settings ***
[Documentation]
[Tags]
imports...
Resources
Test Setup
Test Teardown
*** Test Cases
...
|--__init__.robot file
***Settings***
imports
Suite Setup
Suite Teardown
***keywords***
...
|--Keystone
|--Nova
|--Glance
|--Swift
|--Neutron
|--Cinder
|--Heat
|--Ceilometer
|--Results
|--YYYYMMDDHHMMSS<test_suite_name>
|--Latest-results
1. Libraries
Any test library that is NOT one of the standard libraries would be here.
2. Resources
Resource files contain user keywords used in test case files and test suite
initialization files providing a mechanism for sharing them.
Since the resource file structure is very close to test case files,
it is easy to create them.
Resource files are imported using the Resource setting in the settings table. The path to the resource file is given in the cell after the setting name.
e.g.
TEST CASE TEMPLATE
*** Settings ***
Resource my_resources.html
Resource ../data/resources.html
Resource ${RESOURCES}/common.tsv
*** Keywords ***
...
3. Variables
This folder should contain scripts declaring global variables, environmental variables, or any special variable used in the Edge Computing framework.
e.g.
- global.py
CONTROLLER_IP='10.10.10.10'
CONTROLLER_USERNAME='root'
CONTROLLER_PASSWORD='linux'
- virtual_machine_variables.py
- MEMDisk1=200GB
- MEMDisk2=100GB
4. Utils
This folder should contain generic functions that perform actions across the Edge Computing execution.
e.g.
- common_reports.py
- check_results_dir(...)
- create_output_dir(...)
- link_latest_run(...)
5. Test
Contains the Robot Automated Test scenarios per Edge Computing Component.
5.1 Horizon
Horizon folder should contain test cases focused on exercise the Horizon GUI where every tenant or application user can launch up/manage their own instances.
COMPONENT FOLDER STRUCTURE
Tests.robot file
*** Settings ***
[Documentation] tag specifying brief description of the Test case.
[Tags] keywords specifying what is being tested.
Imports...
# Import Order Template
# {{stdlib imports in human alphabetical order}}
# {{third-party lib imports in human alphabetical order}}
# {{project imports in human alphabetical order}}
# Import Order Example
import httplib
import logging
import random
import eventlet
import webob.exc
import nova.api.ec2
from nova.api import manager
from nova.api import openstack
Resources...
Test Setup
Test Teardown
*** Test Cases ***
...
init.robot file
The __ init__ file is a special test suite initialization file.
It is a test suite created from a directory that can have the same
structure and syntax as test case files, except that they cannot have test
case tables and not all settings are supported.
*** Settings ***
Imports ...
Suite Setup
Suite Teardown
*** Keywords ***
5.2 Keystone
Keystone folder should contain test cases focused on exercise the authorization
or authentication related to every layer of services in OpenStack.
e.g. Tokens, Catalog, Policy, and Assignment Service role.
5.3 Nova
Nova folder should contain test cases focused on exercise compute domain.
e.g. When you launch a instance is where all the computing and all the processing actually happens.
5.4 Glance
Glance folder should contain test cases focused on exercise services for launching the instances. Glance has all the disk images contained in them different versions of OS such as Linux, CentOS, Ubuntu, Windows.
5.5 Swift
Swift folder should contain test cases focused on exercise databases as a
Object Storage Services where you can store all kind of files as objects
.
REMARK: Everything is converted to an object and saved in the Storage File System.
5.6 Cinder
Cinder folder should contain test cases focused on exercise databases as a
Block storage
services where the database is seen like a pluggable storage
which is very similar to the disk storage system in a computer.
5.7 Neutron
Neutron folder should contain test cases focused on exercise the networking
service associated with all OpenStack Services.
5.8 Heat
Heat folder should contain test cases focused on exercise Orchestration.
5.9 Ceilometer
Ceilometer folder should contain tests cases focused on exercise metering and billing. It checks availability of the services for how much time is an instance active or running.
6. Results
Test execution results are keep in folders following the next format when the execution was ran:
%Y%m%d%H%M%S_<test_suite_name>
Where
%Y -- Year
%m -- Month
%d -- Day
%H%M%S -- Hour Minute Second
7. Latest-result
...
Hope this can help you good look 👍