1 / 24

OpenStack QA tooling & How to Use it for Production Cloud Testing

OpenStack QA tooling & How to Use it for Production Cloud Testing. Ghanshyam Mann, Aug 24, 2019. Agenda. Who I am What is OpenStack QA? OpenStack QA Tools OpenStack QA Tools: Used for Production Cloud Testing OpenStack Cloud: What All to Test

brentk
Download Presentation

OpenStack QA tooling & How to Use it for Production Cloud Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenStack QA tooling & How to Use it for Production Cloud Testing Ghanshyam Mann, Aug 24, 2019

  2. Agenda Who I am What is OpenStack QA? OpenStack QA Tools OpenStack QA Tools: Used for Production Cloud Testing OpenStack Cloud: What All to Test Tempest & Patrole tests: Simultaneous Multiple Run Cloud Health Node: Deployment Model Cloud Health Node: Dashboard View

  3. Who I am • Ghanshyam Mann • IRC: gmann • Open Source Developer, NEC • Involved in OpenStack since 2012 • Full time OpenStack Upstream Developer since 2014 • Member of OpenStack Technical Committee (TC) • PTL of OpenStack QA • Active Contributors in Nova, FC SIG, Infra and various others projects. • https://ghanshyammann.com/about/

  4. What is OpenStack QA? Official Mission Statement: “Develop, maintain, and initiate tools and plans to ensure the upstream stability and quality of OpenStack, and its release readiness at any point during the release cycle.”

  5. OpenStack QA Tools

  6. OpenStack QA Tools: Used for Production Cloud Testing • Patrole is a security validation tool for verifying the OpenStack Cloud’s Role-Based Access Control  • OpenStack Integration Test Suite Patrole Tempest & its Plugins OpenStack-Health Dashboard Stackviz • Stackviz is a visualization utility to help analyze the performance of DevStack setup and Tempest test runs • The OpenStack • Health dashboard • provides a view of the • status of all the tests running in • your CI

  7. OpenStack Cloud

  8. What All to Test Role Based Access Control API Upgrade services status Non-frequent scenario Integrated Functionality

  9. OpenStack QA Tools Tempest Patrole API tests RBAC testing Scenario tests Positive and Negative testing of each API policy Cover Nova, Cinder, Glance, Neutron, keystone, Swift Cover Nova, Cinder, Glance, Neutron, keystone Other Services tests in *-tempest-plugin

  10. OpenStack QA Tools: Tempest • Overview of gate tests • Every proposed code needs to be passed via multiple gate tests • pep8 (coding style) • python 2/3 (unit test) • tempest-*(integration test) • 1,000+ gate test cycles run in most working days • Each gate test cycle consists of 1,000+ tests • That means 1,000,000+ tests run in a day

  11. OpenStack QA Tools: Tempest • Tempest - OpenStack Integration Test Suite • This is a set of integration tests to be run against a live OpenStack cluster. • Tempest is designed to be useful for a large number of different environments. This includes gating commits to OpenStack and testing the production Cloud in many large organization. • Providing the stable framework to write Tempest like test with tempest plugins either on upstream or downstream

  12. OpenStack QA Tools: Tempest • API tests • Scenario tests • Tempest Plugins: • 59 plugins • https://docs.openstack.org/tempest/latest/plugin-registry.html

  13. OpenStack QA Tools: Tempest • Tempest can run with dynamic credential or pre defined credential(account.yaml) • tempest.confto tell Tempest about your Cloud and testing preferences. • Tempest CLIs for easy to use interfaces:

  14. OpenStack QA Tools: Patrole • Patrole - RBAC Integration Tempest Plugin • Patrole is a set of integration tests to be run against a live OpenStack cluster. It has a battery of tests dedicated to validating the correctness and integrity of the cloud’s RBAC implementation. • Patrole is tempest plugin and based on same design principle as Tempest • Patrole override the set of configured roles to tests the policy access.

  15. OpenStack QA Tools: Patrole Nova "os_compute_api:servers:create" POST compute/v2.1/servers/ Call OpenStack APIs with overridden Role oslo.policy direct check with overridden role  Role: ‘member’ Compare results

  16. Tempest & Patrole tests run: multiple workspace https://docs.openstack.org/tempest/latest/overview.html#quickstart Cloud Health node workspace-1 tempest.conf tempest_lock .stestr log-dir lock-dir workspace-2 tempest.conf tempest_lock .stestr log-dir workspace-n tempest.conf tempest_lock .stestr log-dir tempest run --workspace workspace-1 tempest init workspace-1 tempest run --workspace workspace-2 Installed Tempest, tempest plugins & Patrole

  17. OpenStack QA Tools+ Zuul Jobs • Zuulv3 Jobs • Add playbook to setup and run the Tempest+plugins • Standard setup of playbooks involve • pre-run • run • post-run • Tempest tests will run as part of those playbooks

  18. OpenStack Health Dashboard Subunit stream (Tempest, plugins tests, etc.) subunit2sql O-H API server DB subunit2sql

  19. Cloud Health Node: Deployment Model Cloud Heath node Openstack-health Dashboard Tooling Tempest Patrole workspace-n workspace-1 workspace-2 *-tempest-plugin Run test & Fetch Results Run test & Fetch Results Run test & Fetch Results OpenStack Site 1 OpenStack Site 2 OpenStack Site n

  20. Cloud Health Node: Deployment Model Cloud Heath node No need to upgrade the health node. Until explicitly need new tests. Openstack-health Dashboard Tooling Tempest Patrole workspace-n workspace-1 workspace-2 *-tempest-plugin Run test & Fetch Results Run test & Fetch Results Run test & Fetch Results OpenStack Site 1 OpenStack Site 2 OpenStack Site n Site 1 is upgraded to new version (Rocky>Stein) Site 3 is upgraded to new version (Rocky>Stein) Site 2 is upgraded to new version (Rocky>Stein)

  21. Cloud Health Node: Dashboard View Openstack-health Dashboard

  22. Reference https://docs.openstack.org/tempest/latest/ https://docs.openstack.org/patrole/latest/ https://docs.openstack.org/stackviz/latest/ https://opendev.org/openstack/openstack-health http://status.openstack.org/openstack-health/#/

  23. Q&A? Thank you

More Related