Skip to content

Commit

Permalink
Improve error handling for missing Provider configurations
Browse files Browse the repository at this point in the history
Throw a ProviderException when a provider configuration is missing
but the Provider is linked to an excisting Stack.
  • Loading branch information
Maari Tamm committed Apr 15, 2024
1 parent 22218f3 commit acd0d3e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Unreleased
-------------------------
* [Enhancement] Add better error handling for missing Provider configuration.
* [Enhancement] Add support for Python 3.12.

Version 7.9.1 (2024-02-14)
Expand Down
3 changes: 3 additions & 0 deletions hastexo/provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ def init(name):
return OpenstackProvider(name, config, sleep_seconds)
elif provider_type == "gcloud":
return GcloudProvider(name, config, sleep_seconds)
else:
raise ProviderException(
f"Configuration missing for provider: {name}")

def __init__(self, name, config, sleep):
self.name = name
Expand Down
6 changes: 6 additions & 0 deletions tests/unit/test_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,12 @@ def test_init(self):
self.assertNotEqual(provider.heat_c, None)
self.assertNotEqual(provider.nova_c, None)

def test_init_missing_configuration(self):
self.settings["providers"].pop(self.provider_name)

with self.assertRaises(ProviderException):
Provider.init(self.provider_name)

def test_generate_ssh_keys(self):
provider = Provider.init(self.provider_name)

Expand Down

0 comments on commit acd0d3e

Please sign in to comment.