Skip to content

Commit bece3e7

Browse files
committed
CI: harmonize docker / warden image assets
1 parent 646ef72 commit bece3e7

File tree

10 files changed

+46
-50
lines changed

10 files changed

+46
-50
lines changed

ci/dockerfiles/docker-cpi/Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ RUN docker_gpg="/etc/apt/trusted.gpg.d/docker.gpg" \
2929
RUN sed -i 's/\(ulimit -Hn [0-9]*\)/#\1/' /etc/init.d/docker
3030

3131
COPY bosh-deployment /usr/local/bosh-deployment/
32-
RUN curl -o /usr/local/bosh.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bosh/url)" \
33-
&& curl -o /usr/local/bpm.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bpm/url)"
32+
RUN mkdir -p /usr/local/releases \
33+
&& curl -o /usr/local/releases/bosh.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bosh/url)" \
34+
&& curl -o /usr/local/releases/bpm.tgz "$(bosh int /usr/local/bosh-deployment/bosh.yml --path /releases/name=bpm/url)"
3435

3536
COPY local-releases.yml /usr/local/local-releases.yml
3637
COPY start-bosh.sh /usr/local/bin/start-bosh

ci/dockerfiles/docker-cpi/latest-bosh-release.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@
2020
path: /releases/name=bpm/sha1
2121

2222
- type: replace
23-
path: /releases/name=bosh-docker-cpi/version
23+
path: /releases/name=os-conf/version
2424
value: latest
2525

2626
- type: remove
27-
path: /releases/name=bosh-docker-cpi/url
27+
path: /releases/name=os-conf/url
2828

2929
- type: remove
30-
path: /releases/name=bosh-docker-cpi/sha1
30+
path: /releases/name=os-conf/sha1
3131

3232
- type: replace
33-
path: /releases/name=os-conf/version
33+
path: /releases/name=bosh-docker-cpi/version
3434
value: latest
3535

3636
- type: remove
37-
path: /releases/name=os-conf/url
37+
path: /releases/name=bosh-docker-cpi/url
3838

3939
- type: remove
40-
path: /releases/name=os-conf/sha1
40+
path: /releases/name=bosh-docker-cpi/sha1
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
- type: replace
33
path: /releases/name=bosh/url
4-
value: file:///usr/local/bosh.tgz
4+
value: file:///usr/local/releases/bosh.tgz
55

66
- type: replace
77
path: /releases/name=bpm/url
8-
value: file:///usr/local/bpm.tgz
8+
value: file:///usr/local/releases/bpm.tgz

ci/dockerfiles/docker-cpi/start-bosh.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,9 @@ function main() {
172172
local certs_dir
173173
certs_dir=$(mktemp -d)
174174

175+
local local_bosh_dir
176+
local_bosh_dir="/tmp/local-bosh/director"
177+
175178
export DOCKER_HOST="tcp://${OUTER_CONTAINER_IP}:4243"
176179
export DOCKER_TLS_VERIFY=1
177180
export DOCKER_CERT_PATH="${certs_dir}"
@@ -185,9 +188,6 @@ EOF
185188

186189
start_docker "${certs_dir}"
187190

188-
local local_bosh_dir
189-
local_bosh_dir="/tmp/local-bosh/director"
190-
191191
local docker_network_name="director_network"
192192
if docker network ls | grep -q "${docker_network_name}"; then
193193
echo "A docker network named '${docker_network_name}' already exists, skipping creation" >&2

ci/dockerfiles/docker-cpi/start-inner-bosh-parallel.sh

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,13 @@ set -euo pipefail
44
set -x
55

66
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7-
src_dir="${script_dir}/../../../"
87
node_number=${1}
98

10-
pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
11-
inner_bosh_dir="/tmp/inner-bosh/director/$node_number"
12-
mkdir -p ${inner_bosh_dir}
9+
pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null
10+
inner_bosh_dir="/tmp/inner-bosh/director/${node_number}"
11+
mkdir -p "${inner_bosh_dir}"
1312

14-
export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))"
15-
16-
additional_ops_files=""
17-
if [ "$(lsb_release -cs)" != "jammy" ]; then
18-
additional_ops_files="-o /usr/local/noble-updates.yml"
19-
fi
13+
export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))"
2014

2115
bosh int bosh.yml \
2216
-o "$script_dir/inner-bosh-ops.yml" \
@@ -31,16 +25,16 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
3125
-o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \
3226
-o "$script_dir/latest-bosh-release.yml" \
3327
-o "$script_dir/deployment-name.yml" \
34-
${additional_ops_files} \
35-
-v deployment_name="bosh-$node_number" \
36-
${@:2} > "${inner_bosh_dir}/bosh-director.yml"
28+
-v deployment_name="bosh-${node_number}" \
29+
"${@:2}" > "${inner_bosh_dir}/bosh-director.yml"
3730

38-
bosh -n deploy -d "bosh-$node_number" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml"
31+
bosh -n deploy -d "bosh-${node_number}" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml"
3932

4033
# set up inner director
4134
export BOSH_ENVIRONMENT="docker-inner-director-${node_number}"
4235
export BOSH_CONFIG="${inner_bosh_dir}/config"
43-
export BOSH_CLIENT_SECRET=$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)
36+
BOSH_CLIENT_SECRET=$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)
37+
export BOSH_CLIENT_SECRET
4438

4539
bosh int "${inner_bosh_dir}/creds.yml" --path /director_ssl/ca > "${inner_bosh_dir}/ca.crt"
4640
bosh -e "${BOSH_DIRECTOR_IP}" --ca-cert "${inner_bosh_dir}/ca.crt" alias-env "${BOSH_ENVIRONMENT}"
@@ -64,7 +58,7 @@ EOF
6458

6559
"${inner_bosh_dir}/bosh" -n update-cloud-config \
6660
"$script_dir/inner-bosh-cloud-config.yml" \
67-
-v node_number="$((${node_number} * 4))" \
61+
-v node_number="$((node_number * 4))" \
6862
-v network=director_network
6963

7064
popd > /dev/null

ci/dockerfiles/docker-cpi/start-inner-bosh.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ bosh_release_path=""
88

99
src_dir="${script_dir}/../../../"
1010

11-
default_stemcell_path="${src_dir}/../stemcell/*.tgz"
11+
default_stemcell_path="$(ls "${src_dir}/../stemcell/*.tgz")"
1212
stemcell="${CANDIDATE_STEMCELL_TARBALL_PATH:-$default_stemcell_path}"
1313

1414
pushd "${bosh_path}" > /dev/null
@@ -21,7 +21,7 @@ popd > /dev/null
2121

2222
export bosh_release_path
2323

24-
pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
24+
pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null
2525
inner_bosh_dir="/tmp/inner-bosh/director"
2626

2727
export BOSH_DIRECTOR_IP="10.245.0.34"
@@ -44,9 +44,9 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
4444
-o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \
4545
-o "${BOSH_DEPLOYMENT_PATH}/local-bosh-release-tarball.yml" \
4646
-v local_bosh_release="${bosh_release_path}" \
47-
${@} > "${inner_bosh_dir}/bosh-director.yml"
47+
"${@}" > "${inner_bosh_dir}/bosh-director.yml"
4848

49-
bosh upload-stemcell ${stemcell}
49+
bosh upload-stemcell "${stemcell}"
5050

5151
deployment_name="--deployment=bosh"
5252
if [[ "${1}" = "--deployment="* ]]; then
@@ -64,12 +64,14 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
6464
bosh int "${inner_bosh_dir}/creds.yml" --path /jumpbox_ssh/private_key > "${inner_bosh_dir}/jumpbox_private_key.pem"
6565
chmod 600 "${inner_bosh_dir}/jumpbox_private_key.pem"
6666

67+
bosh_client_secret="$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)"
68+
6769
cat <<EOF > "${inner_bosh_dir}/bosh"
6870
#!/bin/bash
6971
7072
export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}"
7173
export BOSH_CLIENT=admin
72-
export BOSH_CLIENT_SECRET=`bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password`
74+
export BOSH_CLIENT_SECRET=${bosh_client_secret}
7375
export BOSH_CA_CERT="${inner_bosh_dir}/ca.crt"
7476
7577
$(which bosh) "\$@"

ci/dockerfiles/warden-cpi/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@ COPY local-releases.yml /usr/local/local-releases.yml
4141
COPY start-bosh.sh /usr/local/bin/start-bosh
4242
RUN chmod +x /usr/local/bin/start-bosh
4343

44-
COPY template-renderer.rb /tmp/template-renderer.rb
45-
COPY install-garden.rb /tmp/install-garden.rb
46-
RUN ruby /tmp/install-garden.rb /usr/local/releases/garden-runc.tgz
47-
4844
RUN mkdir -p /var/vcap/sys/log/warden_cpi/
49-
5045
RUN useradd -ms /bin/bash vcap
5146

47+
COPY template-renderer.rb /tmp/template-renderer.rb
48+
COPY install-garden.rb /tmp/install-garden.rb
49+
RUN ruby /tmp/install-garden.rb /usr/local/releases/garden-runc.tgz
5250
RUN rm -rf /tmp/*

ci/dockerfiles/warden-cpi/create-and-upload-release.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null
3535

3636
mkdir -p "${inner_bosh_dir}"
3737

38-
export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))"
38+
export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))"
3939

4040
bosh upload-release "$(bosh int bosh.yml -o misc/source-releases/bosh.yml --path /releases/name=bpm/url)" \
4141
--sha1 "$(bosh int bosh.yml -o misc/source-releases/bosh.yml --path /releases/name=bpm/sha1)"

ci/dockerfiles/warden-cpi/destroy-inner-bosh.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
5+
pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null
66
node_number=$1
77
inner_bosh_dir="/tmp/inner-bosh/director"
88
deployment_name="bosh"

ci/dockerfiles/warden-cpi/start-inner-bosh-parallel.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
set -eu
44

55
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
6-
src_dir="${script_dir}/../../../"
76
node_number=${1}
87

9-
pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
10-
inner_bosh_dir="/tmp/inner-bosh/director/$node_number"
11-
mkdir -p ${inner_bosh_dir}
8+
pushd "${BOSH_DEPLOYMENT_PATH}" > /dev/null
9+
inner_bosh_dir="/tmp/inner-bosh/director/${node_number}"
10+
mkdir -p "${inner_bosh_dir}"
1211

13-
export BOSH_DIRECTOR_IP="10.245.0.$((10+$node_number))"
12+
export BOSH_DIRECTOR_IP="10.245.0.$((10 + node_number))"
1413

1514
bosh int bosh.yml \
1615
-o bosh-lite.yml \
@@ -23,10 +22,10 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
2322
-o "${BOSH_DEPLOYMENT_PATH}/misc/source-releases/bosh.yml" \
2423
-o "$script_dir/latest-bosh-release.yml" \
2524
-o "$script_dir/deployment-name.yml" \
26-
-v deployment_name="bosh-$node_number" \
27-
${@:2} > "${inner_bosh_dir}/bosh-director.yml"
25+
-v deployment_name="bosh-${node_number}" \
26+
"${@:2}" > "${inner_bosh_dir}/bosh-director.yml"
2827

29-
bosh -n deploy -d "bosh-$node_number" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml"
28+
bosh -n deploy -d "bosh-${node_number}" "${inner_bosh_dir}/bosh-director.yml" --vars-store="${inner_bosh_dir}/creds.yml"
3029

3130
# set up inner director
3231
export BOSH_ENVIRONMENT="warden-inner-director-${node_number}"
@@ -38,13 +37,15 @@ pushd ${BOSH_DEPLOYMENT_PATH} > /dev/null
3837
bosh int "${inner_bosh_dir}/creds.yml" --path /jumpbox_ssh/private_key > "${inner_bosh_dir}/jumpbox_private_key.pem"
3938
chmod 600 "${inner_bosh_dir}/jumpbox_private_key.pem"
4039

40+
bosh_client_secret="$(bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password)"
41+
4142
cat <<EOF > "${inner_bosh_dir}/bosh"
4243
#!/bin/bash
4344
4445
export BOSH_CONFIG="${BOSH_CONFIG}"
4546
export BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}"
4647
export BOSH_CLIENT=admin
47-
export BOSH_CLIENT_SECRET=`bosh int "${inner_bosh_dir}/creds.yml" --path /admin_password`
48+
export BOSH_CLIENT_SECRET=${bosh_client_secret}
4849
export BOSH_CA_CERT="${inner_bosh_dir}/ca.crt"
4950
5051
$(which bosh) "\$@"

0 commit comments

Comments
 (0)