Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config: allow reading teuthology config from env var location #1998

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

phlogistonjohn
Copy link
Contributor

Allow changing the default "user" location of the teuthology configuration yaml using the (optional) TEUTHOLOGY_CONFIG environment variable. This change aids my effort to run a customized local teuthology environment.

Allow changing the default "user" location of the teuthology
configuration yaml using the (optional) TEUTHOLOGY_CONFIG environment
variable. This change aids my effort to run a customized local
teuthology environment.

Signed-off-by: John Mulligan <phlogistonjohn@asynchrono.us>
@phlogistonjohn
Copy link
Contributor Author

Recursion error looks real and possibly related to this change. Will investigate.

@@ -285,10 +284,13 @@ def set_config_attr(obj):


def _get_config_path():
config_path = os.environ.get('TEUTHOLOGY_CONFIG', '~/.teuthology.yaml')
config_path = os.path.join(os.path.expanduser(config_path))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bad style, overriding variable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also if we declare the env for the config, we should stop immediately if such file does not exists.

@@ -137,7 +137,6 @@ class TeuthologyConfig(YamlConfig):
objects. Currently it serves as a convenient interface to
~/.teuthology.yaml and nothing else.
"""
yaml_path = os.path.join(os.path.expanduser('~/.teuthology.yaml'))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess if drop this line you have to update the comment above about "interface to ~/.teuthology.yaml and nothing else".

for path in (config_path, system_config_path):
if os.path.exists(path):
return path
return None
Copy link
Contributor

@kshtsk kshtsk Aug 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea was to always return a meaningful value, see usage of config constructor below.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants