# 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
```
