tempest - interactively manage OS through tempest lib
Motive:
[1] tempest lacks utilities to interactively communicate with OS.
[2] the only method I know to interactively communicate with OS is specifying -d at run_tempest.sh so test cases go to debug mode when "import pdb; pdb.set_trace()" executed. With -d, pdb.set_trace() cause error.
Functions: itempest provides the interactive actions between users and OS via tempest libraries and its configuration to provide:
[1] interactively managing OS - thinking python commands mapping to CLI commands
[2] interactively design functions to manage OS which latest can be used in designing tempest test cases (API, Scenario, performance and scaling) - using reload command, use can, at runtime, design functions, debug them, test them before design tempest test cases.
[3] a different prospective to invite users to try-it to find out how tempest works without knowing how testtools embedded into the test framework.
[4] As teach tool in python commands format to manage OS like CLI does.
Real world scenarios:
[A.1] create project/user CTX1
[A.2] create network topology using CTX1
[A.3] boot VM's to CTX1 - validate data plane
[A.4] do other things == add/delete/update ...
[A.5] notify CTX1 upgrading is coming
[A.6] upgrade OS
[A.7] Upgrade completed, notify CTX1 to validate its network topology and data plane
[B] repeat A with project/user CTX2 or executed simultaneously with CTX1
Blueprint information
Related branches
Related bugs
Sprints
Whiteboard
[1] a TempestMgr class create admin/demo users (like the admin and demo account in devstack).
[1.1] tm = TempestMgr('Demo') # create Demo-A (admin) and Demo-D (demo) project/tenant and user
[1.2] network = c_network(
[1.3] subnet = c_subnet(
[1.4] d_network(
[1.5] ?change to TempestProject | TempestOSProject as openstack package seems to replace keystone and everything starts with project/tenent & its users.
[2] modules contains mehtods demo how to create resources/objects:
[2.1] create network (and delete, update, list, show - CRUD)
[2.2] CRUD subnet
[2.3] CRUD router, and set-gateway, add/del-interface
[2.4] CRUD server
[2.5] CRUD floating-ip and associate to server, disassociate from server
[2.6] CRUD security-group
changed the work to mimic openstack CLI. so we can do something like CLI. Please refer to https:/
Work Items
Work items:
Create TempestMgr class to can create project and user: DONE
Create access functions to perform neutron functions: DONE
Create access functions to perform nova functions: DONE
Create access functions to perform glance functions: DONE
Create access functions to perform keystone functions: DONE
Upload itempest source repository to https:/