# Tempest

## Tempest :: DevStack

> *I would say the most challenging part of testing is creating a tempest,conf that reflecting the elements of your env*

* [DevStack Github](https://github.com/openstack-dev/devstack)
* [DevStack Tempest](https://github.com/openstack-dev/devstack/blob/master/lib/tempest)
* [Chat](http://eavesdrop.openstack.org/irclogs/%23refstack/%23refstack.2016-04-04.log.html)
* [How to Configure Your Cloud and Tempest for Interoperability Testing](https://docs.google.com/presentation/d/1yNPjJZwu34DfEWWHQlpUPq8CtmkpGwOLJWTpqVmntlc/edit#slide=id.p)
* [How to Configure your Cloud and Tempest for Interoperability Testing](https://www.openstack.org/videos/vancouver-2015/how-to-configure-your-cloud-and-tempest-for-interoperability-testing)
* Install OpenStack using DevStack

```bash
=========================
DevStack Component Timing
 (times are in seconds)  
=========================
run_process           28
test_with_retry        2
apt-get-update         8
pip_install          498
osc                  139
wait_for_service      16
git_timed            620
dbsync               182
apt-get              279
-------------------------
Unaccounted time     640
=========================
Total runtime        2412



This is your host IP address: 192.168.1.84
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.1.84/dashboard
Keystone is serving at http://192.168.1.84/identity/
The default users are: admin and demo
The password: Madawa

WARNING: 
Using lib/neutron-legacy is deprecated, and it will be removed in the future


Services are running under systemd unit files.
For more information see: 
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: rocky
Change: d9060111d9496306c90e0349f4df1167e9b01ad5 [trivial] Comment fix 2018-03-29 12:10:28 +1100
OS Version: Ubuntu 16.04 xenial

2018-03-30 01:30:05.049 | stack.sh completed in 2412 seconds.
```

## Tempest :: DevStack :: Configuration :: Compute

* Admin :: Compute :: Hypervisors
  * Hostname: workstation
    * Type: QEMU
    * VCPUs (used): 1
    * VCPUs (total): 4
    * RAM (used): 1GB
    * RAM (total): 7.7GB
    * Local Storage (used): 1GB
    * Local Storage (total): 211GB
    * Instances: 1
* Admin :: Compute :: Host Aggregates
  * Availability Zone Name: internal
    * Hosts: workstation (Services Up)
    * Available: Yes
  * Availability Zone Name: nova
    * Hosts: workstation (Services Up)
    * Available: Yes
* Admin :: Compute :: Instances
  * Project: alt\_demo
    * Host: workstation
    * Name: cirros
    * IP Addrees: 192.168.10.5
    * Flavor: m1.tiny

## Tempest :: DevStack :: Configuration :: Volume

* Admin :: Volume :: Volumes
  * Project: alt\_demo&#x20;
    * Host:  workstation\@lvmdriver-1#lvmdriver-1
    * Size: 1GiB
    * Status: In-use
    * Type: lvmdriver-1
    * Attached To: /dev/vda on cirros
    * Bootable: Yes
    * Actions:&#x20;
      * Update Volume Status
      * Migrate Volume
      * Update Metadata&#x20;
  * Project: service
    * Host: workstation\@lvmdriver-1#lvmdriver-1
    * Size: 1GiB
    * Status: Available
    * Type: lvmdriver-1
    * Attached To:&#x20;
    * Bootable: No
    * Actions:&#x20;
      * Delete Volume
      * Update Volume Status
      * Unmanaged Volume
      * Migrate Volume
      * Update Metadata

## Tempest :: DevStack :: Configuration :: Network

* Admin :: Network :: Networks
  * Project: demo
    * Network Name: private
    * Subnets Associated: private-subnet 10.0.0.0/26
    * DHCP Agents: ipv6-private-subnet fd5e:18d:f681::/64
    * Shared: No
    * External: No
    * Enabled Admin State: Yes
  * Project: admin
    * Network Name: public
    * Subnets Associated: public-subnet 172.24.4.0/24&#x20;
    * DHCP Agents: ipv6-public-subnet 2001:db8::/64
    * Shared: No
    * External: Yes
    * Enabled Admin State: Yes
  * Project: alt\_demo
    * Network Name: private
    * Subnets Associated: cirros 192.168.10.0/24
    * DHCP Agents:&#x20;
    * Shared: No
    * External: No
    * Enabled Admin State: Yes
* Admin :: Networks :: Routers
  * Project: demo
    * Name: router1
      * Overview
        * L3 Agent
          * Host: workstation
        * Network Name: public
        * Network ID
        * External Fixed IPs
          * Subnet ID
          * IP Address 172.24.4.8
          * IP Address 2001:db8::7
      * Interfaces
        * Fixed IPs: fd5e:18d:f681::1
          * Internal Interface
        * Fixed IPs: 10.0.0.1&#x20;
          * Internal Interface
        * Fixed IPs: 172.24.4.8&#x20;
        * Fixed IPs: 2001:db8::7       &#x20;
          * External Gateway
    * Status: Active
    * External Network: Public
    * Availability Zones: nova
    * Enabled Admin State: Yes
* Identity :: Projects
  * alt\_demo
  * invisble\_to\_admin
  * demo
  * admin
  * service
* Identity :: Users
  * neutron
  * placement
  * demo
  * cinder
  * glance
  * alt\_demo
  * admin
  * nova
* Identity :: Groups
  * Non Admins
  * Admins
* Identity :: Roles
  * admin
  * anotherrole
  * Member
  * ResellerAdmin
  * service

In Host

```bash
stack@workstation:~$ sudo /sbin/ifconfig
br-ex     Link encap:Ethernet  HWaddr aa:49:ab:01:f3:44  
          inet addr:172.24.4.1  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: 2001:db8::2/64 Scope:Global
          inet6 addr: fe80::a849:abff:fe01:f344/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7638 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7710 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:886789 (886.7 KB)  TX bytes:1097499 (1.0 MB)

enp0s25   Link encap:Ethernet  HWaddr b8:ae:ed:73:2a:ba  
          inet addr:192.168.1.84  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f26c:22b8:2f60:c53c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1191936 errors:0 dropped:0 overruns:0 frame:0
          TX packets:713477 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1705363045 (1.7 GB)  TX bytes:62233088 (62.2 MB)
          Interrupt:20 Memory:f7100000-f7120000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:7113617 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7113617 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12194535910 (12.1 GB)  TX bytes:12194535910 (12.1 GB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlp2s0    Link encap:Ethernet  HWaddr 34:13:e8:21:92:ec  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3606 (3.6 KB)  TX bytes:9187 (9.1 KB)

wlx803f5dc15809 Link encap:Ethernet  HWaddr 80:3f:5d:c1:58:09  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

stack@workstation:~$
```

```bash
stack@workstation:~/tempest$ tempest run
...
======
Totals
======
Ran: 1255 tests in 4071.0000 sec.
 - Passed: 1160
 - Skipped: 95
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 10699.5771 sec.

==============
Worker Balance
==============
 - Worker 0 (322 tests) => 1:07:37.947131
 - Worker 1 (285 tests) => 1:06:36.732235
 - Worker 2 (401 tests) => 1:06:57.503525
 - Worker 3 (247 tests) => 0:48:40.908044
stack@workstation:~/tempest$
```

```bash
[network]
default_network = 10.0.0.0/22
public_router_id = 
public_network_id = 6a2920f7-e6f0-41b8-93d6-1e6a5e32877b
project_networks_reachable = false
project_network_cidr = 10.0.0.0/22

[DEFAULT]
debug = True
log_file = tempest.log
use_stderr = False
use_syslog = False

[oslo_concurrency]
lock_path = /opt/stack/data/tempest

[compute]
max_microversion = latest
flavor_ref_alt = 84
flavor_ref = 42
image_ref_alt = 8dab09d6-9577-489a-bc02-d77d41bee50b
image_ref = 8dab09d6-9577-489a-bc02-d77d41bee50b
build_timeout = 196

[volume]
max_microversion = latest
build_timeout = 196

[identity]
auth_version = v3
admin_domain_scope = True
user_unique_last_password_count = 2
user_lockout_duration = 10
user_lockout_failure_attempts = 2
uri_v3 = http://192.168.1.84/identity/v3
uri = http://192.168.1.84/identity/v2.0/

[auth]
use_dynamic_credentials = True
tempest_roles = Member
admin_domain_name = Default
admin_project_name = admin
admin_password = Madawa
admin_username = admin

[identity-feature-enabled]
project_tags = True
security_compliance = True
api_v2_admin = False
api_v2 = False

[image-feature-enabled]
api_v1 = False

[validation]
network_for_ssh = private
image_ssh_user = cirros
ssh_timeout = 196
ip_version_for_ssh = 4
run_validation = True
connect_method = floating

[compute-feature-enabled]
swap_volume = True
vnc_console = True
attach_encrypted_volume = True
live_migrate_back_and_forth = False
block_migration_for_live_migration = False
change_password = False
live_migration = False
resize = True
personality = False

[network-feature-enabled]
api_extensions = address-scope,agent,allowed-address-pairs,auto-allocated-topology,availability_zone,binding,default-subnetpools,dhcp_agent_scheduler,dvr,ext-gw-mode,external-net,extra_dhcp_opt,extraroute,flavors,ip-substring-filtering,l3-flavors,l3-ha,l3_agent_scheduler,multi-provider,net-mtu,net-mtu-writable,network-ip-availability,network_availability_zone,pagination,port-security,port-security-groups-filtering,project-id,provider,quota_details,quotas,rbac-policies,revision-if-match,router,router_availability_zone,security-group,service-type,sorting,standard-attr-description,standard-attr-revisions,standard-attr-tag,standard-attr-timestamp,subnet-service-types,subnet_allocation
port_security = True
ipv6_subnet_attributes = True
ipv6 = True

[scenario]
img_file = cirros-0.3.5-x86_64-disk.img
img_dir = /opt/stack/devstack/files

[volume-feature-enabled]
api_extensions = all
backup = False
api_v1 = False
api_v3 = True
extend_attached_volume = True
manage_volume = True
manage_snapshot = True

[service_available]
trove = False
ironic = False
sahara = False
horizon = True
ceilometer = False
heat = False
swift = False
cinder = True
neutron = True
nova = True
glance = True
key = True

[object-storage-feature-enabled]
discoverable_apis = all
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://theiotlearninginitiative.gitbook.io/edgecomputingsolutions/introduction/stacks/openstack/testing/devstack/tempest.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
