Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit dda2574

Browse files
author
Aakash Shah
committed
Bring back PR cloudfoundry#1585
This reverts commit 39952cf, reversing changes made to c3b2d6d.
1 parent e544619 commit dda2574

2 files changed

Lines changed: 33 additions & 8 deletions

File tree

lib/cloud_controller/opi/stager_client.rb

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ def stop_staging(staging_guid); end
2323
private
2424

2525
class BuildpackLifecycle
26-
def initialize(action_builder, staging_guid, cc_uploader_url)
26+
def initialize(action_builder, staging_guid, cc_uploader_url, config)
2727
@action_builder = action_builder
2828
@staging_guid = staging_guid
2929
@cc_uploader_url = cc_uploader_url
30+
@config = config
3031
end
3132

3233
def to_hash
@@ -36,10 +37,26 @@ def to_hash
3637
buildpack_lifecycle: {
3738
droplet_upload_uri: droplet_upload_uri,
3839
app_bits_download_uri: lifecycle_data[:app_bits_download_uri],
39-
buildpacks: lifecycle_data[:buildpacks]
40+
buildpacks: lifecycle_data[:buildpacks],
41+
buildpack_cache_download_uri: lifecycle_data[:build_artifacts_cache_download_uri],
42+
buildpack_cache_checksum: lifecycle_data[:buildpack_cache_checksum],
43+
buildpack_cache_checksum_algorithm: 'sha256',
44+
buildpack_cache_upload_uri: upload_buildpack_artifacts_cache_uri(@staging_guid, lifecycle_data)
4045
}
4146
}
4247
end
48+
49+
private
50+
51+
def upload_buildpack_artifacts_cache_uri(staging_guid, lifecycle_data)
52+
upload_buildpack_artifacts_cache_uri = URI(@config.get(:diego, :cc_uploader_url))
53+
upload_buildpack_artifacts_cache_uri.path = "/v1/build_artifacts/#{staging_guid}"
54+
upload_buildpack_artifacts_cache_uri.query = {
55+
'cc-build-artifacts-upload-uri' => lifecycle_data[:build_artifacts_cache_upload_uri],
56+
'timeout' => @config.get(:staging, :timeout_in_seconds),
57+
}.to_param
58+
upload_buildpack_artifacts_cache_uri.to_s
59+
end
4360
end
4461

4562
class DockerLifecycle
@@ -95,7 +112,7 @@ def get_lifecycle(staging_details, staging_guid, action_builder)
95112
DockerLifecycle.new(staging_details)
96113
else
97114
cc_uploader_url = config.get(:opi, :cc_uploader_url)
98-
BuildpackLifecycle.new(action_builder, staging_guid, cc_uploader_url)
115+
BuildpackLifecycle.new(action_builder, staging_guid, cc_uploader_url, config)
99116
end
100117
end
101118

spec/unit/lib/cloud_controller/opi/stager_client_spec.rb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,11 @@
7575
buildpack_lifecycle: {
7676
droplet_upload_uri: "http://cc-uploader.service.cf.internal:9091/v1/droplet/#{staging_guid}?cc-droplet-upload-uri=http://upload.me",
7777
app_bits_download_uri: 'http://download.me',
78-
buildpacks: [{ name: 'ruby', key: 'idk', url: 'www.com', skip_detect: false }]
78+
buildpacks: [{ name: 'ruby', key: 'idk', url: 'www.com', skip_detect: false }],
79+
buildpack_cache_download_uri: 'buildpacks-artifacts-cache-url-download',
80+
buildpack_cache_checksum: 'sumcheck',
81+
buildpack_cache_checksum_algorithm: 'sha256',
82+
buildpack_cache_upload_uri: 'https://cc-uploader.service.cf.internal:9091/v1/build_artifacts/some_staging_guid?cc-build-artifacts-upload-uri=buildpacks-artifacts-cache-url-upload&timeout=42'
7983
}
8084
},
8185
cpu_weight: VCAP::CloudController::Diego::STAGING_TASK_CPU_WEIGHT,
@@ -109,7 +113,11 @@
109113
buildpack_lifecycle: {
110114
droplet_upload_uri: "http://cc-uploader.service.cf.internal:9091/v1/droplet/#{staging_guid}?cc-droplet-upload-uri=http://upload.me",
111115
app_bits_download_uri: 'http://download.me',
112-
buildpacks: [{ name: 'ruby', key: 'idk', url: 'www.com', skip_detect: false }]
116+
buildpacks: [{ name: 'ruby', key: 'idk', url: 'www.com', skip_detect: false }],
117+
buildpack_cache_download_uri: 'buildpacks-artifacts-cache-url-download',
118+
buildpack_cache_checksum: 'sumcheck',
119+
buildpack_cache_checksum_algorithm: 'sha256',
120+
buildpack_cache_upload_uri: 'https://cc-uploader.service.cf.internal:9091/v1/build_artifacts/some_staging_guid?cc-build-artifacts-upload-uri=buildpacks-artifacts-cache-url-upload&timeout=42'
113121
}
114122
},
115123
cpu_weight: VCAP::CloudController::Diego::STAGING_TASK_CPU_WEIGHT,
@@ -229,10 +237,10 @@ def stub_lifecycle_data
229237
}
230238
]
231239
data.droplet_upload_uri = 'http://upload.me'
232-
data.build_artifacts_cache_download_uri = 'dont care'
240+
data.build_artifacts_cache_download_uri = 'buildpacks-artifacts-cache-url-download'
233241
data.stack = 'dont care'
234-
data.build_artifacts_cache_upload_uri = 'dont care'
235-
data.buildpack_cache_checksum = 'dont care'
242+
data.build_artifacts_cache_upload_uri = 'buildpacks-artifacts-cache-url-upload'
243+
data.buildpack_cache_checksum = 'sumcheck'
236244
data.app_bits_checksum = { type: 'sha256', value: 'also dont care' }
237245
data.message
238246
end

0 commit comments

Comments
 (0)