Skip to content

using gcloud getting unexpected key_type for create_stack #303

@JasonL888

Description

@JasonL888

steps to reproduce

  • install hastexo 8.2.0
  • only 1 provider (gcloud) in config.yml
  • in studio,
    • enable hastexo
    • add hastexo xblock to course unit
    • attempt to preview

error

  • getting exception
2025-01-13 15:08:29 2025-01-13 07:08:29,751 ERROR 14 [celery.app.trace] [user None] [ip None] trace.py:267 - Task hastexo.tasks.launch_stack_task[772ed4a3-6670-4046-bfd6-8e3195e2d6ae] raised unexpected: TypeError("GcloudProvider.create_stack() got an unexpected keyword argument 'key_type'")
2025-01-13 15:08:29 Traceback (most recent call last):
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/celery/app/trace.py", line 453, in trace_task
2025-01-13 15:08:29     R = retval = fun(*args, **kwargs)
2025-01-13 15:08:29                  ^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/celery/app/trace.py", line 736, in __protected_call__
2025-01-13 15:08:29     return self.run(*args, **kwargs)
2025-01-13 15:08:29            ^^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/hastexo/tasks.py", line 254, in run
2025-01-13 15:08:29     stack_data = self.launch_stack(stack.provider)
2025-01-13 15:08:29                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/hastexo/tasks.py", line 308, in launch_stack
2025-01-13 15:08:29     stack_data = self.try_all_providers()
2025-01-13 15:08:29                  ^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/hastexo/tasks.py", line 355, in try_all_providers
2025-01-13 15:08:29     stack_data = self.try_provider(provider)
2025-01-13 15:08:29                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29   File "/openedx/venv/lib/python3.11/site-packages/hastexo/tasks.py", line 461, in try_provider
2025-01-13 15:08:29     provider_stack = provider.create_stack(
2025-01-13 15:08:29                      ^^^^^^^^^^^^^^^^^^^^^^
2025-01-13 15:08:29 TypeError: GcloudProvider.create_stack() got an unexpected keyword argument 'key_type'

preliminary analysis

  • seems tasks.py always call provider.create_stack with key_type lines 460-464
                    logger.info("Creating stack [%s]." % self.stack_name)
                    provider_stack = provider.create_stack(
                        self.stack_name,
                        self.stack_run,
                        key_type=self.stack_key_type)
  • but Gcloud provider in provider.py line 666 doesn't have that argument
    def create_stack(self, name, run):
  • perhaps fix would be to add an unused key_type argument ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions