Skip to content

Commit

Permalink
pipeline(bosh): pin boshrelease version to reduce resource checks
Browse files Browse the repository at this point in the history
close #305
  • Loading branch information
o-orand committed Jan 16, 2020
1 parent c5bddac commit 92fcf11
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 18 deletions.
12 changes: 3 additions & 9 deletions concourse/pipelines/template/bosh-pipeline.yml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -236,12 +236,14 @@ resources:
secret_access_key: ((s3-br-secret-key))
endpoint: ((s3-br-endpoint))
skip_ssl_verification: ((s3-br-skip-ssl-verification))
version: { path: <%= info['repository']&.split('/')&.first %>/<%= release %>-((<%= release %>-version)).tgz }
<% else %>
<% if info['base_location'].include?('bosh.io') %>
icon: home-floor-b
type: bosh-io-release
source:
repository: <%= info['repository'] %>
version: { version: ((<%= release %>-version)) }
<% else %>
icon: github-circle
type: github-release
Expand All @@ -250,6 +252,7 @@ resources:
repository: <%= info['repository'].split('/').last %>
access_token: ((bot-github-access-token))
# version: tag:( (<%#= release %>-version) ) # FIXME https://github.com/concourse/concourse/issues/3990
# <%= release %>-version is pinned, see resource declaration. This is disabled for now...
<% end %>
<% end %>
<% end %>
Expand Down Expand Up @@ -560,15 +563,6 @@ jobs:
trigger: true
<% deployment_details.releases.each do |release, info| %>
- get: <%= release %>
<% if config['offline-mode'] && config['offline-mode']['boshreleases'] %>
version: { path: <%= info['repository']&.split('/')&.first %>/<%= release %>-((<%= release %>-version)).tgz }
<% else %>
<% if PipelineHelpers.bosh_io_hosted?(info) %>
version: { version: ((<%= release %>-version)) }
<% else %>
# <%= release %>-version is pinned, see resource declaration. This is disabled for now...
<% end %>
<% end %>
trigger: true
attempts: 2
<% end %>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -347,13 +347,12 @@
secret_access_key: ((s3-br-secret-key))
endpoint: ((s3-br-endpoint))
skip_ssl_verification: ((s3-br-skip-ssl-verification))
version:
path: "#{br_repo}/#{br_name}-((#{br_name}-version)).tgz"
YAML
YAML.safe_load fragment
end.flatten
end
let(:expected_boshrelease_get_version) do
expected_boshreleases.flat_map { |name, repo| { name => "#{repo}/#{name}-((#{name}-version)).tgz" } }
end
let(:expected_boshrelease_put_version) do
expected_boshreleases.flat_map { |name, _repo| { name => "#{name}/*.tgz" } }
end
Expand All @@ -373,13 +372,13 @@
expect(s3_boshreleases).to include(*expected_s3_boshreleases)
end

it 'generates s3 version using path on get' do
it 'does not generate s3 version using path on get' do
boshrelease_get_version = generated_pipeline['jobs'].flat_map { |job| job['plan'] }
.flat_map { |plan| plan['in_parallel'] }
.compact
.select { |resource| expected_boshreleases.key?(resource['get']) }
.flat_map { |resource| { resource['get'] => resource['version']['path'] } }
expect(boshrelease_get_version).to include(*expected_boshrelease_get_version)
.flat_map { |resource| { resource['get'] => resource['version'] } }
expect(boshrelease_get_version).to all(satisfy { |k,v| v.nil? })
end

it 'generates s3 version using path on deployment put' do
Expand All @@ -391,7 +390,7 @@
end

it 'generates init-concourse-boshrelease-and-stemcell-for-ops-depls' do
expected_init_version = expected_boshrelease_get_version.flat_map(&:values).flatten.flat_map { |get_version| "path:#{get_version}" }
expected_init_version = expected_boshreleases.values.flat_map { |get_version| "path:#{get_version}" }
init_args = generated_pipeline['jobs']
.select { |job| job['name'] == "init-concourse-boshrelease-and-stemcell-for-#{root_deployment_name}" }
.flat_map { |job| job['plan'] }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,16 @@ resources:
type: bosh-io-release
source:
repository: cloudfoundry-community/ntp-release
version:
version: "((ntp_boshrelease-version))"
- name: zookeeper_boshrelease
icon: home-floor-b
type: bosh-io-release
source:
repository: cppforlife/zookeeper-release
version:
version: "((zookeeper_boshrelease-version))"

jobs:
- name: cancel-all-bosh-tasks
on_failure:
Expand Down Expand Up @@ -367,7 +372,6 @@ jobs:
params: { submodules: none}
trigger: true
- get: ntp_boshrelease
version: { version: "((ntp_boshrelease-version))" }
trigger: true
attempts: 2
- get: secrets-ntp-with-scan
Expand Down Expand Up @@ -583,7 +587,6 @@ jobs:
params: { submodules: none}
trigger: true
- get: zookeeper_boshrelease
version: { version: ((zookeeper_boshrelease-version)) }
trigger: true
attempts: 2
- get: paas-templates-zookeeper-without-scan
Expand Down

0 comments on commit 92fcf11

Please sign in to comment.