Giter Club home page Giter Club logo

openstacktests's Introduction

OpenStackTests

This repositroy contains Openstack tests based python3.

Configuration

You need to install the requirements.

$> pip3 install -r requirements.txt

or with pip.

$> pip3 install git+https://github.com/deNBI/OpenStackTests@master

or

$> pip3 install git+https://github.com/deNBI/OpenStackTests@dev

Before you can start the tests you have to set some configurations.
All tests require the config.yml. The more complex tests also require the complex_test.yml

Basic-Test

There are some basic tests:

endpoint_test.py

The endpont_test sends an HTTP OPTIONS request to a specific Url of a service like glance. If the returning status code is not equal than 5xx, the test was successful You can see all avaiable services with the command:

$> python3 endpoint_test.py --help

also if you would want to test all avaiable endpoints one after the other you can just use:

$> python3 endpoint_test.py

if you want to test one specific endpoint use:

$> python3 endpoint_test.py glance

create_and_delete_image.py

The create_and_delete_image test goes through the following steps:

  1. Downloads the actual cirros image
  2. Uploads the cirros image
  3. Deletes the image

If the image was uploaded and deleted without errors the test was succesfull

Complex-Test

The complex test needs beside the config.yml also the complex_test.yml
The complex_test.py goes through the following steps::

  1. Creates a network,subnet and a router connected to a specific network
  2. Start an instance using the default image(cirros)
  3. Assign a floating ip to the instance
  4. Login into the instance and try connect to google
  5. Logout
  6. Stop and Delete the Instance
  7. Delete network, subnet and route

openstacktests's People

Contributors

dweinholz avatar jkrue avatar awalende avatar pbelmann avatar

Watchers

Helena avatar James Cloos avatar  avatar

openstacktests's Issues

ACL Settings in OpenStack

We have to figure out how to set ACL settings for OpenStack in order to use the OpenStack usage API.

Release

We need to do the following steps in order to release:

  • PR into master

  • Allow to install with pip

  • Description how to install and run.

  • Make it public

  • Announce it in Rocket Chat.

Inspect Hypervisors

We should add the following checks:

  • check which hypervisors are active

  • RAM per Hypervisor (load)

  • CPUs per Hypervisor (load)

  • Available disk per Hypervisor

Service Endpoints should be retrieved by KeyStone

Currently all endpoints must be configured in the config.yml. Much more comfortable and also more flexible is it to ask Keystone for an available endpoint list.

$ openstack endpoint list --interface public -c 'Service Name' -c 'URL'
+--------------+--------------------------------------------------------------------+
| Service Name | URL                                                                |
+--------------+--------------------------------------------------------------------+
| swift        | https://openstack.cebitec.uni-bielefeld.de:8080/swift/v1           |
| nova         | https://openstack.cebitec.uni-bielefeld.de:8774/v2.1/%(tenant_id)s |
| cinderv2     | https://openstack.cebitec.uni-bielefeld.de:8776/v2/%(tenant_id)s   |
| keystone     | https://openstack.cebitec.uni-bielefeld.de:5000/v3/                |
| glance       | https://openstack.cebitec.uni-bielefeld.de:9292                    |
| neutron      | https://openstack.cebitec.uni-bielefeld.de:9696                    |
| cinder       | https://openstack.cebitec.uni-bielefeld.de:8776/v1/%(tenant_id)s   |
+--------------+--------------------------------------------------------------------+

Add more (specific) tests

Ordered by importance:

  • Object storage (Swift/S3) : Upload / Download/ Delete data from Object Storage using the swift/s3 API
  • Volume (Nova/Cinder): Create a volume and attach it to an instance. Write/Read/Delete data. Clean-Up everything
  • Images (Glance): Upload/Delete an image (should be a small image, e.g. cirros)
  • Boot from a volume (Nova) : boot instance also from a volume (instead using a local disc)
  • Snapshots (Nova/Cinder): Start a new instance, create a snapshot, stop the instance, boot another instance from previous generated snapshot and
  • Orchestration (Heat): Upload a simple stack/ heat template (e.g. boot a new instance), run and stop it afterwards.

Description

We should add description for what the tests are actually doing and also update the pip command to install it from the release branch.

Why not use Rally?

We have rally running very similar tests in bwCloud and it works quite well.

auswahl_346

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.