Build via `sam build` Fails When "Amazon.Lambda.Tools" Is Installed in Built Docker Container
Los mantenedores suelen responder en 10 días
Nadie ha tomado este issue todavía.
- #127 de @chrisoverzero — cerrado sin fusionar
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- aws, docker, python
- Área
- build-system, cloud
Línea de trabajo
Reproduce el fallo utilizando el repositorio sam-build-example enlazado y sam build, con Amazon.Lambda.Tools ya instalado en la imagen de Docker. Después, lee el flujo de trabajo DotnetCliPackageBuilder, especialmente aws_lambda_builders/workflows/dotnet_cli_package/actions.py, y verifica la corrección confirmando que la compilación se realiza correctamente en ese entorno.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When using a Docker image which has the dotnet tool "Amazon.Lambda.Tools" already installed, the command sam build will fail when trying to update the tool. It's something about hardlinks which I'm not knowledgeable enough about Docker to speculate on.
Steps to reproduce
As documented in the example repository I created.
Observed result
Behind the fold.
2019-08-20 20:28:18 Using SAM Template at /var/task/template.yml
2019-08-20 20:28:18 Changing event name from creating-client-class.iot-data to creating
-client-class.iot-data-plane
2019-08-20 20:28:18 Changing event name from before-call.apigateway to before-call.api-
gateway
2019-08-20 20:28:18 Changing event name from request-created.machinelearning.Predict to
request-created.machine-learning.Predict
2019-08-20 20:28:18 Changing event name from before-parameter-build.autoscaling.CreateL
aunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-08-20 20:28:18 Changing event name from before-parameter-build.route53 to before-p
arameter-build.route-53
2019-08-20 20:28:18 Changing event name from request-created.cloudsearchdomain.Search t
o request-created.cloudsearch-domain.Search
2019-08-20 20:28:18 Changing event name from docs.*.autoscaling.CreateLaunchConfigurati
on.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-08-20 20:28:18 Changing event name from before-parameter-build.cloudsearchdomain.S
earch to before-parameter-build.cloudsearch-domain.Search
2019-08-20 20:28:18 Changing event name from docs.*.cloudsearchdomain.Search.complete-s
ection to docs.*.cloudsearch-domain.Search.complete-section
2019-08-20 20:28:18 Changing event name from before-parameter-build.logs.CreateExportTa
sk to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-08-20 20:28:18 Changing event name from docs.*.logs.CreateExportTask.complete-sect
ion to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-08-20 20:28:18 Changing event name from creating-client-class.iot-data to creating
-client-class.iot-data-plane
2019-08-20 20:28:18 Changing event name from before-call.apigateway to before-call.api-
gateway
2019-08-20 20:28:18 Changing event name from request-created.machinelearning.Predict to
request-created.machine-learning.Predict
2019-08-20 20:28:18 Changing event name from before-parameter-build.autoscaling.CreateL
aunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration
2019-08-20 20:28:18 Changing event name from before-parameter-build.route53 to before-p
arameter-build.route-53
2019-08-20 20:28:18 Changing event name from request-created.cloudsearchdomain.Search t
o request-created.cloudsearch-domain.Search
2019-08-20 20:28:18 Changing event name from docs.*.autoscaling.CreateLaunchConfigurati
on.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section
2019-08-20 20:28:18 Changing event name from before-parameter-build.cloudsearchdomain.S
earch to before-parameter-build.cloudsearch-domain.Search
2019-08-20 20:28:18 Changing event name from docs.*.cloudsearchdomain.Search.complete-s
ection to docs.*.cloudsearch-domain.Search.complete-section
2019-08-20 20:28:18 Changing event name from before-parameter-build.logs.CreateExportTa
sk to before-parameter-build.cloudwatch-logs.CreateExportTask
2019-08-20 20:28:18 Changing event name from docs.*.logs.CreateExportTask.complete-sect
ion to docs.*.cloudwatch-logs.CreateExportTask.complete-section
2019-08-20 20:28:18 'build' command is called
2019-08-20 20:28:18 No Parameters detected in the template
2019-08-20 20:28:18 1 resources found in the template
2019-08-20 20:28:18 Found Serverless function with name='Example' and CodeUri='./src/Ex
ample'
2019-08-20 20:28:18 Building resource 'Example'
2019-08-20 20:28:18 Loading workflow module 'aws_lambda_builders.workflows'
2019-08-20 20:28:18 Registering workflow 'PythonPipBuilder' with capability 'Capability
(language='python', dependency_manager='pip', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'NodejsNpmBuilder' with capability 'Capability
(language='nodejs', dependency_manager='npm', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'RubyBundlerBuilder' with capability 'Capabili
ty(language='ruby', dependency_manager='bundler', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'GoDepBuilder' with capability 'Capability(lan
guage='go', dependency_manager='dep', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'GoModulesBuilder' with capability 'Capability
(language='go', dependency_manager='modules', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'JavaGradleWorkflow' with capability 'Capabili
ty(language='java', dependency_manager='gradle', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'JavaMavenWorkflow' with capability 'Capabilit
y(language='java', dependency_manager='maven', application_framework=None)'
2019-08-20 20:28:18 Registering workflow 'DotnetCliPackageBuilder' with capability 'Cap
ability(language='dotnet', dependency_manager='cli-package', application_framework=None
)'
2019-08-20 20:28:18 Found workflow 'DotnetCliPackageBuilder' to support capabilities 'C
apability(language='dotnet', dependency_manager='cli-package', application_framework=No
ne)'
2019-08-20 20:28:18 Running workflow 'DotnetCliPackageBuilder'
2019-08-20 20:28:18 Running DotnetCliPackageBuilder:GlobalToolInstall
2019-08-20 20:28:18 Installing Amazon.Lambda.Tools Global Tool
2019-08-20 20:28:18 executing dotnet: ['dotnet', 'tool', 'install', '-g', 'Amazon.Lambd
a.Tools']
2019-08-20 20:28:18
2019-08-20 20:28:18 Error installing probably due to already installed. Attempt to upda
te to latest version.
2019-08-20 20:28:18 executing dotnet: ['dotnet', 'tool', 'update', '-g', 'Amazon.Lambda
.Tools']
2019-08-20 20:28:19
2019-08-20 20:28:19 DotnetCliPackageBuilder:GlobalToolInstall failed
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/aws_lambda_builders/workflow.py", line 2
48, in run
action.execute()
File "/usr/local/lib/python2.7/site-packages/aws_lambda_builders/workflows/dotnet_cli
package/actions.py", line 42, in execute
raise ActionFailedError("Error configuring the Amazon.Lambda.Tools .NET Core Global
Tool: " + str(ex))
ActionFailedError: Error configuring the Amazon.Lambda.Tools .NET Core Global Tool: Dot
net CLI Failed: Tool 'amazon.lambda.tools' failed to update due to the following:
Failed to uninstall tool package 'amazon.lambda.tools': Invalid cross-device link
Build Failed
Error: DotnetCliPackageBuilder:GlobalToolInstall - Error configuring the Amazon.Lambda.
Tools .NET Core Global Tool: Dotnet CLI Failed: Tool 'amazon.lambda.tools' failed to up
date due to the following:
Failed to uninstall tool package 'amazon.lambda.tools': Invalid cross-device link
Expected result
A successful build. Whether that's via a successful update of the tool or via not trying to update the tool (or some other thing?), I have no opinion.
Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
- OS: In the example case, Amazon Linux.
sam --version:SAM CLI, version 0.19.0
Add --debug flag to command you are running
- Lenguaje dominante
- Python
- Estrellas
- 381
- Forks
- 161
- Merge medio
- 9 d 8 h
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de aws/aws-lambda-builders
-
python_uv: `UvConfig.compile_bytecode` is never passed to uv, so the option has no effectPosiblemente ocupada @xujiantop-crypto la tomó hace 24 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
aws/aws-lambda-builders#925 · 1 reacción ·
Los mantenedores suelen responder en 10 días
-
Bytecode compiled during build is always discarded at runtime: SAM packaging writes 1980 timestamps, so timestamp-based .pyc never validatePosiblemente ocupada @xujiantop-crypto la tomó hace 24 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 64/100
aws/aws-lambda-builders#924 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 10 días
-
Bug: PythonUvBuilder fails to build app with dependencies on editable installs in the workspacePosiblemente ocupada @noritada la tomó hace 93 días. Abiertostage/needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
aws/aws-lambda-builders#892 ·
Los mantenedores suelen responder en 10 días
-
stage/needs-triage type/feature
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
aws/aws-lambda-builders#839 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 10 días
-
Feature request: Skip binary validation when builder is not used for any languageQuizá libre de nuevo @saketh-bandi la tomó hace 37 días y no hay ningún pull request abierto. Abiertoarea/build contributors/good-first-issue contributors/welcome type/feature
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
aws/aws-lambda-builders#831 · 3 comentarios ·
Los mantenedores suelen responder en 10 días
Todos los issues de aws/aws-lambda-builders
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
awslabs/visual-asset-management-system#414 ·
Los mantenedores suelen responder en 1 día
-
bug v1 v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/python-sdk#3670 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
aicell-lab/bioengine#232 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
modelscope/evalscope#1836 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100