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

Specifies gevent version in Dockerfile to enable Sagemaker deployment. #785

Merged
merged 1 commit into from
Jun 11, 2020

Conversation

flosincapite
Copy link
Contributor

Description

This change specifies gevent==1.4 in operator.py. This ensures the generated Dockerfile for sagemaker workers will have the required version of gevent.

Motivation and Context

Without this change, the Sagemaker deployment tutorial doesn't work. Workers on AWS will throw a ModuleNotFoundError because gunicorn can't find the right version of gevent.

How Has This Been Tested?

I completed the AWS Sagemaker deployment tutorial. I verified that my endpoint was in service and could generate predictions.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Documentation
  • Test, CI, or build
  • None

Components (if applicable)

  • BentoService (model packaging, dependency management, handler definition)
  • Model Artifact (model serialization, multi-framework support)
  • Model Server (mico-batching, logging, metrics, tracing, benchmark, OpenAPI)
  • YataiService (model management, deployment automation)
  • Documentation

Checklist:

  • My code follows the bentoml code style, both ./dev/format.sh and
    ./dev/lint.sh script have passed
    (instructions).
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • My change requires a change in bentoml/gallery example notebooks
  • I have sent a pull request to bentoml/gallery to make that change

@codecov
Copy link

codecov bot commented Jun 11, 2020

Codecov Report

Merging #785 into master will increase coverage by 0.18%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #785      +/-   ##
==========================================
+ Coverage   55.34%   55.53%   +0.18%     
==========================================
  Files         108      108              
  Lines        8143     8144       +1     
==========================================
+ Hits         4507     4523      +16     
+ Misses       3636     3621      -15     
Impacted Files Coverage Δ
bentoml/yatai/deployment/sagemaker/operator.py 80.20% <ø> (ø)
bentoml/artifact/__init__.py 100.00% <100.00%> (ø)
bentoml/artifact/spacy_model_artifact.py 40.54% <0.00%> (+40.54%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f9da611...75a71ae. Read the comment docs.

@parano
Copy link
Member

parano commented Jun 11, 2020

Thanks for fixing this Cory! Great idea to pin the version, It looks like the new release of gevent that came out yesterday broke its integration with Sagemaker environment. Merging now!

One question - is 1.4.0 required on the AWS side? it appears to be a stable release that works for SageMaker, but I couldn't find this documented anywhere on their website.

@parano parano merged commit 2624fb7 into bentoml:master Jun 11, 2020
@flosincapite
Copy link
Contributor Author

As far as I can tell, it's gunicorn that requires this. I think that's the WSGI server in Sagemaker.

aarnphm pushed a commit to aarnphm/BentoML that referenced this pull request Jul 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants