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

[BUG]: Copying stack fails after updating zenml server version #2734

Closed
1 task done
jlopezpena opened this issue May 29, 2024 · 3 comments
Closed
1 task done

[BUG]: Copying stack fails after updating zenml server version #2734

jlopezpena opened this issue May 29, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@jlopezpena
Copy link
Contributor

Contact Details [Optional]

No response

System Information

ZENML_LOCAL_VERSION: 0.58.0
ZENML_SERVER_VERSION: 0.58.0
ZENML_SERVER_DATABASE: mysql
ZENML_SERVER_DEPLOYMENT_TYPE: other
ZENML_CONFIG_DIR: /root/.config/zenml
ZENML_LOCAL_STORE_DIR: /root/.config/zenml/local_stores
ZENML_SERVER_URL: https://zenml.wayflyer.team
ZENML_ACTIVE_REPOSITORY_ROOT: /workspaces/mlmodels-delinquency
PYTHON_VERSION: 3.11.6
ENVIRONMENT: native
SYSTEM_INFO: {'os': 'linux', 'linux_distro': 'ubuntu', 'linux_distro_like': 'debian', 'linux_distro_version': '23.10'}
ACTIVE_WORKSPACE: default
ACTIVE_STACK: Wayflyer DS
ACTIVE_USER: javier.lopezpena
TELEMETRY_STATUS: enabled
ANALYTICS_CLIENT_ID: 2e9c30c6-120c-46c8-a66c-9214b2a32653
ANALYTICS_USER_ID: fda958f2-f055-47c7-942c-9ff3977f610e
ANALYTICS_SERVER_ID: 15db87e7-3688-4478-8c1f-f7d634988a14
INTEGRATIONS: ['bitbucket', 'kaniko', 'lightgbm', 'pigeon', 'pillow', 's3', 'scipy', 'sklearn', 'slack', 'xgboost']
PACKAGES: {'babel': '2.14.0', 'deprecated': '1.2.14', 'faker': '24.0.0', 'gitpython': '3.1.42', 'jinja2': '3.1.3', 'mako': '1.3.2', 'markdown': '3.6',
'markupsafe': '2.1.5', 'pyjwt': '2.7.0', 'pymysql': '1.1.1', 'pyyaml': '6.0.1', 'sqlalchemy': '1.4.41', 'sqlalchemy-utils': '0.38.3', 'absl-py': '2.1.0',
'accessible-pygments': '0.0.4', 'aiobotocore': '2.5.2', 'aiohttp': '3.9.3', 'aioitertools': '0.11.0', 'aiosignal': '1.3.1', 'alabaster': '0.7.16', 'alembic':
'1.8.1', 'anyio': '4.3.0', 'appdirs': '1.4.4', 'arfs': '2.2.6', 'argparse': '1.4.0', 'asn1crypto': '1.5.1', 'asttokens': '2.4.1', 'attrs': '23.2.0',
'aws-profile-manager': '0.7.3', 'azure-common': '1.1.28', 'azure-core': '1.30.1', 'azure-mgmt-core': '1.4.0', 'azure-mgmt-resource': '23.0.1', 'bcrypt': '4.0.1',
'beautifulsoup4': '4.12.3', 'boto3': '1.26.76', 'botocore': '1.29.161', 'bytecode': '0.15.1', 'cachetools': '5.3.3', 'cattrs': '23.2.3', 'certifi': '2024.2.2',
'cffi': '1.16.0', 'chardet': '5.2.0', 'charset-normalizer': '3.3.2', 'clarabel': '0.7.1', 'click': '8.1.3', 'click-params': '0.3.0', 'cloudpickle': '2.2.1',
'colorama': '0.4.6', 'colorcet': '3.1.0', 'comm': '0.2.1', 'configparser': '6.0.1', 'contourpy': '1.2.0', 'coverage': '7.4.3', 'cryptography': '42.0.5', 'cvxpy':
'1.4.2', 'cycler': '0.12.1', 'datadog': '0.49.1', 'ddsketch': '3.0.1', 'ddtrace': '2.8.1', 'debugpy': '1.8.1', 'decorator': '5.1.1', 'deptry': '0.16.1',
'diff-cover': '8.0.3', 'distro': '1.9.0', 'docker': '6.1.3', 'docopt': '0.6.2', 'docutils': '0.20.1', 'dynaconf': '3.2.4', 'ecos': '2.0.13', 'entrypoints':
'0.4', 'envier': '0.5.1', 'evidently': '0.4.16', 'executing': '2.0.1', 'fastapi': '0.99.1', 'fastapi-utils': '0.2.1', 'fastjsonschema': '2.19.1',
'feature-engine': '1.6.2', 'filelock': '3.13.1', 'fonttools': '4.49.0', 'frozenlist': '1.4.1', 'fsspec': '2023.4.0', 'furo': '2024.1.29', 'giskard': '2.8.0',
'gitdb': '4.0.11', 'greenlet': '3.0.3', 'griffe': '0.42.1', 'h11': '0.14.0', 'httpcore': '1.0.4', 'httplib2': '0.19.1', 'httptools': '0.6.1', 'httpx': '0.27.0',
'idna': '3.6', 'imagesize': '1.4.1', 'importlib-metadata': '6.11.0', 'iniconfig': '2.0.0', 'ipinfo': '5.0.1', 'ipykernel': '6.29.3', 'ipython': '8.22.2',
'ipywidgets': '8.1.2', 'isodate': '0.6.1', 'iterative-telemetry': '0.0.8', 'jedi': '0.19.1', 'jmespath': '1.0.1', 'joblib': '1.3.2', 'jsonschema': '4.21.1',
'jsonschema-specifications': '2023.12.1', 'jupyter-book': '1.0.0', 'jupyter-cache': '1.0.0', 'jupyter-client': '8.6.0', 'jupyter-core': '5.7.1',
'jupyterlab-widgets': '3.0.10', 'jupytext': '1.16.1', 'kiwisolver': '1.4.5', 'langdetect': '1.0.9', 'latexcodec': '2.0.1', 'lightgbm': '4.3.0', 'linkify-it-py':
'2.0.3', 'litestar': '2.6.3', 'livereload': '2.6.3', 'llvmlite': '0.42.0', 'markdown-it-py': '3.0.0', 'matplotlib': '3.8.3', 'matplotlib-inline': '0.1.6',
'mdit-py-plugins': '0.4.0', 'mdurl': '0.1.2', 'mixpanel': '4.10.1', 'mlflow-skinny': '2.11.3', 'msgspec': '0.18.6', 'multidict': '6.0.5', 'mypy': '1.8.0',
'mypy-extensions': '1.0.0', 'myst-nb': '1.0.0', 'myst-parser': '2.0.0', 'nbclient': '0.9.0', 'nbformat': '5.9.2', 'nest-asyncio': '1.6.0', 'nltk': '3.8.1',
'num2words': '0.5.13', 'numba': '0.59.0', 'numpy': '1.26.4', 'opentelemetry-api': '1.23.0', 'optbinning': '0.19.0', 'orjson': '3.10.3', 'ortools': '9.7.2996',
'osqp': '0.6.4', 'packaging': '23.2', 'pandas': '2.2.2', 'pandas-stubs': '2.2.0.240218', 'parso': '0.8.3', 'passlib': '1.7.4', 'pathspec': '0.12.1', 'patsy':
'0.5.6', 'pexpect': '4.9.0', 'pika': '1.3.2', 'pillow': '10.2.0', 'platformdirs': '3.11.0', 'plotly': '5.19.0', 'pluggy': '1.4.0', 'polyfactory': '2.15.0',
'prompt-toolkit': '3.0.43', 'protobuf': '4.25.3', 'psutil': '5.9.8', 'ptyprocess': '0.7.0', 'pure-eval': '0.2.2', 'pyopenssl': '24.0.0', 'pyarrow': '15.0.0',
'pybind11': '2.11.1', 'pybtex': '0.24.0', 'pybtex-docutils': '1.0.3', 'pycparser': '2.21', 'pydantic': '1.10.14', 'pydata-sphinx-theme': '0.15.2', 'pygments':
'2.17.2', 'pyparsing': '2.4.7', 'pytest': '8.0.2', 'pytest-cov': '4.1.0', 'python-dateutil': '2.9.0.post0', 'python-dotenv': '1.0.1', 'python-multipart':
'0.0.9', 'pytz': '2024.1', 'pyxirr': '0.10.3', 'pyzmq': '25.1.2', 'qdldl': '0.1.7.post0', 'referencing': '0.33.0', 'regex': '2023.12.25', 'requests': '2.31.0',
'requests-toolbelt': '1.0.0', 'rich': '13.7.1', 'rich-click': '1.7.3', 'ropwr': '1.0.0', 'rpds-py': '0.18.0', 'ruff': '0.3.0', 's3fs': '2023.4.0', 's3transfer':
'0.6.2', 'scikit-learn': '1.5.0', 'scipy': '1.11.4', 'scs': '3.2.4.post1', 'seaborn': '0.13.2', 'secure': '0.3.0', 'sentry-sdk': '1.44.1', 'setuptools':
'69.1.1', 'shap': '0.44.1', 'six': '1.16.0', 'slack-sdk': '3.27.1', 'slicer': '0.0.7', 'smmap': '5.0.1', 'sniffio': '1.3.1', 'snowballstemmer': '2.2.0',
'snowflake-connector-python': '3.7.1', 'sortedcontainers': '2.4.0', 'soupsieve': '2.5', 'sphinx': '7.2.6', 'sphinx-autobuild': '2024.2.4', 'sphinx-basic-ng':
'1.0.0b2', 'sphinx-book-theme': '1.1.2', 'sphinx-comments': '0.0.3', 'sphinx-copybutton': '0.5.2', 'sphinx-design': '0.5.0', 'sphinx-external-toc': '1.0.1',
'sphinx-jupyterbook-latex': '1.0.0', 'sphinx-multitoc-numbering': '0.1.3', 'sphinx-thebe': '0.3.1', 'sphinx-togglebutton': '0.3.2', 'sphinxcontrib-applehelp':
'1.0.8', 'sphinxcontrib-bibtex': '2.6.2', 'sphinxcontrib-devhelp': '1.0.6', 'sphinxcontrib-htmlhelp': '2.0.5', 'sphinxcontrib-jsmath': '1.0.1',
'sphinxcontrib-qthelp': '1.0.7', 'sphinxcontrib-serializinghtml': '1.1.10', 'sqlalchemy2-stubs': '0.0.2a38', 'sqlfluff': '3.0.6', 'sqlmodel': '0.0.8',
'sqlparse': '0.4.4', 'stack-data': '0.6.3', 'starlette': '0.27.0', 'statsmodels': '0.14.1', 'tabulate': '0.9.0', 'tblib': '3.0.0', 'tenacity': '8.2.3',
'threadpoolctl': '3.3.0', 'toml': '0.10.2', 'tomlkit': '0.12.4', 'tornado': '6.4', 'tqdm': '4.66.2', 'traitlets': '5.14.1', 'typer': '0.9.0', 'types-pygments':
'2.17.0.20240310', 'types-docutils': '0.20.0.20240331', 'types-pytz': '2024.1.0.20240203', 'types-setuptools': '69.2.0.20240317', 'typing-extensions': '4.10.0',
'typing-inspect': '0.9.0', 'tzdata': '2024.1', 'uc-micro-py': '1.0.3', 'urllib3': '1.26.18', 'uvicorn': '0.27.1', 'uvloop': '0.19.0', 'validators': '0.18.2',
'watchdog': '4.0.0', 'watchfiles': '0.21.0', 'wcwidth': '0.2.13', 'websocket-client': '1.7.0', 'websockets': '12.0', 'wf-aws': '1.15.0', 'wf-blackbox': '3.0.5',
'wf-bunny': '4.7.0', 'wf-cli': '1.27.9', 'wf-cli-plugin-aws': '1.5.7', 'wf-cli-plugin-docs': '1.2.7', 'wf-cli-plugin-login': '1.1.0', 'wf-cli-plugin-py':
'2.8.5', 'wf-codec': '1.29.4', 'wf-codec-pandas': '1.0.1', 'wf-comms': '2.3.0', 'wf-configvars': '1.1.0', 'wf-ds-tools': '0.13.0', 'wf-env': '1.2.0', 'wf-memo':
'1.1.1', 'wf-mlmodels-delinquency': '0.0.0', 'wf-modelhub': '0.7.3', 'wf-modelhub-types': '0.7.0', 'wf-sync': '2.5.0', 'wheel': '0.42.0', 'widgetsnbextension':
'4.0.10', 'wrapt': '1.16.0', 'xgboost': '2.0.3', 'xmltodict': '0.13.0', 'xxhash': '3.4.1', 'yarl': '1.9.4', 'zenml': '0.58.0', 'zipp': '3.17.0', 'zstandard':
'0.22.0'}

CURRENT STACK

Name: Wayflyer DS
ID: 3876302e-0de4-439d-81b2-de954dc56eed
User: javier.lopezpena / fda958f2-f055-47c7-942c-9ff3977f610e
Workspace: default / ad453c60-e306-48a2-bb48-102098f0a3a9

ORCHESTRATOR: default

Name: default
ID: c79ec6fb-89f7-4d2b-b642-19f4d070820d
Type: orchestrator
Flavor: local
Configuration: {}
Workspace: default / ad453c60-e306-48a2-bb48-102098f0a3a9

ARTIFACT_STORE: s3

Name: s3
ID: e372107f-0349-4b93-9b47-5645339bcfb8
Type: artifact_store
Flavor: s3
Configuration: {'authentication_secret': None, 'path': 's3://wf-zenml/artifacts', 'key': '', 'secret': '', 'token': '********', 'client_kwargs':
None, 'config_kwargs': None, 's3_additional_kwargs': None}
User: dave.hall / da3bf4ff-c7e1-4f85-9bd5-b3f779e03954
Workspace: default / ad453c60-e306-48a2-bb48-102098f0a3a9

ALERTER: DS Alerter

Name: DS Alerter
ID: e7c058d4-96c5-4caa-8115-a7a998ec86a5
Type: alerter
Flavor: slack
Configuration: {'slack_token': '********', 'default_slack_channel_id': 'C064J8NMV8V'}
User: javier.lopezpena / fda958f2-f055-47c7-942c-9ff3977f610e
Workspace: default / ad453c60-e306-48a2-bb48-102098f0a3a9

What happened?

We recently updated our zenml OSS server to version 0.58.
Our stack works fine and we have been running our pipelines without issues. Yesterday I tried to make a copy of my active stack to play around with components, and I got this error when it tried to copy the alerter component (Slack Alerter, full stacktrace further below):

...
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/integrations/slack/flavors/slack_alerter_flavor.py", line 82, in is_valid
    logger.error("Slack API Error:", e.response["error"])
Message: 'Slack API Error:'
Arguments: ('missing_scope',)
...
ValueError: Invalid stack component configuration. Please verify the configurations set for alerter.

The slack alerter component is simple enough to set up again, so this is not a massive deal, but I thought you might want to know. I never tried to copy the stack before so I don't really know if this ever worked and was broken by the migration, or if it never worked.

Reproduction steps

No response

Relevant log output

Traceback (most recent call last):
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/integrations/slack/flavors/slack_alerter_flavor.py", line 75, in is_valid
    response = client.conversations_info(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/slack_sdk/web/client.py", line 2852, in conversations_info
    return self.api_call("conversations.info", http_verb="GET", params=kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/slack_sdk/web/base_client.py", line 155, in api_call
    return self._sync_send(api_url=api_url, req_args=req_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/slack_sdk/web/base_client.py", line 186, in _sync_send
    return self._urllib_api_call(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/slack_sdk/web/base_client.py", line 317, in _urllib_api_call
    ).validate()
      ^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/slack_sdk/web/slack_response.py", line 199, in validate
    raise e.SlackApiError(message=msg, response=self)
slack_sdk.errors.SlackApiError: The request to the Slack API failed. (url: https://www.slack.com/api/conversations.info)
The server responded with: {'ok': False, 'error': 'missing_scope', 'needed': 'channels:read,groups:read,mpim:read,im:read', 'provided': 
'chat:write,chat:write.customize,chat:write.public'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.11/logging/__init__.py", line 1110, in emit
    msg = self.format(record)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 953, in format
    return fmt.format(record)
           ^^^^^^^^^^^^^^^^^^
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/logger.py", line 87, in format
    formatted_message = formatter.format(record)
                        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 687, in format
    record.message = record.getMessage()
                     ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/logging/__init__.py", line 377, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: not all arguments converted during string formatting
Call stack:
  File "/workspaces/mlmodels-delinquency/.venv/bin/zenml", line 8, in <module>
    sys.exit(cli())
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/cli/stack.py", line 1071, in copy_stack
    copied_stack = client.create_stack(
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client_lazy_loader.py", line 192, in _inner
    return func(*args_, **kwargs)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client.py", line 1187, in create_stack
    self._validate_stack_configuration(stack=stack)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client_lazy_loader.py", line 192, in _inner
    return func(*args_, **kwargs)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client.py", line 1536, in _validate_stack_configuration
    configuration = validate_stack_component_config(
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/stack/utils.py", line 79, in validate_stack_component_config
    if not configuration.is_valid:
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/stack/stack_component.py", line 195, in __custom_getattribute__
    value = super().__getattribute__(key)
  File "/workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/integrations/slack/flavors/slack_alerter_flavor.py", line 82, in is_valid
    logger.error("Slack API Error:", e.response["error"])
Message: 'Slack API Error:'
Arguments: ('missing_scope',)
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /workspaces/mlmodels-delinquency/.venv/bin/zenml:8 in <module>                                   │
│                                                                                                  │
│   5 from zenml.cli.cli import cli                                                                │
│   6 if __name__ == "__main__":                                                                   │
│   7 │   sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])                         │
│ ❱ 8 │   sys.exit(cli())                                                                          │
│   9                                                                                              │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:1130 in        │
│ __call__                                                                                         │
│                                                                                                  │
│   1127 │                                                                                         │
│   1128 │   def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:                           │
│   1129 │   │   """Alias for :meth:`main`."""                                                     │
│ ❱ 1130 │   │   return self.main(*args, **kwargs)                                                 │
│   1131                                                                                           │
│   1132                                                                                           │
│   1133 class Command(BaseCommand):                                                               │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:1055 in main   │
│                                                                                                  │
│   1052 │   │   try:                                                                              │
│   1053 │   │   │   try:                                                                          │
│   1054 │   │   │   │   with self.make_context(prog_name, args, **extra) as ctx:                  │
│ ❱ 1055 │   │   │   │   │   rv = self.invoke(ctx)                                                 │
│   1056 │   │   │   │   │   if not standalone_mode:                                               │
│   1057 │   │   │   │   │   │   return rv                                                         │
│   1058 │   │   │   │   │   # it's not safe to `ctx.exit(rv)` here!                               │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:1657 in invoke │
│                                                                                                  │
│   1654 │   │   │   │   super().invoke(ctx)                                                       │
│   1655 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1656 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1658 │   │                                                                                     │
│   1659 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1660 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:1657 in invoke │
│                                                                                                  │
│   1654 │   │   │   │   super().invoke(ctx)                                                       │
│   1655 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1656 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1657 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1658 │   │                                                                                     │
│   1659 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1660 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:1404 in invoke │
│                                                                                                  │
│   1401 │   │   │   echo(style(message, fg="red"), err=True)                                      │
│   1402 │   │                                                                                     │
│   1403 │   │   if self.callback is not None:                                                     │
│ ❱ 1404 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                │
│   1405 │                                                                                         │
│   1406 │   def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]:  │
│   1407 │   │   """Return a list of completions for the incomplete value. Looks                   │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/click/core.py:760 in invoke  │
│                                                                                                  │
│    757 │   │                                                                                     │
│    758 │   │   with augment_usage_errors(__self):                                                │
│    759 │   │   │   with ctx:                                                                     │
│ ❱  760 │   │   │   │   return __callback(*args, **kwargs)                                        │
│    761 │                                                                                         │
│    762 │   def forward(                                                                          │
│    763 │   │   __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any  # noqa: B902             │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/cli/stack.py:1071 in   │
│ copy_stack                                                                                       │
│                                                                                                  │
│   1068 │   │   │   if c_list:                                                                    │
│   1069 │   │   │   │   component_mapping[c_type] = c_list[0].id                                  │
│   1070 │   │                                                                                     │
│ ❱ 1071 │   │   copied_stack = client.create_stack(                                               │
│   1072 │   │   │   name=target_stack,                                                            │
│   1073 │   │   │   components=component_mapping,                                                 │
│   1074 │   │   )                                                                                 │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client_lazy_loader.py: │
│ 192 in _inner                                                                                    │
│                                                                                                  │
│   189 │   │   │   │   │   with contextlib.suppress(ValueError):                                  │
│   190 │   │   │   │   │   │   kwargs[k] = ClientLazyLoader(**v).evaluate()                       │
│   191 │   │   │                                                                                  │
│ ❱ 192 │   │   │   return func(*args_, **kwargs)                                                  │
│   193 │   │                                                                                      │
│   194 │   │   return _inner                                                                      │
│   195                                                                                            │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client.py:1187 in      │
│ create_stack                                                                                     │
│                                                                                                  │
│   1184 │   │   │   user=self.active_user.id,                                                     │
│   1185 │   │   )                                                                                 │
│   1186 │   │                                                                                     │
│ ❱ 1187 │   │   self._validate_stack_configuration(stack=stack)                                   │
│   1188 │   │                                                                                     │
│   1189 │   │   return self.zen_store.create_stack(stack=stack)                                   │
│   1190                                                                                           │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client_lazy_loader.py: │
│ 192 in _inner                                                                                    │
│                                                                                                  │
│   189 │   │   │   │   │   with contextlib.suppress(ValueError):                                  │
│   190 │   │   │   │   │   │   kwargs[k] = ClientLazyLoader(**v).evaluate()                       │
│   191 │   │   │                                                                                  │
│ ❱ 192 │   │   │   return func(*args_, **kwargs)                                                  │
│   193 │   │                                                                                      │
│   194 │   │   return _inner                                                                      │
│   195                                                                                            │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/client.py:1536 in      │
│ _validate_stack_configuration                                                                    │
│                                                                                                  │
│   1533 │   │   │   │   │   warn_if_config_server_mismatch,                                       │
│   1534 │   │   │   │   )                                                                         │
│   1535 │   │   │   │                                                                             │
│ ❱ 1536 │   │   │   │   configuration = validate_stack_component_config(                          │
│   1537 │   │   │   │   │   configuration_dict=component.configuration,                           │
│   1538 │   │   │   │   │   flavor_name=component.flavor,                                         │
│   1539 │   │   │   │   │   component_type=component.type,                                        │
│                                                                                                  │
│ /workspaces/mlmodels-delinquency/.venv/lib/python3.11/site-packages/zenml/stack/utils.py:80 in   │
│ validate_stack_component_config                                                                  │
│                                                                                                  │
│    77 │                                                                                          │
│    78 │   configuration = flavor_class.config_class(**configuration_dict)                        │
│    79 │   if not configuration.is_valid:                                                         │
│ ❱  80 │   │   raise ValueError(                                                                  │
│    81 │   │   │   f"Invalid stack component configuration. Please verify "
│    82 │   │   │   f"the configurations set for {component_type}."
│    83 │   │   )                                                                                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ValueError: Invalid stack component configuration. Please verify the configurations set for alerter.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jlopezpena jlopezpena added the bug Something isn't working label May 29, 2024
@strickvl
Copy link
Contributor

Thanks for the report. We'll check it out and report back here when replicated + (if needed) fixed etc.

@avishniakov
Copy link
Contributor

Hey @jlopezpena , thanks for reporting! I checked this issue and it works just right if the token is properly configured with the given versions.
The error message suggests that the scopes set for the token do not fulfill the requirements. Can you look into extending the scopes to the needed channels:read,groups:read,mpim:read,im:read while given are chat:write,chat:write.customize,chat:write.public?
More details on the Conversations API for Slack

@jlopezpena
Copy link
Contributor Author

Checked recreating the token and it worked, I guess what confuses me is how it did work before with the wrong token, for several versions, and then stopped. In any case, deleting the token and recreating it is a simple enough solution, so I am happy to close this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants