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]: unknown instruction: Dockerfile #2330

Open
1 task done
decadance-dance opened this issue Jan 21, 2024 · 8 comments
Open
1 task done

[BUG]: unknown instruction: Dockerfile #2330

decadance-dance opened this issue Jan 21, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@decadance-dance
Copy link

Contact Details [Optional]

No response

System Information

ZENML_LOCAL_VERSION: 0.54.1
ZENML_SERVER_VERSION: 0.54.1
ZENML_SERVER_DATABASE: mysql
ZENML_SERVER_DEPLOYMENT_TYPE: other
ZENML_CONFIG_DIR: /home/kllis/.config/zenml
ZENML_LOCAL_STORE_DIR: /home/kllis/.config/zenml/local_stores
ZENML_SERVER_URL: http://localhost:8080
ZENML_ACTIVE_REPOSITORY_ROOT: /home/kllis/font_recognition_mlops
PYTHON_VERSION: 3.10.13
ENVIRONMENT: wsl
SYSTEM_INFO: {'os': 'linux', 'linux_distro': 'ubuntu', 'linux_distro_like': 'debian', 'linux_distro_version': '22.04'}
ACTIVE_WORKSPACE: default
ACTIVE_STACK: 123
ACTIVE_USER: admin
TELEMETRY_STATUS: enabled
ANALYTICS_CLIENT_ID: 623c517e-e34b-47b9-9f42-268a2cbcfbc2
ANALYTICS_USER_ID: b9298ae9-a19a-4f96-88f0-423dd282ed0d
ANALYTICS_SERVER_ID: 2c0f6083-1226-49a9-b54e-a531ef2143c6
INTEGRATIONS: ['aws', 'evidently', 'kaniko', 'kubeflow', 'kubernetes', 'mlflow', 'pillow', 'scipy', 'seldon', 'sklearn', 'slack']
PACKAGES: {'brotli': '1.1.0', 'deprecated': '1.2.14', 'gitpython': '3.1.41', 'jinja2': '3.1.3', 'mako': '1.3.0', 'markdown': '3.5.2',
'markupsafe': '2.1.3', 'pyjwt': '2.7.0', 'pymysql': '1.0.3', 'pyyaml': '6.0.1', 'sqlalchemy': '1.4.41', 'sqlalchemy-utils': '0.38.3',
'absl-py': '1.4.0', 'aiofiles': '23.2.1', 'aiohttp': '3.9.1', 'aiokafka': '0.10.0', 'aiosignal': '1.3.1', 'alembic': '1.8.1', 'anyio':
'4.2.0', 'argparse': '1.4.0', 'arrow': '1.3.0', 'asttokens': '2.4.1', 'async-timeout': '4.0.3', 'attrs': '22.2.0', 'aws-profile-manager':
'0.7.3', 'azure-common': '1.1.28', 'azure-core': '1.29.7', 'azure-mgmt-core': '1.4.0', 'azure-mgmt-resource': '23.0.1', 'bcrypt': '4.0.1',
'blinker': '1.7.0', 'boto3': '1.34.22', 'botocore': '1.34.22', 'cachetools': '5.3.2', 'certifi': '2023.11.17', 'cffi': '1.16.0',
'charset-normalizer': '3.3.2', 'click': '8.1.3', 'click-params': '0.3.0', 'cloudpickle': '2.2.1', 'colorama': '0.4.6', 'comm': '0.2.1',
'configparser': '6.0.0', 'contextlib2': '21.6.0', 'contourpy': '1.2.0', 'copier': '8.1.0', 'cryptography': '41.0.7', 'cycler': '0.12.1',
'databricks-cli': '0.18.0', 'decorator': '5.1.1', 'dill': '0.3.7', 'distro': '1.9.0', 'docker': '6.1.3', 'docstring-parser': '0.15',
'dunamai': '1.19.0', 'entrypoints': '0.4', 'evidently': '0.3.3', 'exceptiongroup': '1.2.0', 'executing': '2.0.1', 'fastapi': '0.89.1',
'fastapi-utils': '0.2.1', 'fire': '0.5.0', 'flask': '3.0.1', 'fonttools': '4.47.2', 'frozenlist': '1.4.1', 'funcy': '2.0', 'gevent': '23.9.1',
'geventhttpclient': '2.0.2', 'gitdb': '4.0.11', 'google-api-core': '2.15.0', 'google-api-python-client': '1.12.11', 'google-auth': '2.26.2',
'google-auth-httplib2': '0.2.0', 'google-cloud-core': '2.4.1', 'google-cloud-storage': '2.14.0', 'google-crc32c': '1.5.0', 'google-pasta':
'0.2.0', 'google-resumable-media': '2.7.0', 'googleapis-common-protos': '1.62.0', 'greenlet': '3.0.3', 'grpcio': '1.60.0', 'gunicorn':
'21.2.0', 'h11': '0.14.0', 'httplib2': '0.19.1', 'httptools': '0.6.1', 'idna': '3.6', 'importlib-metadata': '4.13.0', 'importlib-resources':
'6.1.1', 'ipinfo': '5.0.0', 'ipython': '8.18.0', 'ipywidgets': '8.1.1', 'isodate': '0.6.1', 'itsdangerous': '2.1.2', 'jedi': '0.19.1',
'jinja2-ansible-filters': '1.3.2', 'jinja2-time': '0.2.0', 'jmespath': '1.0.1', 'joblib': '1.3.2', 'jsonschema': '4.21.0',
'jsonschema-specifications': '2023.12.1', 'jupyterlab-widgets': '3.0.9', 'kfp': '1.8.22', 'kfp-pipeline-spec': '0.1.16', 'kfp-server-api':
'1.8.5', 'kiwisolver': '1.4.5', 'kubernetes': '25.3.0', 'llvmlite': '0.41.1', 'markdown-it-py': '3.0.0', 'matplotlib': '3.8.2',
'matplotlib-inline': '0.1.6', 'mdurl': '0.1.2', 'mlflow': '2.9.2', 'mlserver': '1.3.5', 'mlserver-mlflow': '1.3.5', 'multidict': '6.0.4',
'multiprocess': '0.70.15', 'nltk': '3.8.1', 'numba': '0.58.1', 'numpy': '1.26.3', 'oauthlib': '3.2.2', 'orjson': '3.8.14', 'packaging':
'23.2', 'pandas': '2.1.4', 'parso': '0.8.3', 'passlib': '1.7.4', 'pathos': '0.3.1', 'pathspec': '0.12.1', 'patsy': '0.5.6', 'pexpect':
'4.9.0', 'pillow': '10.2.0', 'pip': '23.3.1', 'plotly': '5.18.0', 'plumbum': '1.8.2', 'pox': '0.3.3', 'ppft': '1.7.6.7', 'prometheus-client':
'0.19.0', 'prompt-toolkit': '3.0.36', 'protobuf': '3.20.3', 'protobuf3-to-dict': '0.1.5', 'psutil': '5.9.7', 'ptyprocess': '0.7.0',
'pure-eval': '0.2.2', 'py-grpc-prometheus': '0.7.0', 'pyarrow': '14.0.2', 'pyasn1': '0.5.1', 'pyasn1-modules': '0.3.0', 'pycparser': '2.21',
'pydantic': '1.10.14', 'pygments': '2.17.2', 'pynndescent': '0.5.11', 'pyparsing': '2.4.7', 'python-dateutil': '2.8.2', 'python-dotenv':
'1.0.0', 'python-multipart': '0.0.6', 'python-rapidjson': '1.14', 'pytz': '2023.3.post1', 'pyyaml-include': '1.3.2', 'querystring-parser':
'1.2.4', 'questionary': '2.0.1', 'referencing': '0.32.1', 'regex': '2023.12.25', 'requests': '2.31.0', 'requests-oauthlib': '1.3.1',
'requests-toolbelt': '0.10.1', 'rich': '13.7.0', 'rpds-py': '0.17.1', 'rsa': '4.9', 'ruff': '0.1.7', 's3transfer': '0.10.0', 'sagemaker':
'2.117.0', 'schema': '0.7.5', 'scikit-learn': '1.4.0', 'scipy': '1.11.4', 'setuptools': '68.2.2', 'six': '1.16.0', 'slack-sdk': '3.26.2',
'smdebug-rulesconfig': '1.0.1', 'smmap': '5.0.1', 'sniffio': '1.3.0', 'sqlalchemy2-stubs': '0.0.2a38', 'sqlmodel': '0.0.8', 'sqlparse':
'0.4.4', 'stack-data': '0.6.3', 'starlette': '0.22.0', 'starlette-exporter': '0.17.1', 'statsmodels': '0.14.1', 'strip-hints': '0.1.10',
'tabulate': '0.9.0', 'tenacity': '8.2.3', 'termcolor': '2.4.0', 'threadpoolctl': '3.2.0', 'tqdm': '4.66.1', 'traitlets': '5.14.1',
'tritonclient': '2.41.1', 'typer': '0.9.0', 'types-python-dateutil': '2.8.19.20240106', 'typing-extensions': '4.9.0', 'tzdata': '2023.4',
'umap-learn': '0.5.5', 'uritemplate': '3.0.1', 'urllib3': '1.26.18', 'uvicorn': '0.26.0', 'uvloop': '0.19.0', 'validators': '0.18.2',
'watchfiles': '0.21.0', 'wcwidth': '0.2.13', 'websocket-client': '1.7.0', 'websockets': '12.0', 'werkzeug': '3.0.1', 'wheel': '0.41.2',
'widgetsnbextension': '4.0.9', 'wrapt': '1.16.0', 'yarl': '1.9.4', 'zenml': '0.54.1', 'zipp': '3.17.0', 'zope.event': '5.0', 'zope.interface':
'6.1'}

CURRENT STACK

Name: 123
ID: 981e04f7-211d-49b9-9190-88872854c5c7
User: admin / b9298ae9-a19a-4f96-88f0-423dd282ed0d
Workspace: default / d5402bc8-e31a-4104-b2f8-3ddf1a9e179d

ORCHESTRATOR: docker

Name: docker
ID: f2ae61b1-86a4-421e-b22b-ac6be7063e05
Type: orchestrator
Flavor: local_docker
Configuration: {'run_args': {}}
User: admin / b9298ae9-a19a-4f96-88f0-423dd282ed0d
Workspace: default / d5402bc8-e31a-4104-b2f8-3ddf1a9e179d

ARTIFACT_STORE: default

Name: default
ID: 87f1bffd-5117-43b6-ad69-c1565083a075
Type: artifact_store
Flavor: local
Configuration: {'path': ''}
Workspace: default / d5402bc8-e31a-4104-b2f8-3ddf1a9e179d

IMAGE_BUILDER: docker-builder

Name: docker-builder
ID: 2cb96498-ab0c-47a1-9d50-d6874e2c4257
Type: image_builder
Flavor: local
Configuration: {}
User: admin / b9298ae9-a19a-4f96-88f0-423dd282ed0d
Workspace: default / d5402bc8-e31a-4104-b2f8-3ddf1a9e179d

What happened?

I am building the simple pipeline with the docker locally.
When I am running my pipeline I get this error: APIError: 400 Client Error for http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator-intermediate-build&q=False&nocache=False&rm=False&forcerm=False& pull=False: Bad Request ("dockerfile parse error on line 1: unknown instruction: Dockerfile")

# pipelines/try_on.py

from zenml import pipeline, step


@step
def load_data() -> dict:
    """Simulates loading of training data and labels."""

    training_data = [[1, 2], [3, 4], [5, 6]]
    labels = [0, 1, 0]
    
    return {'features': training_data, 'labels': labels}

@step
def train_model(data: dict) -> None:
    """
    A mock 'training' process that also demonstrates using the input data.
    In a real-world scenario, this would be replaced with actual model fitting logic.
    """
    total_features = sum(map(sum, data['features']))
    total_labels = sum(data['labels'])
    
    print(f"Trained model using {len(data['features'])} data points. "
          f"Feature sum is {total_features}, label sum is {total_labels}")

@pipeline
def simple_ml_pipeline():
    """Define a pipeline that connects the steps."""
    dataset = load_data()
    train_model(dataset)

if __name__ == "__main__":
    simple_ml_pipeline = simple_ml_pipeline.with_options(config_path='configs/try_on.yaml')
    simple_ml_pipeline()
    # You can now use the `run` object to see steps, outputs, etc.
# configs/try_on.yaml

settings:
  docker:
    dockerfile: Dockerfile
    build_context_root: envs/try_on
# envs/try_on

FROM python:3.10-alpine3.18
RUN pip install polars

Reproduction steps

  1. python pipelines/try_on.py

Relevant log output

Initiating a new run for the pipeline: simple_ml_pipeline.
Reusing registered pipeline version: (version: 2).
Building Docker image(s) for pipeline simple_ml_pipeline.
Building Docker image zenml:simple_ml_pipeline-orchestrator-intermediate-build.
No .dockerignore found, including all files inside build context.
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:268 in         │
│ _raise_for_status                                                                                │
│                                                                                                  │
│   265 │   def _raise_for_status(self, response):                                                 │
│   266 │   │   """Raises stored :class:`APIError`, if one occurred."""                            │
│   267 │   │   try:                                                                               │
│ ❱ 268 │   │   │   response.raise_for_status()                                                    │
│   269 │   │   except requests.exceptions.HTTPError as e:                                         │
│   270 │   │   │   raise create_api_error_from_http_exception(e) from e                           │
│   271                                                                                            │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/requests/models.py:1021 in          │
│ raise_for_status                                                                                 │
│                                                                                                  │
│   1018 │   │   │   )                                                                             │
│   1019 │   │                                                                                     │
│   1020 │   │   if http_error_msg:                                                                │
│ ❱ 1021 │   │   │   raise HTTPError(http_error_msg, response=self)                                │
│   1022 │                                                                                         │
│   1023 │   def close(self):                                                                      │
│   1024 │   │   """Releases the connection back to the pool. Once this method has been            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
HTTPError: 400 Client Error: Bad Request for url: 
http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator-intermediate-build&q=False&nocache=False&rm=False&forcerm=False&
pull=False

The above exception was the direct cause of the following exception:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/kllis/font_recognition_mlops/pipelines/try_on.py:33 in <module>                            │
│                                                                                                  │
│   30                                                                                             │
│   31 if __name__ == "__main__":                                                                  │
│   32 │   simple_ml_pipeline = simple_ml_pipeline.with_options(config_path='configs/try_on.yam    │
│ ❱ 33 │   simple_ml_pipeline()                                                                    │
│   34 │   # You can now use the `run` object to see steps, outputs, etc.                          │
│   35                                                                                             │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:151 │
│ 0 in __call__                                                                                    │
│                                                                                                  │
│   1507 │   │   │   return self.entrypoint(*args, **kwargs)                                       │
│   1508 │   │                                                                                     │
│   1509 │   │   self.prepare(*args, **kwargs)                                                     │
│ ❱ 1510 │   │   return self._run(**self._run_args)                                                │
│   1511 │                                                                                         │
│   1512 │   def _call_entrypoint(self, *args: Any, **kwargs: Any) -> None:                        │
│   1513 │   │   """Calls the pipeline entrypoint function with the given arguments.               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:698 │
│ in _run                                                                                          │
│                                                                                                  │
│    695 │   │   │   │   deployment=deployment, local_repo_context=local_repo_context              │
│    696 │   │   │   )                                                                             │
│    697 │   │   │                                                                                 │
│ ❱  698 │   │   │   build_model = build_utils.reuse_or_create_pipeline_build(                     │
│    699 │   │   │   │   deployment=deployment,                                                    │
│    700 │   │   │   │   pipeline_id=pipeline_id,                                                  │
│    701 │   │   │   │   allow_build_reuse=not prevent_build_reuse,                                │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 94 in reuse_or_create_pipeline_build                                                             │
│                                                                                                  │
│    91 │   │   │   │   )                                                                          │
│    92 │   │   │   │   return existing_build                                                      │
│    93 │   │                                                                                      │
│ ❱  94 │   │   return create_pipeline_build(                                                      │
│    95 │   │   │   deployment=deployment,                                                         │
│    96 │   │   │   pipeline_id=pipeline_id,                                                       │
│    97 │   │   │   code_repository=code_repository,                                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 257 in create_pipeline_build                                                                     │
│                                                                                                  │
│   254 │   │   │   │   image_name_or_digest,                                                      │
│   255 │   │   │   │   dockerfile,                                                                │
│   256 │   │   │   │   requirements,                                                              │
│ ❱ 257 │   │   │   ) = docker_image_builder.build_docker_image(                                   │
│   258 │   │   │   │   docker_settings=build_config.settings,                                     │
│   259 │   │   │   │   tag=tag,                                                                   │
│   260 │   │   │   │   stack=stack,                                                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/pipeline_docker_image_b │
│ uilder.py:200 in build_docker_image                                                              │
│                                                                                                  │
│   197 │   │   │   │   source=docker_settings.dockerfile, destination="Dockerfile"                │
│   198 │   │   │   )                                                                              │
│   199 │   │   │   logger.info("Building Docker image `%s`.", user_image_name)                    │
│ ❱ 200 │   │   │   image_name_or_digest = image_builder.build(                                    │
│   201 │   │   │   │   image_name=user_image_name,                                                │
│   202 │   │   │   │   build_context=build_context,                                               │
│   203 │   │   │   │   docker_build_options=docker_settings.build_options,                        │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/image_builders/local_image_bu │
│ ilder.py:121 in build                                                                            │
│                                                                                                  │
│   118 │   │   │   │   tag=image_name,                                                            │
│   119 │   │   │   │   **(docker_build_options or {}),                                            │
│   120 │   │   │   )                                                                              │
│ ❱ 121 │   │   docker_utils._process_stream(output_stream)                                        │
│   122 │   │                                                                                      │
│   123 │   │   if container_registry:                                                             │
│   124 │   │   │   return container_registry.push_image(image_name)                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/docker_utils.py:350 in  │
│ _process_stream                                                                                  │
│                                                                                                  │
│   347 │   """
│   348 │   auxiliary_info = []                                                                    │
│   349 │                                                                                          │
│ ❱ 350 │   for element in stream:                                                                 │
│   351 │   │   lines = element.decode("utf-8").strip().split("\n")                                │
│   352 │   │                                                                                      │
│   353 │   │   for line in lines:                                                                 │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:358 in         │
│ _stream_helper                                                                                   │
│                                                                                                  │
│   355 │   │   else:                                                                              │
│   356 │   │   │   # Response isn't chunked, meaning we probably                                  │
│   357 │   │   │   # encountered an error immediately                                             │
│ ❱ 358 │   │   │   yield self._result(response, json=decode)                                      │
│   359 │                                                                                          │
│   360 │   def _multiplexed_buffer_helper(self, response):                                        │
│   361 │   │   """A generator of multiplexed data blocks read from a buffered                     │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:274 in _result │
│                                                                                                  │
│   271 │                                                                                          │
│   272 │   def _result(self, response, json=False, binary=False):                                 │
│   273 │   │   assert not (json and binary)                                                       │
│ ❱ 274 │   │   self._raise_for_status(response)                                                   │
│   275 │   │                                                                                      │
│   276 │   │   if json:                                                                           │
│   277 │   │   │   return response.json()                                                         │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:270 in         │
│ _raise_for_status                                                                                │
│                                                                                                  │
│   267 │   │   try:                                                                               │
│   268 │   │   │   response.raise_for_status()                                                    │
│   269 │   │   except requests.exceptions.HTTPError as e:                                         │
│ ❱ 270 │   │   │   raise create_api_error_from_http_exception(e) from e                           │
│   271 │                                                                                          │
│   272 │   def _result(self, response, json=False, binary=False):                                 │
│   273 │   │   assert not (json and binary)                                                       │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/errors.py:39 in              │
│ create_api_error_from_http_exception                                                             │
│                                                                                                  │
│    36 │   │   │   cls = ImageNotFound                                                            │
│    37 │   │   else:                                                                              │
│    38 │   │   │   cls = NotFound                                                                 │
│ ❱  39 │   raise cls(e, response=response, explanation=explanation) from e                        │
│    40                                                                                            │
│    41                                                                                            │
│    42 class APIError(requests.exceptions.HTTPError, DockerException):                            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
APIError: 400 Client Error for 
http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator-intermediate-build&q=False&nocache=False&rm=False&forcerm=False&
pull=False: Bad Request ("dockerfile parse error on line 1: unknown instruction: Dockerfile")

Code of Conduct

  • I agree to follow this project's Code of Conduct
@decadance-dance decadance-dance added the bug Something isn't working label Jan 21, 2024
@decadance-dance
Copy link
Author

BTW, even if I try to transfer content from Dockerfile to YAML I am still getting the error like:

RuntimeError: Docker error: The command '/bin/sh -c pip install --default-timeout=60 --no-cache-dir  -r .zenml_user_requirements' returned a 
non-zero code: 1.

YAML:

settings:
  docker:
    # dockerfile: Dockerfile
    # build_context_root: envs/try_on
    parent_image: python:3.10-alpine3.18
    requirements: 
      - polars

Logs:

Initiating a new run for the pipeline: simple_ml_pipeline.
Reusing registered pipeline version: (version: 2).
Building Docker image(s) for pipeline simple_ml_pipeline.
Building Docker image zenml:simple_ml_pipeline-orchestrator.
- Including user-defined requirements: polars
Step 1/8 : FROM python:3.10-alpine3.18
Step 2/8 : WORKDIR /app
Step 3/8 : COPY .zenml_user_requirements .
Step 4/8 : RUN pip install --default-timeout=60 --no-cache-dir  -r .zenml_user_requirements
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/kllis/font_recognition_mlops/pipelines/try_on.py:33 in <module>                            │
│                                                                                                  │
│   30                                                                                             │
│   31 if __name__ == "__main__":                                                                  │
│   32 │   simple_ml_pipeline = simple_ml_pipeline.with_options(config_path='configs/try_on.yam    │
│ ❱ 33 │   simple_ml_pipeline()                                                                    │
│   34 │   # You can now use the `run` object to see steps, outputs, etc.                          │
│   35                                                                                             │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:151 │
│ 0 in __call__                                                                                    │
│                                                                                                  │
│   1507 │   │   │   return self.entrypoint(*args, **kwargs)                                       │
│   1508 │   │                                                                                     │
│   1509 │   │   self.prepare(*args, **kwargs)                                                     │
│ ❱ 1510 │   │   return self._run(**self._run_args)                                                │
│   1511 │                                                                                         │
│   1512 │   def _call_entrypoint(self, *args: Any, **kwargs: Any) -> None:                        │
│   1513 │   │   """Calls the pipeline entrypoint function with the given arguments.               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:698 │
│ in _run                                                                                          │
│                                                                                                  │
│    695 │   │   │   │   deployment=deployment, local_repo_context=local_repo_context              │
│    696 │   │   │   )                                                                             │
│    697 │   │   │                                                                                 │
│ ❱  698 │   │   │   build_model = build_utils.reuse_or_create_pipeline_build(                     │
│    699 │   │   │   │   deployment=deployment,                                                    │
│    700 │   │   │   │   pipeline_id=pipeline_id,                                                  │
│    701 │   │   │   │   allow_build_reuse=not prevent_build_reuse,                                │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 94 in reuse_or_create_pipeline_build                                                             │
│                                                                                                  │
│    91 │   │   │   │   )                                                                          │
│    92 │   │   │   │   return existing_build                                                      │
│    93 │   │                                                                                      │
│ ❱  94 │   │   return create_pipeline_build(                                                      │
│    95 │   │   │   deployment=deployment,                                                         │
│    96 │   │   │   pipeline_id=pipeline_id,                                                       │
│    97 │   │   │   code_repository=code_repository,                                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 257 in create_pipeline_build                                                                     │
│                                                                                                  │
│   254 │   │   │   │   image_name_or_digest,                                                      │
│   255 │   │   │   │   dockerfile,                                                                │
│   256 │   │   │   │   requirements,                                                              │
│ ❱ 257 │   │   │   ) = docker_image_builder.build_docker_image(                                   │
│   258 │   │   │   │   docker_settings=build_config.settings,                                     │
│   259 │   │   │   │   tag=tag,                                                                   │
│   260 │   │   │   │   stack=stack,                                                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/pipeline_docker_image_b │
│ uilder.py:303 in build_docker_image                                                              │
│                                                                                                  │
│   300 │   │   │   │   │   │   destination=destination, source=source                             │
│   301 │   │   │   │   │   )                                                                      │
│   302 │   │   │                                                                                  │
│ ❱ 303 │   │   │   image_name_or_digest = image_builder.build(                                    │
│   304 │   │   │   │   image_name=target_image_name,                                              │
│   305 │   │   │   │   build_context=build_context,                                               │
│   306 │   │   │   │   docker_build_options=build_options,                                        │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/image_builders/local_image_bu │
│ ilder.py:121 in build                                                                            │
│                                                                                                  │
│   118 │   │   │   │   tag=image_name,                                                            │
│   119 │   │   │   │   **(docker_build_options or {}),                                            │
│   120 │   │   │   )                                                                              │
│ ❱ 121 │   │   docker_utils._process_stream(output_stream)                                        │
│   122 │   │                                                                                      │
│   123 │   │   if container_registry:                                                             │
│   124 │   │   │   return container_registry.push_image(image_name)                               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/docker_utils.py:357 in  │
│ _process_stream                                                                                  │
│                                                                                                  │
│   354 │   │   │   try:                                                                           │
│   355 │   │   │   │   line_json = json.loads(line)                                               │
│   356 │   │   │   │   if "error" in line_json:                                                   │
│ ❱ 357 │   │   │   │   │   raise RuntimeError(f"Docker error: {line_json['error']}.")             │
│   358 │   │   │   │   elif "stream" in line_json:                                                │
│   359 │   │   │   │   │   text = line_json["stream"].strip()                                     │
│   360 │   │   │   │   │   if "ERROR" in text:                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯

@htahir1
Copy link
Contributor

htahir1 commented Jan 21, 2024

Might be a whole number of errors. Can you try running with having the env variable ZENML_LOGGING_VERBOSITY=DEBUG set? And then you can see the real error

@decadance-dance
Copy link
Author

@htahir1, sure. My logs with ZENML_LOGGING_VERBOSITY=DEBUG. But I haven't found the error reason.

2024-01-21 20:26:37,358 - zenml.image_builders.build_context - INFO - No .dockerignore found, including all files inside build context. (build_context.py:195)
2024-01-21 20:26:37,359 - docker.api.build - DEBUG - Looking for auth config (build.py:296)
2024-01-21 20:26:37,359 - docker.api.build - DEBUG - No auth config in memory - loading from filesystem (build.py:301)
2024-01-21 20:26:37,359 - docker.utils.config - DEBUG - Trying paths: ['/home/kllis/.docker/config.json', '/home/kllis/.dockercfg'] (config.py:21)
2024-01-21 20:26:37,359 - docker.utils.config - DEBUG - No config file found (config.py:28)
2024-01-21 20:26:37,359 - docker.api.build - DEBUG - Sending auth config () (build.py:316)
2024-01-21 20:26:37,365 - zenml.zen_stores.rest_zen_store - DEBUG - Sending GET request to /current-user... (rest_zen_store.py:3444)
2024-01-21 20:26:37,380 - zenml.zen_stores.rest_zen_store - DEBUG - Sending GET request to /info... (rest_zen_store.py:3444)
2024-01-21 20:26:37,900 - zenml.analytics.request - DEBUG - data uploaded successfully (request.py:59)
2024-01-21 20:26:37,901 - zenml.analytics.context - DEBUG - Sending analytics: User: b9298ae9-a19a-4f96-88f0-423dd282ed0d, Event: Pipeline run, Metadata: {'event_success': False, 'event_error_type': 'APIError', 'os': 'linux', 'linux_distro': 'ubuntu', 'linux_distro_like': 'debian', 'linux_distro_version': '22.04', 'environment': <EnvironmentType.WSL: 'wsl'>, 'python_version': '3.10.13', 'version': '0.54.1', 'client_id': '623c517e-e34b-47b9-9f42-268a2cbcfbc2', 'user_id': 'b9298ae9-a19a-4f96-88f0-423dd282ed0d', 'server_id': '2c0f6083-1226-49a9-b54e-a531ef2143c6', 'deployment_type': 'other', 'database_type': 'mysql'} (context.py:266)
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:268 in         │
│ _raise_for_status                                                                                │
│                                                                                                  │
│   265def _raise_for_status(self, response):                                                 │
│   266 │   │   """Raises stored :class:`APIError`, if one occurred."""                            │
│   267 │   │   try:                                                                               │
│ ❱ 268 │   │   │   response.raise_for_status()                                                    │
│   269 │   │   except requests.exceptions.HTTPError as e:                                         │
│   270 │   │   │   raise create_api_error_from_http_exception(e) from e                           │
│   271                                                                                            │
│                                                                                                  │
│ ╭───────────────────────────── locals ──────────────────────────────╮                            │
│ │ response = <Response [400]>                                       │                            │
│ │     self = <docker.api.client.APIClient object at 0x7f1237b31780> │                            │
│ ╰───────────────────────────────────────────────────────────────────╯                            │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/requests/models.py:1021 in          │
│ raise_for_status                                                                                 │
│                                                                                                  │
│   1018 │   │   │   )                                                                             │
│   1019 │   │                                                                                     │
│   1020 │   │   if http_error_msg:                                                                │
│ ❱ 1021 │   │   │   raise HTTPError(http_error_msg, response=self)                                │
│   1022 │                                                                                         │
│   1023def close(self):                                                                      │
│   1024 │   │   """Releases the connection back to the pool. Once this method has been            │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ http_error_msg = '400 Client Error: Bad Request for url:                                     │ │
│ │                  http+docker://localhost/v1.43/build?t=zen'+111                              │ │
│ │         reason = 'Bad Request'                                                               │ │
│ │           self = <Response [400]>                                                            │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
HTTPError: 400 Client Error: Bad Request for url: 
http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator-intermediate-build&q=False&nocache=False&rm=False&forcerm=False&
pull=False

The above exception was the direct cause of the following exception:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/kllis/font_recognition_mlops/pipelines/try_on.py:33 in <module>                            │
│                                                                                                  │
│   30                                                                                             │
│   31 if __name__ == "__main__":                                                                  │
│   32 │   simple_ml_pipeline = simple_ml_pipeline.with_options(config_path='configs/try_on.yam    │
│ ❱ 33 │   simple_ml_pipeline()                                                                    │
│   34 │   # You can now use the `run` object to see steps, outputs, etc.                          │
│   35                                                                                             │
│                                                                                                  │
│ ╭─────────────────────────────────────── locals ────────────────────────────────────────╮        │
│ │          load_data = <__main__.load_data object at 0x7f12638dc430>                    │        │
│ │           pipeline = <function pipeline at 0x7f1268229510>                            │        │
│ │ simple_ml_pipeline = <zenml.new.pipelines.pipeline.Pipeline object at 0x7f1290fdf6d0> │        │
│ │               step = <function step at 0x7f1263ab6cb0>                                │        │
│ │        train_model = <__main__.train_model object at 0x7f12638dc6d0>                  │        │
│ ╰───────────────────────────────────────────────────────────────────────────────────────╯        │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:151 │
│ 0 in __call__                                                                                    │
│                                                                                                  │
│   1507 │   │   │   return self.entrypoint(*args, **kwargs)                                       │
│   1508 │   │                                                                                     │
│   1509 │   │   self.prepare(*args, **kwargs)                                                     │
│ ❱ 1510 │   │   return self._run(**self._run_args)                                                │
│   1511 │                                                                                         │
│   1512 │   def _call_entrypoint(self, *args: Any, **kwargs: Any) -> None:                        │
│   1513 │   │   """Calls the pipeline entrypoint function with the given arguments.               │
│                                                                                                  │
│ ╭───────────────────────────────── locals ──────────────────────────────────╮                    │
│ │   args = ()                                                               │                    │
│ │ kwargs = {}                                                               │                    │
│ │   self = <zenml.new.pipelines.pipeline.Pipeline object at 0x7f1290fdf6d0> │                    │
│ ╰───────────────────────────────────────────────────────────────────────────╯                    │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/pipeline.py:698 │
│ in _run                                                                                          │
│                                                                                                  │
│    695 │   │   │   │   deployment=deployment, local_repo_context=local_repo_context              │
│    696 │   │   │   )                                                                             │
│    697 │   │   │                                                                                 │
│ ❱  698 │   │   │   build_model = build_utils.reuse_or_create_pipeline_build(                     │
│    699 │   │   │   │   deployment=deployment,                                                    │
│    700 │   │   │   │   pipeline_id=pipeline_id,                                                  │
│    701 │   │   │   │   allow_build_reuse=not prevent_build_reuse,                                │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │             analytics_handler = <zenml.analytics.utils.track_handler object at               │ │
│ │                                 0x7f12638dc2e0>                                              │ │
│ │                         build = None                                                         │ │
│ │               code_repository = None                                                         │ │
│ │                   config_path = 'configs/try_on.yaml'                                        │ │
│ │                    deployment = PipelineDeploymentBase(                                      │ │
│ │                                 │   run_name_template='simple_ml_pipeline-{date}-{time}',    │ │
│ │                                 │   pipeline_configuration=PipelineConfiguration(            │ │
│ │                                 │   │   enable_cache=None,                                   │ │
│ │                                 │   │   enable_artifact_metadata=None,                       │ │
│ │                                 │   │   enable_artifact_visualization=None,                  │ │
│ │                                 │   │   enable_step_logs=None,                               │ │
│ │                                 │   │   settings={                                           │ │
│ │                                 │   │   │   'docker': BaseSettings(                          │ │
│ │                                 │   │   │   │   build_context_root='envs/try_on',            │ │
│ │                                 │   │   │   │   dockerfile='Dockerfile'                      │ │
│ │                                 │   │   │   ),                                               │ │
│ │                                 │   │   │   'orchestrator.local_docker': BaseSettings()      │ │
│ │                                 │   │   },                                                   │ │
│ │                                 │   │   extra={},                                            │ │
│ │                                 │   │   failure_hook_source=None,                            │ │
│ │                                 │   │   success_hook_source=None,                            │ │
│ │                                 │   │   model_version=None,                                  │ │
│ │                                 │   │   parameters=None,                                     │ │
│ │                                 │   │   name='simple_ml_pipeline'                            │ │
│ │                                 │   ),                                                       │ │
│ │                                 │   step_configurations={                                    │ │
│ │                                 │   │   'load_data': Step(                                   │ │
│ │                                 │   │   │   spec=StepSpec(                                   │ │
│ │                                 │   │   │   │   source=Source(                               │ │
│ │                                 │   │   │   │   │   module='pipelines.try_on',               │ │
│ │                                 │   │   │   │   │   attribute='load_data',                   │ │
│ │                                 │   │   │   │   │   type=<SourceType.USER: 'user'>           │ │
│ │                                 │   │   │   │   ),                                           │ │
│ │                                 │   │   │   │   upstream_steps=[],                           │ │
│ │                                 │   │   │   │   inputs={},                                   │ │
│ │                                 │   │   │   │   pipeline_parameter_name='load_data'          │ │
│ │                                 │   │   │   ),                                               │ │
│ │                                 │   │   │   config=StepConfiguration(                        │ │
│ │                                 │   │   │   │   name='load_data',                            │ │
│ │                                 │   │   │   │   enable_cache=None,                           │ │
│ │                                 │   │   │   │   enable_artifact_metadata=None,               │ │
│ │                                 │   │   │   │   enable_artifact_visualization=None,          │ │
│ │                                 │   │   │   │   enable_step_logs=None,                       │ │
│ │                                 │   │   │   │   step_operator=None,                          │ │
│ │                                 │   │   │   │   experiment_tracker=None,                     │ │
│ │                                 │   │   │   │   parameters={},                               │ │
│ │                                 │   │   │   │   settings={                                   │ │
│ │                                 │   │   │   │   │   'docker': BaseSettings(                  │ │
│ │                                 │   │   │   │   │   │   build_context_root='envs/try_on',    │ │
│ │                                 │   │   │   │   │   │   dockerfile='Dockerfile'              │ │
│ │                                 │   │   │   │   │   ),                                       │ │
│ │                                 │   │   │   │   │   'orchestrator.local_docker':             │ │
│ │                                 BaseSettings()                                               │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   extra={},                                    │ │
│ │                                 │   │   │   │   failure_hook_source=None,                    │ │
│ │                                 │   │   │   │   success_hook_source=None,                    │ │
│ │                                 │   │   │   │   model_version=None,                          │ │
│ │                                 │   │   │   │   outputs={                                    │ │
│ │                                 │   │   │   │   │   'output': ArtifactConfiguration(         │ │
│ │                                 │   │   │   │   │   │   materializer_source=(                │ │
│ │                                 │   │   │   │   │   │   │   Source(                          │ │
│ │                                 │   │   │   │   │   │   │   │                                │ │
│ │                                 module='zenml.materializers.built_in_materializer',          │ │
│ │                                 │   │   │   │   │   │   │   │                                │ │
│ │                                 attribute='BuiltInContainerMaterializer',                    │ │
│ │                                 │   │   │   │   │   │   │   │   type=<SourceType.INTERNAL:   │ │
│ │                                 'internal'>                                                  │ │
│ │                                 │   │   │   │   │   │   │   ),                               │ │
│ │                                 │   │   │   │   │   │   ),                                   │ │
│ │                                 │   │   │   │   │   │   default_materializer_source=None     │ │
│ │                                 │   │   │   │   │   )                                        │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   caching_parameters={                         │ │
│ │                                 │   │   │   │   │   'step_source':                           │ │
│ │                                 '3f999ebc88db7733bd242394e943db7666a4e73dc9ba14794eb7c200a3… │ │
│ │                                 │   │   │   │   │   'output_materializer_source':            │ │
│ │                                 'e83a5a4d2f71ed14784c595d98715eab'                           │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   external_input_artifacts={}                  │ │
│ │                                 │   │   │   )                                                │ │
│ │                                 │   │   ),                                                   │ │
│ │                                 │   │   'train_model': Step(                                 │ │
│ │                                 │   │   │   spec=StepSpec(                                   │ │
│ │                                 │   │   │   │   source=Source(                               │ │
│ │                                 │   │   │   │   │   module='pipelines.try_on',               │ │
│ │                                 │   │   │   │   │   attribute='train_model',                 │ │
│ │                                 │   │   │   │   │   type=<SourceType.USER: 'user'>           │ │
│ │                                 │   │   │   │   ),                                           │ │
│ │                                 │   │   │   │   upstream_steps=['load_data'],                │ │
│ │                                 │   │   │   │   inputs={                                     │ │
│ │                                 │   │   │   │   │   'data': InputSpec(                       │ │
│ │                                 │   │   │   │   │   │   step_name='load_data',               │ │
│ │                                 │   │   │   │   │   │   output_name='output'                 │ │
│ │                                 │   │   │   │   │   )                                        │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   pipeline_parameter_name='train_model'        │ │
│ │                                 │   │   │   ),                                               │ │
│ │                                 │   │   │   config=StepConfiguration(                        │ │
│ │                                 │   │   │   │   name='train_model',                          │ │
│ │                                 │   │   │   │   enable_cache=None,                           │ │
│ │                                 │   │   │   │   enable_artifact_metadata=None,               │ │
│ │                                 │   │   │   │   enable_artifact_visualization=None,          │ │
│ │                                 │   │   │   │   enable_step_logs=None,                       │ │
│ │                                 │   │   │   │   step_operator=None,                          │ │
│ │                                 │   │   │   │   experiment_tracker=None,                     │ │
│ │                                 │   │   │   │   parameters={},                               │ │
│ │                                 │   │   │   │   settings={                                   │ │
│ │                                 │   │   │   │   │   'docker': BaseSettings(                  │ │
│ │                                 │   │   │   │   │   │   build_context_root='envs/try_on',    │ │
│ │                                 │   │   │   │   │   │   dockerfile='Dockerfile'              │ │
│ │                                 │   │   │   │   │   ),                                       │ │
│ │                                 │   │   │   │   │   'orchestrator.local_docker':             │ │
│ │                                 BaseSettings()                                               │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   extra={},                                    │ │
│ │                                 │   │   │   │   failure_hook_source=None,                    │ │
│ │                                 │   │   │   │   success_hook_source=None,                    │ │
│ │                                 │   │   │   │   model_version=None,                          │ │
│ │                                 │   │   │   │   outputs={},                                  │ │
│ │                                 │   │   │   │   caching_parameters={                         │ │
│ │                                 │   │   │   │   │   'step_source':                           │ │
│ │                                 'fa7c03d48725402cebda45811dc7d7ec5ccdbb47b6f402cf3da1e47c5f… │ │
│ │                                 │   │   │   │   },                                           │ │
│ │                                 │   │   │   │   external_input_artifacts={}                  │ │
│ │                                 │   │   │   )                                                │ │
│ │                                 │   │   )                                                    │ │
│ │                                 │   },                                                       │ │
│ │                                 │   client_environment={                                     │ │
│ │                                 │   │   'environment': 'wsl',                                │ │
│ │                                 │   │   'os': 'linux',                                       │ │
│ │                                 │   │   'linux_distro': 'ubuntu',                            │ │
│ │                                 │   │   'linux_distro_like': 'debian',                       │ │
│ │                                 │   │   'linux_distro_version': '22.04',                     │ │
│ │                                 │   │   'python_version': '3.10.13'                          │ │
│ │                                 │   },                                                       │ │
│ │                                 │   client_version='0.54.1',                                 │ │
│ │                                 │   server_version='0.54.1'                                  │ │
│ │                                 )                                                            │ │
│ │      enable_artifact_metadata = None                                                         │ │
│ │ enable_artifact_visualization = None                                                         │ │
│ │                  enable_cache = None                                                         │ │
│ │              enable_step_logs = None                                                         │ │
│ │                         extra = None                                                         │ │
│ │            local_repo_context = None                                                         │ │
│ │                   pipeline_id = UUID('38273f4f-cf7f-41a0-98d9-e77265ca6bbd')                 │ │
│ │                 pipeline_spec = PipelineSpec(                                                │ │
│ │                                 │   version='0.4',                                           │ │
│ │                                 │   source=Source(                                           │ │
│ │                                 │   │   module='pipelines.try_on',                           │ │
│ │                                 │   │   attribute='simple_ml_pipeline',                      │ │
│ │                                 │   │   type=<SourceType.USER: 'user'>                       │ │
│ │                                 │   ),                                                       │ │
│ │                                 │   parameters={},                                           │ │
│ │                                 │   steps=[                                                  │ │
│ │                                 │   │   StepSpec(                                            │ │
│ │                                 │   │   │   source=Source(                                   │ │
│ │                                 │   │   │   │   module='pipelines.try_on',                   │ │
│ │                                 │   │   │   │   attribute='load_data',                       │ │
│ │                                 │   │   │   │   type=<SourceType.USER: 'user'>               │ │
│ │                                 │   │   │   ),                                               │ │
│ │                                 │   │   │   upstream_steps=[],                               │ │
│ │                                 │   │   │   inputs={},                                       │ │
│ │                                 │   │   │   pipeline_parameter_name='load_data'              │ │
│ │                                 │   │   ),                                                   │ │
│ │                                 │   │   StepSpec(                                            │ │
│ │                                 │   │   │   source=Source(                                   │ │
│ │                                 │   │   │   │   module='pipelines.try_on',                   │ │
│ │                                 │   │   │   │   attribute='train_model',                     │ │
│ │                                 │   │   │   │   type=<SourceType.USER: 'user'>               │ │
│ │                                 │   │   │   ),                                               │ │
│ │                                 │   │   │   upstream_steps=['load_data'],                    │ │
│ │                                 │   │   │   inputs={                                         │ │
│ │                                 │   │   │   │   'data': InputSpec(                           │ │
│ │                                 │   │   │   │   │   step_name='load_data',                   │ │
│ │                                 │   │   │   │   │   output_name='output'                     │ │
│ │                                 │   │   │   │   )                                            │ │
│ │                                 │   │   │   },                                               │ │
│ │                                 │   │   │   pipeline_parameter_name='train_model'            │ │
│ │                                 │   │   )                                                    │ │
│ │                                 │   ]                                                        │ │
│ │                                 )                                                            │ │
│ │           prevent_build_reuse = False                                                        │ │
│ │             register_pipeline = True                                                         │ │
│ │                      run_name = None                                                         │ │
│ │                      schedule = None                                                         │ │
│ │                   schedule_id = None                                                         │ │
│ │                          self = <zenml.new.pipelines.pipeline.Pipeline object at             │ │
│ │                                 0x7f1290fdf6d0>                                              │ │
│ │                      settings = None                                                         │ │
│ │    skip_pipeline_registration = False                                                        │ │
│ │                         stack = <zenml.stack.stack.Stack object at 0x7f1237e63400>           │ │
│ │           step_configurations = None                                                         │ │
│ │                      unlisted = False                                                        │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 94 in reuse_or_create_pipeline_build                                                             │
│                                                                                                  │
│    91 │   │   │   │   )                                                                          │
│    92 │   │   │   │   return existing_build                                                      │
│    93 │   │                                                                                      │
│ ❱  94 │   │   return create_pipeline_build(                                                      │
│    95 │   │   │   deployment=deployment,                                                         │
│    96 │   │   │   pipeline_id=pipeline_id,                                                       │
│    97 │   │   │   code_repository=code_repository,                                               │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ allow_build_reuse = True                                                                     │ │
│ │             build = None                                                                     │ │
│ │   code_repository = None                                                                     │ │
│ │        deployment = PipelineDeploymentBase(                                                  │ │
│ │                     │   run_name_template='simple_ml_pipeline-{date}-{time}',                │ │
│ │                     │   pipeline_configuration=PipelineConfiguration(                        │ │
│ │                     │   │   enable_cache=None,                                               │ │
│ │                     │   │   enable_artifact_metadata=None,                                   │ │
│ │                     │   │   enable_artifact_visualization=None,                              │ │
│ │                     │   │   enable_step_logs=None,                                           │ │
│ │                     │   │   settings={                                                       │ │
│ │                     │   │   │   'docker': BaseSettings(                                      │ │
│ │                     │   │   │   │   build_context_root='envs/try_on',                        │ │
│ │                     │   │   │   │   dockerfile='Dockerfile'                                  │ │
│ │                     │   │   │   ),                                                           │ │
│ │                     │   │   │   'orchestrator.local_docker': BaseSettings()                  │ │
│ │                     │   │   },                                                               │ │
│ │                     │   │   extra={},                                                        │ │
│ │                     │   │   failure_hook_source=None,                                        │ │
│ │                     │   │   success_hook_source=None,                                        │ │
│ │                     │   │   model_version=None,                                              │ │
│ │                     │   │   parameters=None,                                                 │ │
│ │                     │   │   name='simple_ml_pipeline'                                        │ │
│ │                     │   ),                                                                   │ │
│ │                     │   step_configurations={                                                │ │
│ │                     │   │   'load_data': Step(                                               │ │
│ │                     │   │   │   spec=StepSpec(                                               │ │
│ │                     │   │   │   │   source=Source(                                           │ │
│ │                     │   │   │   │   │   module='pipelines.try_on',                           │ │
│ │                     │   │   │   │   │   attribute='load_data',                               │ │
│ │                     │   │   │   │   │   type=<SourceType.USER: 'user'>                       │ │
│ │                     │   │   │   │   ),                                                       │ │
│ │                     │   │   │   │   upstream_steps=[],                                       │ │
│ │                     │   │   │   │   inputs={},                                               │ │
│ │                     │   │   │   │   pipeline_parameter_name='load_data'                      │ │
│ │                     │   │   │   ),                                                           │ │
│ │                     │   │   │   config=StepConfiguration(                                    │ │
│ │                     │   │   │   │   name='load_data',                                        │ │
│ │                     │   │   │   │   enable_cache=None,                                       │ │
│ │                     │   │   │   │   enable_artifact_metadata=None,                           │ │
│ │                     │   │   │   │   enable_artifact_visualization=None,                      │ │
│ │                     │   │   │   │   enable_step_logs=None,                                   │ │
│ │                     │   │   │   │   step_operator=None,                                      │ │
│ │                     │   │   │   │   experiment_tracker=None,                                 │ │
│ │                     │   │   │   │   parameters={},                                           │ │
│ │                     │   │   │   │   settings={                                               │ │
│ │                     │   │   │   │   │   'docker': BaseSettings(                              │ │
│ │                     │   │   │   │   │   │   build_context_root='envs/try_on',                │ │
│ │                     │   │   │   │   │   │   dockerfile='Dockerfile'                          │ │
│ │                     │   │   │   │   │   ),                                                   │ │
│ │                     │   │   │   │   │   'orchestrator.local_docker': BaseSettings()          │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   extra={},                                                │ │
│ │                     │   │   │   │   failure_hook_source=None,                                │ │
│ │                     │   │   │   │   success_hook_source=None,                                │ │
│ │                     │   │   │   │   model_version=None,                                      │ │
│ │                     │   │   │   │   outputs={                                                │ │
│ │                     │   │   │   │   │   'output': ArtifactConfiguration(                     │ │
│ │                     │   │   │   │   │   │   materializer_source=(                            │ │
│ │                     │   │   │   │   │   │   │   Source(                                      │ │
│ │                     │   │   │   │   │   │   │   │                                            │ │
│ │                     module='zenml.materializers.built_in_materializer',                      │ │
│ │                     │   │   │   │   │   │   │   │                                            │ │
│ │                     attribute='BuiltInContainerMaterializer',                                │ │
│ │                     │   │   │   │   │   │   │   │   type=<SourceType.INTERNAL: 'internal'>   │ │
│ │                     │   │   │   │   │   │   │   ),                                           │ │
│ │                     │   │   │   │   │   │   ),                                               │ │
│ │                     │   │   │   │   │   │   default_materializer_source=None                 │ │
│ │                     │   │   │   │   │   )                                                    │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   caching_parameters={                                     │ │
│ │                     │   │   │   │   │   'step_source':                                       │ │
│ │                     '3f999ebc88db7733bd242394e943db7666a4e73dc9ba14794eb7c200a3bc82d1',      │ │
│ │                     │   │   │   │   │   'output_materializer_source':                        │ │
│ │                     'e83a5a4d2f71ed14784c595d98715eab'                                       │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   external_input_artifacts={}                              │ │
│ │                     │   │   │   )                                                            │ │
│ │                     │   │   ),                                                               │ │
│ │                     │   │   'train_model': Step(                                             │ │
│ │                     │   │   │   spec=StepSpec(                                               │ │
│ │                     │   │   │   │   source=Source(                                           │ │
│ │                     │   │   │   │   │   module='pipelines.try_on',                           │ │
│ │                     │   │   │   │   │   attribute='train_model',                             │ │
│ │                     │   │   │   │   │   type=<SourceType.USER: 'user'>                       │ │
│ │                     │   │   │   │   ),                                                       │ │
│ │                     │   │   │   │   upstream_steps=['load_data'],                            │ │
│ │                     │   │   │   │   inputs={                                                 │ │
│ │                     │   │   │   │   │   'data': InputSpec(                                   │ │
│ │                     │   │   │   │   │   │   step_name='load_data',                           │ │
│ │                     │   │   │   │   │   │   output_name='output'                             │ │
│ │                     │   │   │   │   │   )                                                    │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   pipeline_parameter_name='train_model'                    │ │
│ │                     │   │   │   ),                                                           │ │
│ │                     │   │   │   config=StepConfiguration(                                    │ │
│ │                     │   │   │   │   name='train_model',                                      │ │
│ │                     │   │   │   │   enable_cache=None,                                       │ │
│ │                     │   │   │   │   enable_artifact_metadata=None,                           │ │
│ │                     │   │   │   │   enable_artifact_visualization=None,                      │ │
│ │                     │   │   │   │   enable_step_logs=None,                                   │ │
│ │                     │   │   │   │   step_operator=None,                                      │ │
│ │                     │   │   │   │   experiment_tracker=None,                                 │ │
│ │                     │   │   │   │   parameters={},                                           │ │
│ │                     │   │   │   │   settings={                                               │ │
│ │                     │   │   │   │   │   'docker': BaseSettings(                              │ │
│ │                     │   │   │   │   │   │   build_context_root='envs/try_on',                │ │
│ │                     │   │   │   │   │   │   dockerfile='Dockerfile'                          │ │
│ │                     │   │   │   │   │   ),                                                   │ │
│ │                     │   │   │   │   │   'orchestrator.local_docker': BaseSettings()          │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   extra={},                                                │ │
│ │                     │   │   │   │   failure_hook_source=None,                                │ │
│ │                     │   │   │   │   success_hook_source=None,                                │ │
│ │                     │   │   │   │   model_version=None,                                      │ │
│ │                     │   │   │   │   outputs={},                                              │ │
│ │                     │   │   │   │   caching_parameters={                                     │ │
│ │                     │   │   │   │   │   'step_source':                                       │ │
│ │                     'fa7c03d48725402cebda45811dc7d7ec5ccdbb47b6f402cf3da1e47c5f02cc8f'       │ │
│ │                     │   │   │   │   },                                                       │ │
│ │                     │   │   │   │   external_input_artifacts={}                              │ │
│ │                     │   │   │   )                                                            │ │
│ │                     │   │   )                                                                │ │
│ │                     │   },                                                                   │ │
│ │                     │   client_environment={                                                 │ │
│ │                     │   │   'environment': 'wsl',                                            │ │
│ │                     │   │   'os': 'linux',                                                   │ │
│ │                     │   │   'linux_distro': 'ubuntu',                                        │ │
│ │                     │   │   'linux_distro_like': 'debian',                                   │ │
│ │                     │   │   'linux_distro_version': '22.04',                                 │ │
│ │                     │   │   'python_version': '3.10.13'                                      │ │
│ │                     │   },                                                                   │ │
│ │                     │   client_version='0.54.1',                                             │ │
│ │                     │   server_version='0.54.1'                                              │ │
│ │                     )                                                                        │ │
│ │       pipeline_id = UUID('38273f4f-cf7f-41a0-98d9-e77265ca6bbd')                             │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/new/pipelines/build_utils.py: │
│ 257 in create_pipeline_build                                                                     │
│                                                                                                  │
│   254 │   │   │   │   image_name_or_digest,                                                      │
│   255 │   │   │   │   dockerfile,                                                                │
│   256 │   │   │   │   requirements,                                                              │
│ ❱ 257 │   │   │   ) = docker_image_builder.build_docker_image(                                   │
│   258 │   │   │   │   docker_settings=build_config.settings,                                     │
│   259 │   │   │   │   tag=tag,                                                                   │
│   260 │   │   │   │   stack=stack,                                                               │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │         build_config = BuildConfiguration(                                                   │ │
│ │                        │   key='orchestrator',                                               │ │
│ │                        │   settings=DockerSettings(                                          │ │
│ │                        │   │   parent_image=None,                                            │ │
│ │                        │   │   dockerfile='Dockerfile',                                      │ │
│ │                        │   │   build_context_root='envs/try_on',                             │ │
│ │                        │   │   build_options={},                                             │ │
│ │                        │   │   skip_build=False,                                             │ │
│ │                        │   │   target_repository='zenml',                                    │ │
│ │                        │   │   replicate_local_python_environment=None,                      │ │
│ │                        │   │   requirements=None,                                            │ │
│ │                        │   │   required_integrations=[],                                     │ │
│ │                        │   │   required_hub_plugins=[],                                      │ │
│ │                        │   │   install_stack_requirements=True,                              │ │
│ │                        │   │   apt_packages=[],                                              │ │
│ │                        │   │   environment={},                                               │ │
│ │                        │   │   dockerignore=None,                                            │ │
│ │                        │   │   copy_files=True,                                              │ │
│ │                        │   │   copy_global_config=True,                                      │ │
│ │                        │   │   user=None,                                                    │ │
│ │                        │   │   source_files=<SourceFileMode.DOWNLOAD_OR_INCLUDE:             │ │
│ │                        'download_or_include'>                                                │ │
│ │                        │   ),                                                                │ │
│ │                        │   step_name=None,                                                   │ │
│ │                        │   entrypoint=None,                                                  │ │
│ │                        │   extra_files={}                                                    │ │
│ │                        )                                                                     │ │
│ │             checksum = 'ec3e09f3b0e3bc6399ccec2b5731bfd4'                                    │ │
│ │            checksums = {}                                                                    │ │
│ │               client = <zenml.client.Client object at 0x7f1239fefe50>                        │ │
│ │      code_repository = None                                                                  │ │
│ │         combined_key = 'orchestrator'                                                        │ │
│ │           deployment = PipelineDeploymentBase(                                               │ │
│ │                        │   run_name_template='simple_ml_pipeline-{date}-{time}',             │ │
│ │                        │   pipeline_configuration=PipelineConfiguration(                     │ │
│ │                        │   │   enable_cache=None,                                            │ │
│ │                        │   │   enable_artifact_metadata=None,                                │ │
│ │                        │   │   enable_artifact_visualization=None,                           │ │
│ │                        │   │   enable_step_logs=None,                                        │ │
│ │                        │   │   settings={                                                    │ │
│ │                        │   │   │   'docker': BaseSettings(                                   │ │
│ │                        │   │   │   │   build_context_root='envs/try_on',                     │ │
│ │                        │   │   │   │   dockerfile='Dockerfile'                               │ │
│ │                        │   │   │   ),                                                        │ │
│ │                        │   │   │   'orchestrator.local_docker': BaseSettings()               │ │
│ │                        │   │   },                                                            │ │
│ │                        │   │   extra={},                                                     │ │
│ │                        │   │   failure_hook_source=None,                                     │ │
│ │                        │   │   success_hook_source=None,                                     │ │
│ │                        │   │   model_version=None,                                           │ │
│ │                        │   │   parameters=None,                                              │ │
│ │                        │   │   name='simple_ml_pipeline'                                     │ │
│ │                        │   ),                                                                │ │
│ │                        │   step_configurations={                                             │ │
│ │                        │   │   'load_data': Step(                                            │ │
│ │                        │   │   │   spec=StepSpec(                                            │ │
│ │                        │   │   │   │   source=Source(                                        │ │
│ │                        │   │   │   │   │   module='pipelines.try_on',                        │ │
│ │                        │   │   │   │   │   attribute='load_data',                            │ │
│ │                        │   │   │   │   │   type=<SourceType.USER: 'user'>                    │ │
│ │                        │   │   │   │   ),                                                    │ │
│ │                        │   │   │   │   upstream_steps=[],                                    │ │
│ │                        │   │   │   │   inputs={},                                            │ │
│ │                        │   │   │   │   pipeline_parameter_name='load_data'                   │ │
│ │                        │   │   │   ),                                                        │ │
│ │                        │   │   │   config=StepConfiguration(                                 │ │
│ │                        │   │   │   │   name='load_data',                                     │ │
│ │                        │   │   │   │   enable_cache=None,                                    │ │
│ │                        │   │   │   │   enable_artifact_metadata=None,                        │ │
│ │                        │   │   │   │   enable_artifact_visualization=None,                   │ │
│ │                        │   │   │   │   enable_step_logs=None,                                │ │
│ │                        │   │   │   │   step_operator=None,                                   │ │
│ │                        │   │   │   │   experiment_tracker=None,                              │ │
│ │                        │   │   │   │   parameters={},                                        │ │
│ │                        │   │   │   │   settings={                                            │ │
│ │                        │   │   │   │   │   'docker': BaseSettings(                           │ │
│ │                        │   │   │   │   │   │   build_context_root='envs/try_on',             │ │
│ │                        │   │   │   │   │   │   dockerfile='Dockerfile'                       │ │
│ │                        │   │   │   │   │   ),                                                │ │
│ │                        │   │   │   │   │   'orchestrator.local_docker': BaseSettings()       │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   extra={},                                             │ │
│ │                        │   │   │   │   failure_hook_source=None,                             │ │
│ │                        │   │   │   │   success_hook_source=None,                             │ │
│ │                        │   │   │   │   model_version=None,                                   │ │
│ │                        │   │   │   │   outputs={                                             │ │
│ │                        │   │   │   │   │   'output': ArtifactConfiguration(                  │ │
│ │                        │   │   │   │   │   │   materializer_source=(                         │ │
│ │                        │   │   │   │   │   │   │   Source(                                   │ │
│ │                        │   │   │   │   │   │   │   │                                         │ │
│ │                        module='zenml.materializers.built_in_materializer',                   │ │
│ │                        │   │   │   │   │   │   │   │                                         │ │
│ │                        attribute='BuiltInContainerMaterializer',                             │ │
│ │                        │   │   │   │   │   │   │   │   type=<SourceType.INTERNAL:            │ │
│ │                        'internal'>                                                           │ │
│ │                        │   │   │   │   │   │   │   ),                                        │ │
│ │                        │   │   │   │   │   │   ),                                            │ │
│ │                        │   │   │   │   │   │   default_materializer_source=None              │ │
│ │                        │   │   │   │   │   )                                                 │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   caching_parameters={                                  │ │
│ │                        │   │   │   │   │   'step_source':                                    │ │
│ │                        '3f999ebc88db7733bd242394e943db7666a4e73dc9ba14794eb7c200a3bc82d1',   │ │
│ │                        │   │   │   │   │   'output_materializer_source':                     │ │
│ │                        'e83a5a4d2f71ed14784c595d98715eab'                                    │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   external_input_artifacts={}                           │ │
│ │                        │   │   │   )                                                         │ │
│ │                        │   │   ),                                                            │ │
│ │                        │   │   'train_model': Step(                                          │ │
│ │                        │   │   │   spec=StepSpec(                                            │ │
│ │                        │   │   │   │   source=Source(                                        │ │
│ │                        │   │   │   │   │   module='pipelines.try_on',                        │ │
│ │                        │   │   │   │   │   attribute='train_model',                          │ │
│ │                        │   │   │   │   │   type=<SourceType.USER: 'user'>                    │ │
│ │                        │   │   │   │   ),                                                    │ │
│ │                        │   │   │   │   upstream_steps=['load_data'],                         │ │
│ │                        │   │   │   │   inputs={                                              │ │
│ │                        │   │   │   │   │   'data': InputSpec(                                │ │
│ │                        │   │   │   │   │   │   step_name='load_data',                        │ │
│ │                        │   │   │   │   │   │   output_name='output'                          │ │
│ │                        │   │   │   │   │   )                                                 │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   pipeline_parameter_name='train_model'                 │ │
│ │                        │   │   │   ),                                                        │ │
│ │                        │   │   │   config=StepConfiguration(                                 │ │
│ │                        │   │   │   │   name='train_model',                                   │ │
│ │                        │   │   │   │   enable_cache=None,                                    │ │
│ │                        │   │   │   │   enable_artifact_metadata=None,                        │ │
│ │                        │   │   │   │   enable_artifact_visualization=None,                   │ │
│ │                        │   │   │   │   enable_step_logs=None,                                │ │
│ │                        │   │   │   │   step_operator=None,                                   │ │
│ │                        │   │   │   │   experiment_tracker=None,                              │ │
│ │                        │   │   │   │   parameters={},                                        │ │
│ │                        │   │   │   │   settings={                                            │ │
│ │                        │   │   │   │   │   'docker': BaseSettings(                           │ │
│ │                        │   │   │   │   │   │   build_context_root='envs/try_on',             │ │
│ │                        │   │   │   │   │   │   dockerfile='Dockerfile'                       │ │
│ │                        │   │   │   │   │   ),                                                │ │
│ │                        │   │   │   │   │   'orchestrator.local_docker': BaseSettings()       │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   extra={},                                             │ │
│ │                        │   │   │   │   failure_hook_source=None,                             │ │
│ │                        │   │   │   │   success_hook_source=None,                             │ │
│ │                        │   │   │   │   model_version=None,                                   │ │
│ │                        │   │   │   │   outputs={},                                           │ │
│ │                        │   │   │   │   caching_parameters={                                  │ │
│ │                        │   │   │   │   │   'step_source':                                    │ │
│ │                        'fa7c03d48725402cebda45811dc7d7ec5ccdbb47b6f402cf3da1e47c5f02cc8f'    │ │
│ │                        │   │   │   │   },                                                    │ │
│ │                        │   │   │   │   external_input_artifacts={}                           │ │
│ │                        │   │   │   )                                                         │ │
│ │                        │   │   )                                                             │ │
│ │                        │   },                                                                │ │
│ │                        │   client_environment={                                              │ │
│ │                        │   │   'environment': 'wsl',                                         │ │
│ │                        │   │   'os': 'linux',                                                │ │
│ │                        │   │   'linux_distro': 'ubuntu',                                     │ │
│ │                        │   │   'linux_distro_like': 'debian',                                │ │
│ │                        │   │   'linux_distro_version': '22.04',                              │ │
│ │                        │   │   'python_version': '3.10.13'                                   │ │
│ │                        │   },                                                                │ │
│ │                        │   client_version='0.54.1',                                          │ │
│ │                        │   server_version='0.54.1'                                           │ │
│ │                        )                                                                     │ │
│ │ docker_image_builder = <zenml.utils.pipeline_docker_image_builder.PipelineDockerImageBuilder │ │
│ │                        object at 0x7f1239fefd60>                                             │ │
│ │       download_files = False                                                                 │ │
│ │               images = {}                                                                    │ │
│ │        include_files = True                                                                  │ │
│ │          pipeline_id = UUID('38273f4f-cf7f-41a0-98d9-e77265ca6bbd')                          │ │
│ │      required_builds = [                                                                     │ │
│ │                        │   BuildConfiguration(                                               │ │
│ │                        │   │   key='orchestrator',                                           │ │
│ │                        │   │   settings=DockerSettings(                                      │ │
│ │                        │   │   │   parent_image=None,                                        │ │
│ │                        │   │   │   dockerfile='Dockerfile',                                  │ │
│ │                        │   │   │   build_context_root='envs/try_on',                         │ │
│ │                        │   │   │   build_options={},                                         │ │
│ │                        │   │   │   skip_build=False,                                         │ │
│ │                        │   │   │   target_repository='zenml',                                │ │
│ │                        │   │   │   replicate_local_python_environment=None,                  │ │
│ │                        │   │   │   requirements=None,                                        │ │
│ │                        │   │   │   required_integrations=[],                                 │ │
│ │                        │   │   │   required_hub_plugins=[],                                  │ │
│ │                        │   │   │   install_stack_requirements=True,                          │ │
│ │                        │   │   │   apt_packages=[],                                          │ │
│ │                        │   │   │   environment={},                                           │ │
│ │                        │   │   │   dockerignore=None,                                        │ │
│ │                        │   │   │   copy_files=True,                                          │ │
│ │                        │   │   │   copy_global_config=True,                                  │ │
│ │                        │   │   │   user=None,                                                │ │
│ │                        │   │   │   source_files=<SourceFileMode.DOWNLOAD_OR_INCLUDE:         │ │
│ │                        'download_or_include'>                                                │ │
│ │                        │   │   ),                                                            │ │
│ │                        │   │   step_name=None,                                               │ │
│ │                        │   │   entrypoint=None,                                              │ │
│ │                        │   │   extra_files={}                                                │ │
│ │                        │   )                                                                 │ │
│ │                        ]                                                                     │ │
│ │                stack = <zenml.stack.stack.Stack object at 0x7f1237e63400>                    │ │
│ │                  tag = 'simple_ml_pipeline-orchestrator'                                     │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/pipeline_docker_image_b │
│ uilder.py:200 in build_docker_image                                                              │
│                                                                                                  │
│   197 │   │   │   │   source=docker_settings.dockerfile, destination="Dockerfile"                │
│   198 │   │   │   )                                                                              │
│   199 │   │   │   logger.info("Building Docker image `%s`.", user_image_name)                    │
│ ❱ 200 │   │   │   image_name_or_digest = image_builder.build(                                    │
│   201 │   │   │   │   image_name=user_image_name,                                                │
│   202 │   │   │   │   build_context=build_context,                                               │
│   203 │   │   │   │   docker_build_options=docker_settings.build_options,                        │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │        build_context = <zenml.image_builders.build_context.BuildContext object at            │ │
│ │                        0x7f1239feff40>                                                       │ │
│ │  build_context_class = <class 'zenml.image_builders.build_context.BuildContext'>             │ │
│ │      code_repository = None                                                                  │ │
│ │   container_registry = None                                                                  │ │
│ │      docker_settings = DockerSettings(                                                       │ │
│ │                        │   parent_image=None,                                                │ │
│ │                        │   dockerfile='Dockerfile',                                          │ │
│ │                        │   build_context_root='envs/try_on',                                 │ │
│ │                        │   build_options={},                                                 │ │
│ │                        │   skip_build=False,                                                 │ │
│ │                        │   target_repository='zenml',                                        │ │
│ │                        │   replicate_local_python_environment=None,                          │ │
│ │                        │   requirements=None,                                                │ │
│ │                        │   required_integrations=[],                                         │ │
│ │                        │   required_hub_plugins=[],                                          │ │
│ │                        │   install_stack_requirements=True,                                  │ │
│ │                        │   apt_packages=[],                                                  │ │
│ │                        │   environment={},                                                   │ │
│ │                        │   dockerignore=None,                                                │ │
│ │                        │   copy_files=True,                                                  │ │
│ │                        │   copy_global_config=True,                                          │ │
│ │                        │   user=None,                                                        │ │
│ │                        │   source_files=<SourceFileMode.DOWNLOAD_OR_INCLUDE:                 │ │
│ │                        'download_or_include'>                                                │ │
│ │                        )                                                                     │ │
│ │           dockerfile = None                                                                  │ │
│ │       download_files = False                                                                 │ │
│ │           entrypoint = None                                                                  │ │
│ │          extra_files = {}                                                                    │ │
│ │        image_builder = LocalImageBuilder(type=image_builder, flavor=local, )                 │ │
│ │        include_files = True                                                                  │ │
│ │         parent_image = 'zenml:simple_ml_pipeline-orchestrator-intermediate-build'            │ │
│ │                 push = False                                                                 │ │
│ │         requirements = None                                                                  │ │
│ │ requires_zenml_build = True                                                                  │ │
│ │                 self = <zenml.utils.pipeline_docker_image_builder.PipelineDockerImageBuilder │ │
│ │                        object at 0x7f1239fefd60>                                             │ │
│ │                stack = <zenml.stack.stack.Stack object at 0x7f1237e63400>                    │ │
│ │                  tag = 'simple_ml_pipeline-orchestrator'                                     │ │
│ │    target_image_name = 'zenml:simple_ml_pipeline-orchestrator'                               │ │
│ │      user_image_name = 'zenml:simple_ml_pipeline-orchestrator-intermediate-build'            │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/image_builders/local_image_bu │
│ ilder.py:121 in build                                                                            │
│                                                                                                  │
│   118 │   │   │   │   tag=image_name,                                                            │
│   119 │   │   │   │   **(docker_build_options or {}),                                            │
│   120 │   │   │   )                                                                              │
│ ❱ 121 │   │   docker_utils._process_stream(output_stream)                                        │
│   122 │   │                                                                                      │
│   123 │   │   if container_registry:                                                             │
│   124 │   │   │   return container_registry.push_image(image_name)                               │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │        build_context = <zenml.image_builders.build_context.BuildContext object at            │ │
│ │                        0x7f1239feff40>                                                       │ │
│ │   container_registry = None                                                                  │ │
│ │ docker_build_options = {}                                                                    │ │
│ │        docker_client = <docker.client.DockerClient object at 0x7f123bac8d00>                 │ │
│ │                    f = <_io.BufferedRandom name=6>                                           │ │
│ │           image_name = 'zenml:simple_ml_pipeline-orchestrator-intermediate-build'            │ │
│ │        output_stream = <generator object APIClient._stream_helper at 0x7f1237576650>         │ │
│ │                 self = LocalImageBuilder(type=image_builder, flavor=local, )                 │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/zenml/utils/docker_utils.py:350 in  │
│ _process_stream                                                                                  │
│                                                                                                  │
│   347"""                                                                                    │
│   348 │   auxiliary_info = []                                                                    │
│   349 │                                                                                          │
│ ❱ 350 │   for element in stream:                                                                 │
│   351 │   │   lines = element.decode("utf-8").strip().split("\n")                                │
│   352 │   │                                                                                      │
│   353 │   │   for line in lines:                                                                 │
│                                                                                                  │
│ ╭──────────────────────────────────── locals ────────────────────────────────────╮               │
│ │ auxiliary_info = []                                                            │               │
│ │         stream = <generator object APIClient._stream_helper at 0x7f1237576650> │               │
│ ╰────────────────────────────────────────────────────────────────────────────────╯               │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:358 in         │
│ _stream_helper                                                                                   │
│                                                                                                  │
│   355 │   │   else:                                                                              │
│   356 │   │   │   # Response isn't chunked, meaning we probably                                  │
│   357 │   │   │   # encountered an error immediately                                             │
│ ❱ 358 │   │   │   yield self._result(response, json=decode)                                      │
│   359 │                                                                                          │
│   360 │   def _multiplexed_buffer_helper(self, response):                                        │
│   361 │   │   """A generator of multiplexed data blocks read from a buffered                     │
│                                                                                                  │
│ ╭───────────────────────────── locals ──────────────────────────────╮                            │
│ │   decode = False                                                  │                            │
│ │ response = <Response [400]>                                       │                            │
│ │     self = <docker.api.client.APIClient object at 0x7f1237b31780> │                            │
│ ╰───────────────────────────────────────────────────────────────────╯                            │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:274 in _result │
│                                                                                                  │
│   271 │                                                                                          │
│   272def _result(self, response, json=False, binary=False):                                 │
│   273 │   │   assert not (json and binary)                                                       │
│ ❱ 274 │   │   self._raise_for_status(response)                                                   │
│   275 │   │                                                                                      │
│   276 │   │   if json:                                                                           │
│   277 │   │   │   return response.json()                                                         │
│                                                                                                  │
│ ╭───────────────────────────── locals ──────────────────────────────╮                            │
│ │   binary = False                                                  │                            │
│ │     json = False                                                  │                            │
│ │ response = <Response [400]>                                       │                            │
│ │     self = <docker.api.client.APIClient object at 0x7f1237b31780> │                            │
│ ╰───────────────────────────────────────────────────────────────────╯                            │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/api/client.py:270 in         │
│ _raise_for_status                                                                                │
│                                                                                                  │
│   267 │   │   try:                                                                               │
│   268 │   │   │   response.raise_for_status()                                                    │
│   269 │   │   except requests.exceptions.HTTPError as e:                                         │
│ ❱ 270 │   │   │   raise create_api_error_from_http_exception(e) from e                           │
│   271 │                                                                                          │
│   272def _result(self, response, json=False, binary=False):                                 │
│   273 │   │   assert not (json and binary)                                                       │
│                                                                                                  │
│ ╭───────────────────────────── locals ──────────────────────────────╮                            │
│ │ response = <Response [400]>                                       │                            │
│ │     self = <docker.api.client.APIClient object at 0x7f1237b31780> │                            │
│ ╰───────────────────────────────────────────────────────────────────╯                            │
│                                                                                                  │
│ /home/kllis/miniconda3/envs/zml/lib/python3.10/site-packages/docker/errors.py:39 in              │
│ create_api_error_from_http_exception                                                             │
│                                                                                                  │
│    36 │   │   │   cls = ImageNotFound                                                            │
│    37 │   │   else:                                                                              │
│    38 │   │   │   cls = NotFound                                                                 │
│ ❱  39raise cls(e, response=response, explanation=explanation) from e                        │
│    40                                                                                            │
│    41                                                                                            │
│    42 class APIError(requests.exceptions.HTTPError, DockerException):                            │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │         cls = <class 'docker.errors.APIError'>                                               │ │
│ │           e = HTTPError('400 Client Error: Bad Request for url:                              │ │
│ │               http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator… │ │
│ │ explanation = 'dockerfile parse error on line 1: unknown instruction: Dockerfile'            │ │
│ │    response = <Response [400]>                                                               │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
APIError: 400 Client Error for 
http+docker://localhost/v1.43/build?t=zenml%3Asimple_ml_pipeline-orchestrator-intermediate-build&q=False&nocache=False&rm=False&forcerm=False&
pull=False: Bad Request ("dockerfile parse error on line 1: unknown instruction: Dockerfile")

@schustmi
Copy link
Contributor

settings:
  docker:
    dockerfile: Dockerfile
    build_context_root: envs/try_on

Do you actually have a file called Dockerfile in your working directory from which you run your pipeline? It seems to me like that file doesn't exist, and in that case we treat the string passed here as the contents of the Dockerfile. Which means it might try to build a Docker image with the following instructions (which is not a valid Dockerfile and therefore fails)

Dockerfile

@schustmi
Copy link
Contributor

As for the issue when not specifying a Dockerfile: The debug logs would also be helpful in this case, but I suspect that this is unrelated to ZenML and a failure due to some conflict/timeout in the pip install

@decadance-dance
Copy link
Author

Do you actually have a file called Dockerfile in your working directory from which you run your pipeline?

Hi, @schustmi, yes I do. I've double-checked it.

@htahir1
Copy link
Contributor

htahir1 commented Jan 23, 2024

@decadance-dance Maybe you need to do zenml init at the root of your repo where your Dockerfile is, and make sure you execute the pipeline from there?

@htahir1
Copy link
Contributor

htahir1 commented Feb 13, 2024

@decadance-dance Did that work?

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