castulo-martinez's profile - activity

2017-02-28 13:54:28 -0500 answered a question devstack mitaka gives error on running after rebooting VM

Looks like this problem was fixed in a later devstack release with this patch: (

So I guess if you want to fix this for the mitaka release you can try doing the same changes, just replace these two lines here (

stop_service $LIBVIRT_DAEMON
start_service $LIBVIRT_DAEMON

With this one:

restart_service $LIBVIRT_DAEMON

Then try running again.

2017-02-28 13:21:08 -0500 commented answer After system reboot, Unable to estabilish connection error(devstack)

If that answer solved your problem please mark it as the correct answer

2016-11-23 14:21:40 -0500 answered a question How to run tempest tests, "testr" vs "nosetests"?

Both are just different applications for running tests, they have their own rules for discovering tests and their own way of executing them.

The difference you are seeing in the number of tests executed using testr vs nosetests is basically based on the way each one discovers or identifies what is a test. To explain this easier let's use an example.

Let's say we want to run all tests in this package: tempest/api/compute/flavors

First using nosetests:

ad_cjmarti2@cas-devstack:/opt/stack/tempest$ nosetests -v tempest.api.compute.flavors
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.create_test_server ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.create_test_server_group ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_get_flavor[id-1f12046b-753d-40d2-abb6-d8eb8b30cb2f,smoke] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors[id-e36c0eaa-dff5-4082-ad1f-3f9a80aa3f59,smoke] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_filter_by_min_disk[id-3df2743e-3034-4e57-a4cb-b6527f6eac79] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_filter_by_min_ram[id-09fe7509-b4ee-4b34-bf8b-39532dc47292] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_limit_results[id-b26f6327-2886-467a-82be-cef7a27709cb] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_using_marker[id-6db2f0c0-ddee-4162-9c84-0703d3dd1107] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_filter_by_min_disk[id-10645a4d-96f5-443f-831b-730711e11dd4] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_filter_by_min_ram[id-935cf550-e7c8-4da6-8002-00f92d5edfaa] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_limit_results[id-8d7691b3-6ed4-411a-abc9-2839a765adab] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_using_marker[id-e800f879-9828-4bd0-8eae-4f17189951fb] ... ok
tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_with_detail[id-6e85fde4-b3cd-4137-ab72-ed5f418e8c24] ... ok

Ran 13 tests in 16.461s


And now using testr:

ad_cjmarti2@cas-devstack:/opt/stack/tempest$ testr run tempest.api.compute.flavors
Ran 11 tests in 2.366s (+0.587s)
PASSED (id=9)

To make the output of testr to look similar to that of nosetests let's us the subunit output and pipe it to the subunit formatter:

 ad_cjmarti2@cas-devstack:/opt/stack/tempest$ testr run --subunit tempest.api.compute.flavors | subunit-trace -n -f
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_get_flavor [0.549721s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors [0.248651s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_filter_by_min_disk [0.165985s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_filter_by_min_ram [0.156681s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_limit_results [0.066102s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_detailed_using_marker [0.164474s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_filter_by_min_disk [0.195904s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_filter_by_min_ram [0.176698s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_limit_results [0.076589s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_using_marker [0.191877s] ... ok
{0} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors_with_detail [0.203010s] ... ok

Ran: 11 tests in 9.0000 sec.
 - Passed: 11
 - Skipped: 0
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0
Sum of execute time for each test: 2.1957 sec.

Worker Balance
 - Worker 0 (11 tests) => 0:00:02.201494

Viewing both executions we can clearly see that nosetests ran 13 tests while testr ran 11 tests. Taking a closer look at the test results we can see that these two are the tests that were ran by nosetests and were not run by testr:

tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.create_test_server ... ok
tempest.api.compute ...
2016-11-23 12:50:00 -0500 answered a question error while initializing tempest: [Errno 2] No such file or directory: '/usr/etc/tempest'

The documentation says you need to install Tempest from the local cloned repo:

$ git clone
$ pip install tempest/

So note that you are installing from the local tempest directory, so it's important you use 'pip install tempest/' instead of 'pip install tempest' .

Also you don't need sudo to install it.

2016-11-23 10:18:19 -0500 answered a question Testing Open-stack deployment


In my opinion the best way to go would be to extend Tempest using the plugin functionality, it is fairly easy to create a new plugin ( ( and in this way you can leverage from the functionality already built on Tempest so it will save you a lot of time in comparison to building your own framework from scratch, while at the same time providing you with the freedom you need to implement most or all of the test scenarios you need.

I have tried both approaches in the past and I'd definitely go for the plugin approach.

Here is another link I like with info about how to set up your Tempest plugin: (

Best regards,


2015-10-13 15:56:29 -0500 asked a question Why am I getting "Not Implemented" when trying to create a policy

I am running the Tempest smoke test suite in a couple OpenStack environments I have, but I keep getting the same error in both when running this test:


The test is failing with the following error message:

pythonlogging:'': {{{ 2015-10-08 15:34:59,697 14385 INFO     [tempest_lib.common.rest_client] Request (PoliciesTestJSON:test_create_update_delete_policy): 201 POST 2015-10-08 15:34:59,697 14385 DEBUG    [tempest_lib.common.rest_client] Request - Headers: {}
        Body: None
    Response - Headers: {'status': '201', 'content-length': '5995', 'x-subject-token': 'a25194f0b066401491bd99cd2aef6fed', 'vary': 'X-Auth-Token', 'connection': 'close', 'date': 'Thu, 08 Oct 2015 22:34:58 GMT', 'content-type': 'application/json'}
        Body: None 2015-10-08 15:34:59,822 14385 INFO     [tempest_lib.common.rest_client] Request (PoliciesTestJSON:test_create_update_delete_policy): 501 POST
0.124s 2015-10-08 15:34:59,822 14385 DEBUG    [tempest_lib.common.rest_client] Request - Headers: {'Content-Type': 'application/json', 'Accept': 'application/json', 'X-Auth-Token': '<omitted>'}
        Body: {"policy": {"type": "tempest-PolicyType-222433904", "blob": "tempest-BlobName-2078459825"}}
    Response - Headers: {'status': '501', 'content-length': '122', 'vary': 'X-Auth-Token', 'connection': 'close', 'date': 'Thu, 08 Oct 2015 22:34:58 GMT', 'content-type': 'application/json'}
        Body: {"error": {"message": "The action you have requested has not been implemented.", "code": 501, "title": "Not Implemented"}} }}}

Does anyone know why this is happening? How can that not be implemented?

2015-10-13 13:53:39 -0500 received badge  Supporter (source)