-
Notifications
You must be signed in to change notification settings - Fork 5.6k
[FR] Allow Proxies in Sagemaker Endpoints and Docker builds #6119
Copy link
Copy link
Closed
Labels
area/dockerDocker use anywhere, such as MLprojects and MLmodelsDocker use anywhere, such as MLprojects and MLmodelsarea/modelsMLmodel format, model serialization/deserialization, flavorsMLmodel format, model serialization/deserialization, flavorsarea/scoringMLflow Model server, model deployment tools, Spark UDFsMLflow Model server, model deployment tools, Spark UDFsenhancementNew feature or requestNew feature or requestintegrations/sagemakerSagemaker integrationsSagemaker integrations
Metadata
Metadata
Assignees
Labels
area/dockerDocker use anywhere, such as MLprojects and MLmodelsDocker use anywhere, such as MLprojects and MLmodelsarea/modelsMLmodel format, model serialization/deserialization, flavorsMLmodel format, model serialization/deserialization, flavorsarea/scoringMLflow Model server, model deployment tools, Spark UDFsMLflow Model server, model deployment tools, Spark UDFsenhancementNew feature or requestNew feature or requestintegrations/sagemakerSagemaker integrationsSagemaker integrations
Willingness to contribute
Yes. I would be willing to contribute this feature with guidance from the MLflow community.
Proposal Summary
I'd like to request that proxies (http proxy, https proxy, and no proxy) be allowed when performing the below two operations -
mlflow sagemaker build-and-push-containerMotivation
The 'maven' framework accepts proxies via the 'settings.xml' file or extra command line arguments, the 'maven' commands inside the generated Dockerfile after triggering the 'mlflow sagemaker build-and-push-container' command fail with HTTP timeouts. Furthermore, when models are deployed as Sagemaker endpoints, the 'mlflow deploy' API does not provide the option to inject proxies as environment variables.
Proxies are common in every business, so users who want to use mlflow deployments to Sagemaker will require this feature.
We plan to use
mlflowto deploy models registered in the 'mlflow registry' to AWS Sagemaker.Details
We are partnering with
Databricks - @mshtelmato integrate the proposed fix into open source mlflow -Docker Build Maven Proxy Fix:
https://github.com/ameya-parab/mlflow/blob/feature/sagemaker_proxies/mlflow/models/docker_utils.py#L40-L52
https://github.com/ameya-parab/mlflow/blob/feature/sagemaker_proxies/mlflow/models/docker_utils.py#L100-L126
SageMaker Endpoints Proxies:
https://github.com/ameya-parab/mlflow/blob/feature/sagemaker_proxies/mlflow/sagemaker/__init__.py#L1241-L1249
What component(s) does this bug affect?
area/artifacts: Artifact stores and artifact loggingarea/build: Build and test infrastructure for MLflowarea/docs: MLflow documentation pagesarea/examples: Example codearea/model-registry: Model Registry service, APIs, and the fluent client calls for Model Registryarea/models: MLmodel format, model serialization/deserialization, flavorsarea/projects: MLproject format, project running backendsarea/scoring: MLflow Model server, model deployment tools, Spark UDFsarea/server-infra: MLflow Tracking server backendarea/tracking: Tracking Service, tracking client APIs, autologgingWhat interface(s) does this bug affect?
area/uiux: Front-end, user experience, plotting, JavaScript, JavaScript dev serverarea/docker: Docker use across MLflow's components, such as MLflow Projects and MLflow Modelsarea/sqlalchemy: Use of SQLAlchemy in the Tracking Service or Model Registryarea/windows: Windows supportWhat language(s) does this bug affect?
language/r: R APIs and clientslanguage/java: Java APIs and clientslanguage/new: Proposals for new client languagesWhat integration(s) does this bug affect?
integrations/azure: Azure and Azure ML integrationsintegrations/sagemaker: SageMaker integrationsintegrations/databricks: Databricks integrations