Skip to content

Commit b68acf8

Browse files
author
Elad Ben-Israel
authored
fix(lambda-python): cryptography >= 3.4 is not supported by older pip version (#12934)
`poetry`, which is needed when creating python bundles, has a dependency on the `cryptography` module. As described in their [changelog], starting version 3.4, they require the latest version of `pip`. Otherwise, the installer will attempt to compile the module, and the Rust compiler will be required. This fails in the amazon/aws-sam-cli-build-image-python3.6 image since it has an older version of pip installed. To fix, simply add an instruction to the dockerfile to upgrade to the latest pip version before installing. [changelog]: https://cryptography.io/en/3.4/changelog.html#v3-4 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 6de792c commit b68acf8

8 files changed

+106
-103
lines changed

packages/@aws-cdk/aws-lambda-python/lib/Dockerfile.dependencies

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ FROM $IMAGE
66
# Ensure rsync is installed
77
RUN yum -q list installed rsync &>/dev/null || yum install -y rsync
88

9+
# Upgrade pip (required by cryptography v3.4 and above, which is a dependency of poetry)
10+
RUN pip install --upgrade pip
11+
912
# Install pipenv and poetry so we can create a requirements.txt if we detect pipfile or poetry.lock respectively
1013
RUN pip install pipenv poetry
1114

packages/@aws-cdk/aws-lambda-python/test/integ.function.expected.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"Properties": {
3737
"Code": {
3838
"S3Bucket": {
39-
"Ref": "AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57S3Bucket035B0B74"
39+
"Ref": "AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353S3Bucket414E0E30"
4040
},
4141
"S3Key": {
4242
"Fn::Join": [
@@ -49,7 +49,7 @@
4949
"Fn::Split": [
5050
"||",
5151
{
52-
"Ref": "AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57S3VersionKey781CC06F"
52+
"Ref": "AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353S3VersionKey5ABC9098"
5353
}
5454
]
5555
}
@@ -62,7 +62,7 @@
6262
"Fn::Split": [
6363
"||",
6464
{
65-
"Ref": "AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57S3VersionKey781CC06F"
65+
"Ref": "AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353S3VersionKey5ABC9098"
6666
}
6767
]
6868
}
@@ -72,13 +72,13 @@
7272
]
7373
}
7474
},
75-
"Handler": "index.handler",
7675
"Role": {
7776
"Fn::GetAtt": [
7877
"myhandlerServiceRole77891068",
7978
"Arn"
8079
]
8180
},
81+
"Handler": "index.handler",
8282
"Runtime": "python3.6"
8383
},
8484
"DependsOn": [
@@ -87,17 +87,17 @@
8787
}
8888
},
8989
"Parameters": {
90-
"AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57S3Bucket035B0B74": {
90+
"AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353S3Bucket414E0E30": {
9191
"Type": "String",
92-
"Description": "S3 bucket for asset \"c677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57\""
92+
"Description": "S3 bucket for asset \"4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353\""
9393
},
94-
"AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57S3VersionKey781CC06F": {
94+
"AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353S3VersionKey5ABC9098": {
9595
"Type": "String",
96-
"Description": "S3 key for asset version \"c677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57\""
96+
"Description": "S3 key for asset version \"4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353\""
9797
},
98-
"AssetParametersc677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57ArtifactHash70AD5A1E": {
98+
"AssetParameters4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353ArtifactHashECA6C88C": {
9999
"Type": "String",
100-
"Description": "Artifact hash for asset \"c677eb7e524b9819a25fefd7267be6618341cd2b2d81f4b4aaa40911d698db57\""
100+
"Description": "Artifact hash for asset \"4ee6ce8b6ee4bd51743dc0c39d6e52baebaeafff9c9dfea0ff84de98d1dbf353\""
101101
}
102102
},
103103
"Outputs": {

packages/@aws-cdk/aws-lambda-python/test/integ.function.pipenv.expected.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"Properties": {
3737
"Code": {
3838
"S3Bucket": {
39-
"Ref": "AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bS3BucketDF70124D"
39+
"Ref": "AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cS3BucketA501FC08"
4040
},
4141
"S3Key": {
4242
"Fn::Join": [
@@ -49,7 +49,7 @@
4949
"Fn::Split": [
5050
"||",
5151
{
52-
"Ref": "AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bS3VersionKey530C68B0"
52+
"Ref": "AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cS3VersionKey1C3AFB39"
5353
}
5454
]
5555
}
@@ -62,7 +62,7 @@
6262
"Fn::Split": [
6363
"||",
6464
{
65-
"Ref": "AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bS3VersionKey530C68B0"
65+
"Ref": "AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cS3VersionKey1C3AFB39"
6666
}
6767
]
6868
}
@@ -72,13 +72,13 @@
7272
]
7373
}
7474
},
75-
"Handler": "index.handler",
7675
"Role": {
7776
"Fn::GetAtt": [
7877
"myhandlerinlineServiceRole10C681F6",
7978
"Arn"
8079
]
8180
},
81+
"Handler": "index.handler",
8282
"Runtime": "python3.6"
8383
},
8484
"DependsOn": [
@@ -121,7 +121,7 @@
121121
"Properties": {
122122
"Code": {
123123
"S3Bucket": {
124-
"Ref": "AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014S3BucketB5A59BD8"
124+
"Ref": "AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28S3Bucket7DE4D4D5"
125125
},
126126
"S3Key": {
127127
"Fn::Join": [
@@ -134,7 +134,7 @@
134134
"Fn::Split": [
135135
"||",
136136
{
137-
"Ref": "AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014S3VersionKey7657015C"
137+
"Ref": "AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28S3VersionKeyAEB67E87"
138138
}
139139
]
140140
}
@@ -147,7 +147,7 @@
147147
"Fn::Split": [
148148
"||",
149149
{
150-
"Ref": "AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014S3VersionKey7657015C"
150+
"Ref": "AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28S3VersionKeyAEB67E87"
151151
}
152152
]
153153
}
@@ -157,13 +157,13 @@
157157
]
158158
}
159159
},
160-
"Handler": "index.handler",
161160
"Role": {
162161
"Fn::GetAtt": [
163162
"myhandlerpython27ServiceRole2ED49C06",
164163
"Arn"
165164
]
166165
},
166+
"Handler": "index.handler",
167167
"Runtime": "python2.7"
168168
},
169169
"DependsOn": [
@@ -206,7 +206,7 @@
206206
"Properties": {
207207
"Code": {
208208
"S3Bucket": {
209-
"Ref": "AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aS3Bucket31144813"
209+
"Ref": "AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009S3BucketA66E9035"
210210
},
211211
"S3Key": {
212212
"Fn::Join": [
@@ -219,7 +219,7 @@
219219
"Fn::Split": [
220220
"||",
221221
{
222-
"Ref": "AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aS3VersionKeyB48E8383"
222+
"Ref": "AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009S3VersionKeyAFEB5FDA"
223223
}
224224
]
225225
}
@@ -232,7 +232,7 @@
232232
"Fn::Split": [
233233
"||",
234234
{
235-
"Ref": "AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aS3VersionKeyB48E8383"
235+
"Ref": "AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009S3VersionKeyAFEB5FDA"
236236
}
237237
]
238238
}
@@ -242,13 +242,13 @@
242242
]
243243
}
244244
},
245-
"Handler": "index.handler",
246245
"Role": {
247246
"Fn::GetAtt": [
248247
"myhandlerpython38ServiceRole2049AFF7",
249248
"Arn"
250249
]
251250
},
251+
"Handler": "index.handler",
252252
"Runtime": "python3.8"
253253
},
254254
"DependsOn": [
@@ -257,41 +257,41 @@
257257
}
258258
},
259259
"Parameters": {
260-
"AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bS3BucketDF70124D": {
260+
"AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cS3BucketA501FC08": {
261261
"Type": "String",
262-
"Description": "S3 bucket for asset \"eef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255b\""
262+
"Description": "S3 bucket for asset \"94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45c\""
263263
},
264-
"AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bS3VersionKey530C68B0": {
264+
"AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cS3VersionKey1C3AFB39": {
265265
"Type": "String",
266-
"Description": "S3 key for asset version \"eef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255b\""
266+
"Description": "S3 key for asset version \"94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45c\""
267267
},
268-
"AssetParameterseef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255bArtifactHashEE8E0CE9": {
268+
"AssetParameters94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45cArtifactHash99DC751A": {
269269
"Type": "String",
270-
"Description": "Artifact hash for asset \"eef17c074659b655f9b413019323db3976d06067e78d53c4e609ebe177ce255b\""
270+
"Description": "Artifact hash for asset \"94972df8a01484c56b50bec3793ac6c4302bc044db29d3502007bdc0f83db45c\""
271271
},
272-
"AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014S3BucketB5A59BD8": {
272+
"AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28S3Bucket7DE4D4D5": {
273273
"Type": "String",
274-
"Description": "S3 bucket for asset \"f37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014\""
274+
"Description": "S3 bucket for asset \"3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28\""
275275
},
276-
"AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014S3VersionKey7657015C": {
276+
"AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28S3VersionKeyAEB67E87": {
277277
"Type": "String",
278-
"Description": "S3 key for asset version \"f37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014\""
278+
"Description": "S3 key for asset version \"3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28\""
279279
},
280-
"AssetParametersf37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014ArtifactHash7768674B": {
280+
"AssetParameters3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28ArtifactHashE51CE860": {
281281
"Type": "String",
282-
"Description": "Artifact hash for asset \"f37a4de97ca8831930cd2d0dc3f0962e653d756a118ce33271752a745489c014\""
282+
"Description": "Artifact hash for asset \"3b0b0f3cd46ea1490006d6cefca359385ec059bb00a0fbee4de2eecf48038e28\""
283283
},
284-
"AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aS3Bucket31144813": {
284+
"AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009S3BucketA66E9035": {
285285
"Type": "String",
286-
"Description": "S3 bucket for asset \"3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846a\""
286+
"Description": "S3 bucket for asset \"876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009\""
287287
},
288-
"AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aS3VersionKeyB48E8383": {
288+
"AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009S3VersionKeyAFEB5FDA": {
289289
"Type": "String",
290-
"Description": "S3 key for asset version \"3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846a\""
290+
"Description": "S3 key for asset version \"876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009\""
291291
},
292-
"AssetParameters3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846aArtifactHash652F614E": {
292+
"AssetParameters876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009ArtifactHashB9A1080D": {
293293
"Type": "String",
294-
"Description": "Artifact hash for asset \"3eb927f8df31281e22c710f842018fa10b0dde86f74f89313c9a27db6e75846a\""
294+
"Description": "Artifact hash for asset \"876959f777c5a23bf4408991959c55c91810329d159608feb7ede69418b35009\""
295295
}
296296
},
297297
"Outputs": {

0 commit comments

Comments
 (0)