SlideShare a Scribd company logo
1 of 40
Download to read offline
OpenStack Tempest and
REST API Testing
Agenda
One
• Introduction
• OpenStack & DevStack
Two
• Tempest & Architecture
• DevStack config and H/w required
Three
• Various tests & Test Results
• Key Findings
Four
• Summary & Conclusion
• Tech-Scenarios & Citations
 To demonstrate
starting/running
of OpenStack
services
 Specifically for
development
work on
OpenStack
 We can
download the
latest version of
DevStack from
”git” repo.
 Cloud operating
system/platform
that controls large
pools of compute,
storage, and
networking
resources
 Used for
developing private
clouds
• Keystone
• Cinder
• Glance
• Neutron
• Horizon
• Nova
OpenStack & DevStack
OpenStack
DevStack
OpenStack Testing ??
OpenStack
integration Test
Suite
• Tempest Test Suite
• Ready to deploy
Unit Tests in each
project
• Nova, Cinder, Swift
• Neutron etc
• OpenStack Code
base is written in
Python
• So how to
use/write tests?
• Isolate the
working
Environment
• Quick testing
• Automated
configuration
• Ease of use
Tempest
• Tempest is a
set of
integration
tests
• To be run
against any
live
OpenStack/
Dev Stack
cluster
F
e
a
t
u
r
e
s
Official OpenStack
Integration Test Suite
Interacts with majority
ReSTful API’s
Around 3000+ tests
covering all projects
Used as gating tests for all
new projects
Runs on all OpenStack
releases
Self Testing/Self Cleaning
Uses a unified tempest
REST client
Latest version of “Tempest
12.1.1.dev37”
A
t
t
r
i
b
u
t
e
s
Scenario based Tests
CLI Tests Stress tests
Ensure that OpenStack cloud
works with the OpenStack API
Basic Tempest Reference Architecture
OpenStack/ DevStack
deployment
Service
Clients
Python
Clients Boto Tests
Rest Client
API Tests
Scenario
Tests
Third party
tests
CLI based
Tests
Library CLI
OpenStack ReST API’s EC2 API’s
OpenStack ReST API’s
1
Basic Tempest Reference Architecture
Compute
Node
Compute
Node
Controller
Node
Test Server
(Tempest Node)
HTTP Request HTTP Response
OpenStack configuration
{Tempest tests executed
from controller node}
2
Tempest in a “Nutshell” 1
Tempest in a “Nutshell” 2
Hardware configuration required and OS used 1
Hardware configuration required and OS used 2
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Tempest Execution….steps
Test Results-Kilo
968
724
962
22
76
13
141 126 141
1131
926
1116
0
200
400
600
800
1000
1200
CentOS Ubuntu Fedora
toxefull
Passed Failed Skipped Total TC
Test Results-Liberty
999 1023
944
10 5 24
136 136 138
1145 1164
1106
0
200
400
600
800
1000
1200
CentOS Ubuntu Fedora
toxefull
Passed Failed skipped Total TC
Test Results-Kilo
41
32
43
3
9
1
39 38 39
83
79
83
0
10
20
30
40
50
60
70
80
90
CentOS Ubuntu Fedora
toxesmoke
Passed Failed Skipped Total TC
Test Results-Liberty
44 45
43
1 0
2
39 39 39
83 84 84
0
10
20
30
40
50
60
70
80
90
CentOS Ubuntu Fedora
toxesmoke
Passed Failed skipped Total TC
Test Results-Kilo
867
700
1015
55
102
15
102 96 107
1024
898
1137
0
200
400
600
800
1000
1200
CentOS Ubuntu Fedora
run_tempest
Passed Failed Skipped Total TC
Test Results-Liberty
894
955
984
51
26 15
138 139 139
1024
898
1137
0
200
400
600
800
1000
1200
CentOS Ubuntu Fedora
run_tempest
Passed Failed skipped Total TC
Key Findings-Failed Tests analysis
OS/Tests toxefull toxesmoke run_tempest
CentOS 7.0 Most of the Tempest test case
failures are
• Volume API’s
• Third party boto (this is related
to Elastic Compute (EC2) and
Object storage-S3 features of
AWS) ReST API failures.
Most of the Tempest test case
failures are
• Volume API’s related
Most of the Tempest test case failures are
• Scenario tests, snapshot pattern related,
Volume API’s and third party boto(this is
related to Elastic Compute (EC2) and
Object storage-S3 features of AWS)
ReST API failures.
Ubuntu 14.04 Most of the Tempest test case
failures are
• Compute, scenario and Cinder
Volume related
• Third party boto (this is related to
Elastic Compute (EC2) and
Object storage-S3 features of
AWS) ReST API failures.
Most of the Tempest test case
failures are
• Compute ,scenario and
Volume Rest API failures.
Most of the Tempest test case failures are
• Compute, scenario, Volume and third
party boto (this is related to Elastic
Compute (EC2) and Object storage-S3
features of AWS) ReST API failures.
Fedora 21 Most of the Tempest test case
failures are
• Volume API’s
• Third party boto (this is related
to Elastic Compute (EC2) and
Object storage-S3 features of
AWS) ReST API failures.
• Only one of the test case
failed here and is related to
Volume ReST API failure.
Most of the Tempest test case failures are
• Volume API’s and third party boto (this is
related to Elastic Compute (EC2) and
Object storage-S3 features of AWS)
ReST API failures.
Kilo
Key Findings-Failed Tests analysis
OS/Tests toxefull toxesmoke run_tempest
CentOS 7.0 Most of the Tempest test case
failures are
• Volume API’s
• Third party boto (this is related to
Elastic Compute (EC2) and
Object storage-S3 features of
AWS)
• Server multi-node ReST API
failures.
Tempest test case failure is
related to following
• Volume API’s
Most of the Tempest test case failures are
• Compute, Volume API’s, basic-Ops test
server, multi-node
• third party boto(this is related to Elastic
Compute (EC2) and Object storage-S3
features of AWS) ReST API failures.
Ubuntu 14.04
Most of the Tempest test case
failures are
• third party boto” (this is related to
Elastic Compute (EC2) and
Object storage-S3 features of
AWS) ReST API failures.
No failures found. Most of the Tempest test case failures are
• Compute, scenario, Volume and third party
boto (this is related to Elastic Compute
(EC2) and Object storage-S3 features of
AWS) ReST API failures.
Fedora 21 Most of the Tempest test case
failures are
• scenario tests, compute,
snapshot deleting, Volume API’s
and third party boto (this is
related to Elastic Compute (EC2)
and Object storage-S3 features
of AWS) ReST API failures.
Found two failures which are
• Volume ReST API failure.
Most of the Tempest test case failures are
• Volume API’s and third party boto (this is
related to Elastic Compute (EC2) and
Object storage-S3 features of AWS) ReST
API failures.
Liberty
Key Findings-Skipped Tests analysis
Some of the major reasons for “Skipped” tests are,
 Pending bugs need to be resolved
 Live block migration not supported
 Instance validation and multiple instance support not available
 SSH & VNC support not available in some cases
 Some of the features not included in Dev Stack
 Ephemeral disk verification could not be done
 Multiple policy feature not supported
 Instance validation and multiple instance support not available
Note:- These findings are across OpenStack releases and OS flavors
Liberty
Kilo
Key Findings-Summary
KILO LIBERTY
toxefull toxefull
Passed Failed Skipped Total TC Passed Failed skipped Total TC
Centos 968 22 141 1131 CentOS 999 10 136 1145
Ubuntu 724 76 126 926 Ubuntu 1023 5 136 1164
Fedora 962 13 141 1116 Fedora 944 24 138 1106
toxesmoke toxesmoke
Passed Failed Skipped Total TC Passed Failed skipped Total TC
Centos 41 3 39 83 CentOS 44 1 39 83
Ubuntu 32 9 38 79 Ubuntu 45 0 39 84
Fedora 43 1 39 83 Fedora 43 2 39 84
run_tempest run_tempest
Passed Failed Skipped Total TC Passed Failed skipped Total TC
Centos 867 55 102 1024 CentOS 894 51 138 1024
Ubuntu 700 102 96 898 Ubuntu 955 26 139 898
Fedora 1015 15 107 1137 Fedora 984 15 139 1137
Conclusion
• Tempest test results across different OpenStack releases and OS flavors is distinct
• One of the primary reasons of this ambiguity is each OS flavor having different
kernel versions.
• The more latest the Kernel version used, the more stable are the test results
• The other reason is because of different OpenStack releases on different hardware
platforms
• Tempest execution on Liberty release on various Linux OS flavors is yielding more
stable test results as compared to Kilo release.
• The more latest the OpenStack version, the more stable are the test results.
• These test results can be used for future reference (based on h/w architecture used)
Troubleshooting…..
1. We have observed some times that when “localrc” file from root user and try to run
stack.sh command from the stack user, following error will be encountered.
Solution:- When such error is encountered, change the ownership of devstack
directory to stack user using the following command
Troubleshooting…..
2. If you are using proxy, While running stack.sh command you may get the
following error
Solution:- Best practice is to have internet connection without proxy, which will
avoid majority of the issues.
3. When we clone “nova” manually to /opt/stack/nova from git repository and try to
execute the command “stack.sh”, following exception will be encountered.
Solution:- To avoid the above exception, copy .git directory from cloned devstack
directory to /opt/stack/nova directory. This will help us to overcome the above
mentioned exception.
Tech-Scenarios
Tech-Scenario-I Validation of OpenStack workload management tool
Context
 Validation and functionality test of
OpenStack & management tool together
was required
 Validation of RESTful API’s for supported
OpenStack releases was required
 Certification testing on different OS
platforms supporting OpenStack was
required.
Solution/approach used
 Used Tempest test suite (along with some
customization where required) for the
validating stability of ReSTful API’s
 Using Tempest test suite and some home
grown test cases, we were able to verify the
management tool and various OpenStack
features
 Triaging with multiple combinatorial tests
and identifying gaps and helping respective
customer to fix the issues on time.
Outcomes & Learning
 Since OpenStack was niche technology,
understanding the requirement clearly was a
challenge
 State of the art certification of RHEL and
Ubuntu on OpenStack was a challenge.
 Support for Continuous OpenStack testing
for supported releases was a challenge
Technical Challenges
Technology Ubuntu, SuSE, RHEL, Cent OS , OpenStack releases Havana, Icehouse and Juno
Test Suite used Tempest
 Validation of complete workload management
tool on OpenStack with various test scenarios
 Validating Nova, Keystone, AMQP message
bus protocol and Horizon interfaces.
 Evaluation of the management tool for
robustness and stability of usage.
 Triaging issues that are related to OpenStack
product
 Certification of various OpenStack releases
done for RHEL and Ubuntu.
 Ready test suite for future releases of
OpenStack was evolved
Tech-Scenario-II: Validation of OpenStack API’s using Tempest suite
Context
 Complete coverage of OpenStack API
testing required
 Reliability and Serviceability of OpenStack
on a specified hardware configuration was
required
Solution/approach used
 Validation of complete ReST API suite for
various OpenStack releases and for specified
h/w platforms.
 Complete test failure analyses with log
reporting on time.
 Parallel Tempest configurations kick started
with test executions
Outcomes & Learning
 Running Tempest test suite on multiple
Linux platforms
 Debugging and finding failures and causes
 Rally configuration and execution
Technical Challenges
Technology Ubuntu, RHEL, Cent OS , OpenStack releases Juno and Kilo,
Test Suite used Tempest
Tools Rally
 Tempest configuration on multiple
platforms and OpenStack releases.
 Validated complete basic OpenStack API
suite and reported failures
 Suggested fixes where possible
Citations
http://docs.openstack.org/
https://github.com/openstack/
http://docs.openstack.org/developer/tempest/field_guide/
https://wiki.openstack.org
https://wiki.openstack.org/wiki/devstack
http://docs.openstack.org/developer/devstack/overview.html
http://devstack.org
http://devstack.org/faq.html
https://github.com/openstack-dev/devstack
http://docs.openstack.org/developer/tempest/configuration.html
Thank You
Shashidhar Soppin
Senior Architect
Reachable @
“shashidhar.soppin@wipro.com”
Back-up Slides
What is Tox?
tox is a generic virtual environment management and test command line tool
that we can use for the following purposes.
 We can check our package installed correctly with different Python
versions and interpreters or not.
 Running our tests in each of the environments, configuring our test tool
of choice is possible with using tox.
 tox acts as a frontend to Continuous Integration servers.
tox will come default along with DevStack package. But if you want to
manually install and configure it, install tox with pip install tox. Then put
basic information about the test environments you want to carry out
into a tox.ini file and follow the tox execution sequences as explained
earlier.
How to download latest Devstack?

More Related Content

What's hot

Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computation
nathanmarz
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! Scale
DataWorks Summit
 

What's hot (20)

Mistral OpenStack Meetup Feb 5
Mistral OpenStack Meetup Feb 5Mistral OpenStack Meetup Feb 5
Mistral OpenStack Meetup Feb 5
 
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
 
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
Monitoring Hadoop with Prometheus (Hadoop User Group Ireland, December 2015)
 
OpenStackとPythonと私
OpenStackとPythonと私OpenStackとPythonと私
OpenStackとPythonと私
 
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
 
Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup Apache Helix DevOps & LSPE-IN Meetup
Apache Helix DevOps & LSPE-IN Meetup
 
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
 
Storm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computationStorm: distributed and fault-tolerant realtime computation
Storm: distributed and fault-tolerant realtime computation
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...
 
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! Scale
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
Boosting Fuzzer Efficiency: An Information Theoretic Perspective
Boosting Fuzzer Efficiency: An Information Theoretic PerspectiveBoosting Fuzzer Efficiency: An Information Theoretic Perspective
Boosting Fuzzer Efficiency: An Information Theoretic Perspective
 
cluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことcluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだこと
 
Balance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data CloudBalance agility and governance with #TrueDataOps and The Data Cloud
Balance agility and governance with #TrueDataOps and The Data Cloud
 
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
Neutron packet logging framework
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging framework
 

Viewers also liked

Introduction to tempest
Introduction to tempest Introduction to tempest
Introduction to tempest
openstackindia
 

Viewers also liked (20)

Introduction to tempest
Introduction to tempest Introduction to tempest
Introduction to tempest
 
The OpenStack Contribution Workflow
The OpenStack Contribution WorkflowThe OpenStack Contribution Workflow
The OpenStack Contribution Workflow
 
Open stack qa and tempest
Open stack qa and tempestOpen stack qa and tempest
Open stack qa and tempest
 
Copr HD OpenStack Day India
Copr HD OpenStack Day IndiaCopr HD OpenStack Day India
Copr HD OpenStack Day India
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStack
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
Guts & OpenStack migration
Guts & OpenStack migrationGuts & OpenStack migration
Guts & OpenStack migration
 
OpenStack Storage Buddy Ceph
OpenStack Storage Buddy CephOpenStack Storage Buddy Ceph
OpenStack Storage Buddy Ceph
 
OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
OpenStack Architected Like AWS (and GCP)
OpenStack Architected Like AWS (and GCP)OpenStack Architected Like AWS (and GCP)
OpenStack Architected Like AWS (and GCP)
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
OpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 MumbaiOpenStack@Mini-Deb Conf'16 Mumbai
OpenStack@Mini-Deb Conf'16 Mumbai
 
Your first patch to open stack
Your first patch to open stackYour first patch to open stack
Your first patch to open stack
 
Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?Who carries your container? Zun or Magnum?
Who carries your container? Zun or Magnum?
 
Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)Zun presentation (OpenStack Barcelona summit)
Zun presentation (OpenStack Barcelona summit)
 
OpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservicesOpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservices
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
OpenStack and Puppet
OpenStack and PuppetOpenStack and Puppet
OpenStack and Puppet
 

Similar to OpenStack Tempest and REST API testing

Tempest scenariotests 20140512
Tempest scenariotests 20140512Tempest scenariotests 20140512
Tempest scenariotests 20140512
Masayuki Igawa
 

Similar to OpenStack Tempest and REST API testing (20)

AEO Training - 2023.pdf
AEO Training - 2023.pdfAEO Training - 2023.pdf
AEO Training - 2023.pdf
 
Tempest scenariotests 20140512
Tempest scenariotests 20140512Tempest scenariotests 20140512
Tempest scenariotests 20140512
 
Fastest Servlets in the West
Fastest Servlets in the WestFastest Servlets in the West
Fastest Servlets in the West
 
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
 
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
(APP309) Running and Monitoring Docker Containers at Scale | AWS re:Invent 2014
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Kirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for AutomatizationKirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for Automatization
 
Real Time Analytics - Stream Processing (Colombo big data meetup 18/05/2017)
Real Time Analytics - Stream Processing (Colombo big data meetup 18/05/2017)Real Time Analytics - Stream Processing (Colombo big data meetup 18/05/2017)
Real Time Analytics - Stream Processing (Colombo big data meetup 18/05/2017)
 
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
AWS re:Invent 2016: Service Integration Delivery and Automation Using Amazon ...
 
Mock cli with Python unittest
Mock cli with Python unittestMock cli with Python unittest
Mock cli with Python unittest
 
Container Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, NetflixContainer Performance Analysis Brendan Gregg, Netflix
Container Performance Analysis Brendan Gregg, Netflix
 
Running & Monitoring Docker at Scale
Running & Monitoring Docker at ScaleRunning & Monitoring Docker at Scale
Running & Monitoring Docker at Scale
 
Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015Monitoring Docker containers - Docker NYC Feb 2015
Monitoring Docker containers - Docker NYC Feb 2015
 
Container Performance Analysis
Container Performance AnalysisContainer Performance Analysis
Container Performance Analysis
 
CoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love SystemdCoreOS, or How I Learned to Stop Worrying and Love Systemd
CoreOS, or How I Learned to Stop Worrying and Love Systemd
 
Oleksandr Khotemskyi - Serverless architecture and how to apply it in Automa...
Oleksandr Khotemskyi  - Serverless architecture and how to apply it in Automa...Oleksandr Khotemskyi  - Serverless architecture and how to apply it in Automa...
Oleksandr Khotemskyi - Serverless architecture and how to apply it in Automa...
 
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
Олександр Хотемський:”Serverless архітектура та її застосування в автоматизац...
 
Apache Cloudstack QA Strategy
Apache Cloudstack QA StrategyApache Cloudstack QA Strategy
Apache Cloudstack QA Strategy
 
Parallelizing CI using Docker Swarm-Mode
Parallelizing CI using Docker Swarm-ModeParallelizing CI using Docker Swarm-Mode
Parallelizing CI using Docker Swarm-Mode
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
 

More from openstackindia

Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
openstackindia
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
openstackindia
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
openstackindia
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
openstackindia
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
openstackindia
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
openstackindia
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
openstackindia
 
Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone
openstackindia
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
openstackindia
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
openstackindia
 
7 distributed storage_open_stack
7 distributed storage_open_stack7 distributed storage_open_stack
7 distributed storage_open_stack
openstackindia
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
openstackindia
 
2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
openstackindia
 

More from openstackindia (19)

Introduction to Cinder
Introduction to CinderIntroduction to Cinder
Introduction to Cinder
 
Ceph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetupCeph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetup
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
 
State of Linux Containers in OpenStack
State of Linux Containers in OpenStackState of Linux Containers in OpenStack
State of Linux Containers in OpenStack
 
Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone Database experiences designing cassandra schema for keystone
Database experiences designing cassandra schema for keystone
 
6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view6 open stack_swift_panoramic_view
6 open stack_swift_panoramic_view
 
8 devstack beyond_hello-world
8 devstack beyond_hello-world8 devstack beyond_hello-world
8 devstack beyond_hello-world
 
7 distributed storage_open_stack
7 distributed storage_open_stack7 distributed storage_open_stack
7 distributed storage_open_stack
 
5 cisco open_stack
5 cisco open_stack5 cisco open_stack
5 cisco open_stack
 
4 hp converged_cloud
4 hp converged_cloud4 hp converged_cloud
4 hp converged_cloud
 
3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph3 ubuntu open_stack_ceph
3 ubuntu open_stack_ceph
 
2 planning your_open_stack_cloud
2 planning your_open_stack_cloud2 planning your_open_stack_cloud
2 planning your_open_stack_cloud
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

OpenStack Tempest and REST API testing

  • 2. Agenda One • Introduction • OpenStack & DevStack Two • Tempest & Architecture • DevStack config and H/w required Three • Various tests & Test Results • Key Findings Four • Summary & Conclusion • Tech-Scenarios & Citations
  • 3.  To demonstrate starting/running of OpenStack services  Specifically for development work on OpenStack  We can download the latest version of DevStack from ”git” repo.  Cloud operating system/platform that controls large pools of compute, storage, and networking resources  Used for developing private clouds • Keystone • Cinder • Glance • Neutron • Horizon • Nova OpenStack & DevStack OpenStack DevStack
  • 4. OpenStack Testing ?? OpenStack integration Test Suite • Tempest Test Suite • Ready to deploy Unit Tests in each project • Nova, Cinder, Swift • Neutron etc • OpenStack Code base is written in Python • So how to use/write tests? • Isolate the working Environment • Quick testing • Automated configuration • Ease of use
  • 5. Tempest • Tempest is a set of integration tests • To be run against any live OpenStack/ Dev Stack cluster F e a t u r e s Official OpenStack Integration Test Suite Interacts with majority ReSTful API’s Around 3000+ tests covering all projects Used as gating tests for all new projects Runs on all OpenStack releases Self Testing/Self Cleaning Uses a unified tempest REST client Latest version of “Tempest 12.1.1.dev37” A t t r i b u t e s Scenario based Tests CLI Tests Stress tests Ensure that OpenStack cloud works with the OpenStack API
  • 6. Basic Tempest Reference Architecture OpenStack/ DevStack deployment Service Clients Python Clients Boto Tests Rest Client API Tests Scenario Tests Third party tests CLI based Tests Library CLI OpenStack ReST API’s EC2 API’s OpenStack ReST API’s 1
  • 7. Basic Tempest Reference Architecture Compute Node Compute Node Controller Node Test Server (Tempest Node) HTTP Request HTTP Response OpenStack configuration {Tempest tests executed from controller node} 2
  • 8. Tempest in a “Nutshell” 1
  • 9. Tempest in a “Nutshell” 2
  • 20. Test Results-Kilo 968 724 962 22 76 13 141 126 141 1131 926 1116 0 200 400 600 800 1000 1200 CentOS Ubuntu Fedora toxefull Passed Failed Skipped Total TC
  • 21. Test Results-Liberty 999 1023 944 10 5 24 136 136 138 1145 1164 1106 0 200 400 600 800 1000 1200 CentOS Ubuntu Fedora toxefull Passed Failed skipped Total TC
  • 22. Test Results-Kilo 41 32 43 3 9 1 39 38 39 83 79 83 0 10 20 30 40 50 60 70 80 90 CentOS Ubuntu Fedora toxesmoke Passed Failed Skipped Total TC
  • 23. Test Results-Liberty 44 45 43 1 0 2 39 39 39 83 84 84 0 10 20 30 40 50 60 70 80 90 CentOS Ubuntu Fedora toxesmoke Passed Failed skipped Total TC
  • 24. Test Results-Kilo 867 700 1015 55 102 15 102 96 107 1024 898 1137 0 200 400 600 800 1000 1200 CentOS Ubuntu Fedora run_tempest Passed Failed Skipped Total TC
  • 25. Test Results-Liberty 894 955 984 51 26 15 138 139 139 1024 898 1137 0 200 400 600 800 1000 1200 CentOS Ubuntu Fedora run_tempest Passed Failed skipped Total TC
  • 26. Key Findings-Failed Tests analysis OS/Tests toxefull toxesmoke run_tempest CentOS 7.0 Most of the Tempest test case failures are • Volume API’s • Third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Most of the Tempest test case failures are • Volume API’s related Most of the Tempest test case failures are • Scenario tests, snapshot pattern related, Volume API’s and third party boto(this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Ubuntu 14.04 Most of the Tempest test case failures are • Compute, scenario and Cinder Volume related • Third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Most of the Tempest test case failures are • Compute ,scenario and Volume Rest API failures. Most of the Tempest test case failures are • Compute, scenario, Volume and third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Fedora 21 Most of the Tempest test case failures are • Volume API’s • Third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. • Only one of the test case failed here and is related to Volume ReST API failure. Most of the Tempest test case failures are • Volume API’s and third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Kilo
  • 27. Key Findings-Failed Tests analysis OS/Tests toxefull toxesmoke run_tempest CentOS 7.0 Most of the Tempest test case failures are • Volume API’s • Third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) • Server multi-node ReST API failures. Tempest test case failure is related to following • Volume API’s Most of the Tempest test case failures are • Compute, Volume API’s, basic-Ops test server, multi-node • third party boto(this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Ubuntu 14.04 Most of the Tempest test case failures are • third party boto” (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. No failures found. Most of the Tempest test case failures are • Compute, scenario, Volume and third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Fedora 21 Most of the Tempest test case failures are • scenario tests, compute, snapshot deleting, Volume API’s and third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Found two failures which are • Volume ReST API failure. Most of the Tempest test case failures are • Volume API’s and third party boto (this is related to Elastic Compute (EC2) and Object storage-S3 features of AWS) ReST API failures. Liberty
  • 28. Key Findings-Skipped Tests analysis Some of the major reasons for “Skipped” tests are,  Pending bugs need to be resolved  Live block migration not supported  Instance validation and multiple instance support not available  SSH & VNC support not available in some cases  Some of the features not included in Dev Stack  Ephemeral disk verification could not be done  Multiple policy feature not supported  Instance validation and multiple instance support not available Note:- These findings are across OpenStack releases and OS flavors Liberty Kilo
  • 29. Key Findings-Summary KILO LIBERTY toxefull toxefull Passed Failed Skipped Total TC Passed Failed skipped Total TC Centos 968 22 141 1131 CentOS 999 10 136 1145 Ubuntu 724 76 126 926 Ubuntu 1023 5 136 1164 Fedora 962 13 141 1116 Fedora 944 24 138 1106 toxesmoke toxesmoke Passed Failed Skipped Total TC Passed Failed skipped Total TC Centos 41 3 39 83 CentOS 44 1 39 83 Ubuntu 32 9 38 79 Ubuntu 45 0 39 84 Fedora 43 1 39 83 Fedora 43 2 39 84 run_tempest run_tempest Passed Failed Skipped Total TC Passed Failed skipped Total TC Centos 867 55 102 1024 CentOS 894 51 138 1024 Ubuntu 700 102 96 898 Ubuntu 955 26 139 898 Fedora 1015 15 107 1137 Fedora 984 15 139 1137
  • 30. Conclusion • Tempest test results across different OpenStack releases and OS flavors is distinct • One of the primary reasons of this ambiguity is each OS flavor having different kernel versions. • The more latest the Kernel version used, the more stable are the test results • The other reason is because of different OpenStack releases on different hardware platforms • Tempest execution on Liberty release on various Linux OS flavors is yielding more stable test results as compared to Kilo release. • The more latest the OpenStack version, the more stable are the test results. • These test results can be used for future reference (based on h/w architecture used)
  • 31. Troubleshooting….. 1. We have observed some times that when “localrc” file from root user and try to run stack.sh command from the stack user, following error will be encountered. Solution:- When such error is encountered, change the ownership of devstack directory to stack user using the following command
  • 32. Troubleshooting….. 2. If you are using proxy, While running stack.sh command you may get the following error Solution:- Best practice is to have internet connection without proxy, which will avoid majority of the issues. 3. When we clone “nova” manually to /opt/stack/nova from git repository and try to execute the command “stack.sh”, following exception will be encountered. Solution:- To avoid the above exception, copy .git directory from cloned devstack directory to /opt/stack/nova directory. This will help us to overcome the above mentioned exception.
  • 34. Tech-Scenario-I Validation of OpenStack workload management tool Context  Validation and functionality test of OpenStack & management tool together was required  Validation of RESTful API’s for supported OpenStack releases was required  Certification testing on different OS platforms supporting OpenStack was required. Solution/approach used  Used Tempest test suite (along with some customization where required) for the validating stability of ReSTful API’s  Using Tempest test suite and some home grown test cases, we were able to verify the management tool and various OpenStack features  Triaging with multiple combinatorial tests and identifying gaps and helping respective customer to fix the issues on time. Outcomes & Learning  Since OpenStack was niche technology, understanding the requirement clearly was a challenge  State of the art certification of RHEL and Ubuntu on OpenStack was a challenge.  Support for Continuous OpenStack testing for supported releases was a challenge Technical Challenges Technology Ubuntu, SuSE, RHEL, Cent OS , OpenStack releases Havana, Icehouse and Juno Test Suite used Tempest  Validation of complete workload management tool on OpenStack with various test scenarios  Validating Nova, Keystone, AMQP message bus protocol and Horizon interfaces.  Evaluation of the management tool for robustness and stability of usage.  Triaging issues that are related to OpenStack product  Certification of various OpenStack releases done for RHEL and Ubuntu.  Ready test suite for future releases of OpenStack was evolved
  • 35. Tech-Scenario-II: Validation of OpenStack API’s using Tempest suite Context  Complete coverage of OpenStack API testing required  Reliability and Serviceability of OpenStack on a specified hardware configuration was required Solution/approach used  Validation of complete ReST API suite for various OpenStack releases and for specified h/w platforms.  Complete test failure analyses with log reporting on time.  Parallel Tempest configurations kick started with test executions Outcomes & Learning  Running Tempest test suite on multiple Linux platforms  Debugging and finding failures and causes  Rally configuration and execution Technical Challenges Technology Ubuntu, RHEL, Cent OS , OpenStack releases Juno and Kilo, Test Suite used Tempest Tools Rally  Tempest configuration on multiple platforms and OpenStack releases.  Validated complete basic OpenStack API suite and reported failures  Suggested fixes where possible
  • 37. Thank You Shashidhar Soppin Senior Architect Reachable @ “shashidhar.soppin@wipro.com”
  • 39. What is Tox? tox is a generic virtual environment management and test command line tool that we can use for the following purposes.  We can check our package installed correctly with different Python versions and interpreters or not.  Running our tests in each of the environments, configuring our test tool of choice is possible with using tox.  tox acts as a frontend to Continuous Integration servers. tox will come default along with DevStack package. But if you want to manually install and configure it, install tox with pip install tox. Then put basic information about the test environments you want to carry out into a tox.ini file and follow the tox execution sequences as explained earlier.
  • 40. How to download latest Devstack?