2017-10-23 11:26:20 |
Hugh Saunders |
bug |
|
|
added bug |
2017-10-23 11:26:59 |
Hugh Saunders |
description |
Tempest Version: tempest 17.0.0
When executing "tempest run --config-file ..." the --config-file option is ignored and the default config file is used.
Example:
----------------------------------------------
(venv) root@box:~/phobos_verify_workspace# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 05:45:17.272 43286 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
----------------------------------------------
The environment variable TEMPEST_CONFIG_DIR does work:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# TEMPEST_CONFIG_DIR="/root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation" tempest --verbose run --serial -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 06:11:38.733 43461 INFO tempest [-] Using tempest config file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf
----------------------------------------------
My assessment of the probably cause:
When --config-file is supplied run.py calls CONF.set_config_path, passing in the config_file path. However config.TempestConfigProxy.set_config_path only sets self._path, which is only read once on the first __getattr__ call on the TempestConfigProxy object. So if there have been any attr lookups on that object prior to set_config_path being called, that path setting call will have no effect.
I added a couple of prints, and showed that getattr is indeed called before set_config_path:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
Setting TempestConfigProxy config 139649446298192
config_path: None
2017-10-23 06:23:00.491 43527 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
Using tempest config file /etc/tempest/tempest.conf
Setting TempestConfigProxy path 139649446298192
---------------------------------------------- |
Tempest Version: tempest 17.0.0
When executing "tempest run --config-file ..." the --config-file option is ignored and the default config file is used.
Example:
----------------------------------------------
(venv) root@box:~/phobos_verify_workspace# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 05:45:17.272 43286 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
----------------------------------------------
The environment variable TEMPEST_CONFIG_DIR does work:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# TEMPEST_CONFIG_DIR="/root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation" tempest --verbose run --serial -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 06:11:38.733 43461 INFO tempest [-] Using tempest config file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf
----------------------------------------------
My assessment of the probably cause:
When --config-file is supplied run.py calls CONF.set_config_path, passing in the config_file path. However config.TempestConfigProxy.set_config_path only sets self._path, which is only read once on the first __getattr__ call on the TempestConfigProxy object. So if there have been any attr lookups on that object prior to set_config_path being called, that path setting call will have no effect.
I added a couple of prints, and showed that getattr is indeed called before set_config_path:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
Setting TempestConfigProxy config 139649446298192
config_path: None
2017-10-23 06:23:00.491 43527 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
Using tempest config file /etc/tempest/tempest.conf
Setting TempestConfigProxy path 139649446298192
---------------------------------------------- |
|
2017-10-23 14:37:22 |
Matthew Treinish |
tempest: status |
New |
Confirmed |
|
2017-10-23 14:37:24 |
Matthew Treinish |
tempest: status |
Confirmed |
Triaged |
|
2017-10-23 14:37:26 |
Matthew Treinish |
tempest: importance |
Undecided |
Critical |
|
2017-10-23 14:37:28 |
Matthew Treinish |
tempest: importance |
Critical |
High |
|
2017-10-23 14:55:44 |
Hugh Saunders |
description |
Tempest Version: tempest 17.0.0
When executing "tempest run --config-file ..." the --config-file option is ignored and the default config file is used.
Example:
----------------------------------------------
(venv) root@box:~/phobos_verify_workspace# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 05:45:17.272 43286 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
----------------------------------------------
The environment variable TEMPEST_CONFIG_DIR does work:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# TEMPEST_CONFIG_DIR="/root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation" tempest --verbose run --serial -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 06:11:38.733 43461 INFO tempest [-] Using tempest config file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf
----------------------------------------------
My assessment of the probably cause:
When --config-file is supplied run.py calls CONF.set_config_path, passing in the config_file path. However config.TempestConfigProxy.set_config_path only sets self._path, which is only read once on the first __getattr__ call on the TempestConfigProxy object. So if there have been any attr lookups on that object prior to set_config_path being called, that path setting call will have no effect.
I added a couple of prints, and showed that getattr is indeed called before set_config_path:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
Setting TempestConfigProxy config 139649446298192
config_path: None
2017-10-23 06:23:00.491 43527 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
Using tempest config file /etc/tempest/tempest.conf
Setting TempestConfigProxy path 139649446298192
---------------------------------------------- |
Tempest Version: tempest 17.0.0
When executing "tempest run --config-file ..." the --config-file option is ignored and the default config file is used.
Example:
----------------------------------------------
(venv) root@box:~/phobos_verify_workspace# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 05:45:17.272 43286 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
----------------------------------------------
The environment variable TEMPEST_CONFIG_DIR does work:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# TEMPEST_CONFIG_DIR="/root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation" tempest --verbose run --serial -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
2017-10-23 06:11:38.733 43461 INFO tempest [-] Using tempest config file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf
----------------------------------------------
My assessment of the probable cause:
When --config-file is supplied run.py calls CONF.set_config_path, passing in the config_file path. However config.TempestConfigProxy.set_config_path only sets self._path, which is only read once on the first __getattr__ call on the TempestConfigProxy object. So if there have been any attr lookups on that object prior to set_config_path being called, that path setting call will have no effect.
I added a couple of prints, and showed that getattr is indeed called before set_config_path:
----------------------------------------------
(venv) root@infra01-utility-container-7c00a4d4:/tmp# tempest --verbose run --serial --config-file /root/phobos_verify_workspace/rpc-eng-ops/phobos-re-automation/tempest.conf -r 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario'
tempest initialize_app
Setting TempestConfigProxy config 139649446298192
config_path: None
2017-10-23 06:23:00.491 43527 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
Using tempest config file /etc/tempest/tempest.conf
Setting TempestConfigProxy path 139649446298192
---------------------------------------------- |
|
2017-10-26 21:58:04 |
OpenStack Infra |
tempest: status |
Triaged |
In Progress |
|
2017-10-26 21:58:04 |
OpenStack Infra |
tempest: assignee |
|
Matthew Treinish (treinish) |
|
2017-10-27 09:47:20 |
OpenStack Infra |
tempest: status |
In Progress |
Fix Released |
|