bosh-gen 0.16.2 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +13 -5
- data/.rspec +3 -0
- data/.travis.yml +16 -0
- data/ChangeLog.md +110 -89
- data/Gemfile +7 -1
- data/Guardfile +4 -8
- data/README.md +52 -22
- data/Rakefile +10 -0
- data/bosh-gen.gemspec +7 -5
- data/lib/bosh/gen/cli.rb +20 -28
- data/lib/bosh/gen/generators/job_generator.rb +9 -10
- data/lib/bosh/gen/generators/job_generator/templates/jobs/%job_name%_simple/templates/bin/%job_name%_ctl.tt +5 -5
- data/lib/bosh/gen/generators/new_release_generator.rb +63 -68
- data/lib/bosh/gen/generators/new_release_generator/templates/jobs/%project_name_hyphenated%/templates/bin/%job_name%_ctl.tt +5 -5
- data/lib/bosh/gen/generators/new_release_generator/templates/jobs/%project_name_hyphenated%/templates/data/properties.sh.erb +6 -0
- data/lib/bosh/gen/generators/new_release_generator/templates/templates/infrastructure-aws-ec2.yml.tt +7 -5
- data/lib/bosh/gen/generators/new_release_generator/templates/templates/infrastructure-warden.yml.tt +3 -4
- data/lib/bosh/gen/generators/new_release_generator/templates/templates/jobs.yml.tt +3 -0
- data/lib/bosh/gen/generators/new_release_generator/templates/templates/make_manifest.tt +18 -2
- data/lib/bosh/gen/generators/new_release_generator/templates/templates/stub.yml.tt +2 -1
- data/lib/bosh/gen/settings.rb +61 -0
- data/lib/bosh/gen/version.rb +1 -1
- data/spec/fixtures/deployment_manifests/2_jobs_1_ip_8196_disk_with_numeric.yml +64 -0
- data/spec/fixtures/releases/s3test-boshrelease/.gitignore +18 -0
- data/spec/fixtures/releases/s3test-boshrelease/README.md +51 -0
- data/spec/fixtures/releases/s3test-boshrelease/Rakefile +15 -0
- data/spec/fixtures/releases/s3test-boshrelease/config/blobs.yml +1 -0
- data/spec/fixtures/releases/s3test-boshrelease/config/final.yml +5 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/.gitkeep +0 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/monit +5 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/spec +13 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/bin/monit_debugger +13 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/bin/s3test_ctl +36 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/config/.gitkeep +0 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/config/s3test.conf.erb +5 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/data/properties.sh.erb +10 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/helpers/ctl_setup.sh +81 -0
- data/spec/fixtures/releases/s3test-boshrelease/jobs/s3test/templates/helpers/ctl_utils.sh +156 -0
- data/spec/fixtures/releases/s3test-boshrelease/packages/.gitkeep +0 -0
- data/spec/fixtures/releases/s3test-boshrelease/src/.gitkeep +0 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/deployment.yml +35 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/infrastructure-aws-ec2.yml +40 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/infrastructure-warden.yml +107 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/jobs.yml +30 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/make_manifest +54 -0
- data/spec/fixtures/releases/s3test-boshrelease/templates/stub.yml +13 -0
- data/spec/generators/deployment_manifest_generator_spec.rb +19 -14
- data/spec/generators/{jobs/webapp_job_generator_spec.rb → job_generator_spec.rb} +8 -13
- data/spec/generators/new_release_generator_spec.rb +70 -0
- data/spec/models/bosh_config_spec.rb +3 -3
- data/spec/models/deployment_manifest_spec.rb +16 -6
- data/spec/models/release_detection_spec.rb +6 -6
- data/spec/spec_helper.rb +27 -7
- data/spec/support/fog.rb +3 -0
- data/spec/{generators → support}/generator_spec_helper.rb +47 -6
- metadata +105 -36
- data/spec/models/extract_spec.rb +0 -10
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e # exit immediately if a simple command exits with a non-zero status
|
4
|
+
set -u # report the usage of uninitialized variables
|
5
|
+
|
6
|
+
# Setup env vars and folders for the webapp_ctl script
|
7
|
+
source /var/vcap/jobs/s3test/helpers/ctl_setup.sh 's3test'
|
8
|
+
|
9
|
+
export PORT=${PORT:-5000}
|
10
|
+
export LANG=en_US.UTF-8
|
11
|
+
|
12
|
+
case $1 in
|
13
|
+
|
14
|
+
start)
|
15
|
+
pid_guard $PIDFILE $JOB_NAME
|
16
|
+
|
17
|
+
# TODO: Run some process
|
18
|
+
exec chpst -u vcap:vcap TODO \
|
19
|
+
>>$LOG_DIR/$JOB_NAME.stdout.log \
|
20
|
+
2>>$LOG_DIR/$JOB_NAME.stderr.log
|
21
|
+
|
22
|
+
# store pid in $PIDFILE
|
23
|
+
echo $! > $PIDFILE
|
24
|
+
;;
|
25
|
+
|
26
|
+
stop)
|
27
|
+
kill_and_wait $PIDFILE
|
28
|
+
|
29
|
+
;;
|
30
|
+
*)
|
31
|
+
echo "Usage: s3test_ctl {start|stop}"
|
32
|
+
|
33
|
+
;;
|
34
|
+
|
35
|
+
esac
|
36
|
+
exit 0
|
File without changes
|
@@ -0,0 +1,5 @@
|
|
1
|
+
# Example of how to do one thing when job is master/leader, and another thing if its follower/slave
|
2
|
+
# See templates/infrastructure-warden.yml & templates/jobs.yml for where this value originates
|
3
|
+
<% if_p("s3test.leader_address") do |leader_address| %>
|
4
|
+
leader: <%= leader_address %>
|
5
|
+
<% end %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# job template binding variables
|
4
|
+
|
5
|
+
# job name & index of this VM within cluster
|
6
|
+
# e.g. JOB_NAME=redis, JOB_INDEX=0
|
7
|
+
export NAME='<%= name %>'
|
8
|
+
export JOB_INDEX=<%= index %>
|
9
|
+
# full job name, like redis/0 or webapp/3
|
10
|
+
export JOB_FULL="$NAME/$JOB_INDEX"
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# Setup env vars and folders for the ctl script
|
4
|
+
# This helps keep the ctl script as readable
|
5
|
+
# as possible
|
6
|
+
|
7
|
+
# Usage options:
|
8
|
+
# source /var/vcap/jobs/foobar/helpers/ctl_setup.sh JOB_NAME OUTPUT_LABEL
|
9
|
+
# source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar
|
10
|
+
# source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar foobar
|
11
|
+
# source /var/vcap/jobs/foobar/helpers/ctl_setup.sh foobar nginx
|
12
|
+
|
13
|
+
set -e # exit immediately if a simple command exits with a non-zero status
|
14
|
+
set -u # report the usage of uninitialized variables
|
15
|
+
|
16
|
+
JOB_NAME=$1
|
17
|
+
output_label=${1:-JOB_NAME}
|
18
|
+
|
19
|
+
export JOB_DIR=/var/vcap/jobs/$JOB_NAME
|
20
|
+
chmod 755 $JOB_DIR # to access file via symlink
|
21
|
+
|
22
|
+
# Load some bosh deployment properties into env vars
|
23
|
+
# Try to put all ERb into data/properties.sh.erb
|
24
|
+
# incl $NAME, $JOB_INDEX, $WEBAPP_DIR
|
25
|
+
source $JOB_DIR/data/properties.sh
|
26
|
+
|
27
|
+
source $JOB_DIR/helpers/ctl_utils.sh
|
28
|
+
redirect_output ${output_label}
|
29
|
+
|
30
|
+
export HOME=${HOME:-/home/vcap}
|
31
|
+
|
32
|
+
# Add all packages' /bin & /sbin into $PATH
|
33
|
+
for package_bin_dir in $(ls -d /var/vcap/packages/*/*bin)
|
34
|
+
do
|
35
|
+
export PATH=${package_bin_dir}:$PATH
|
36
|
+
done
|
37
|
+
|
38
|
+
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-''} # default to empty
|
39
|
+
for package_bin_dir in $(ls -d /var/vcap/packages/*/lib)
|
40
|
+
do
|
41
|
+
export LD_LIBRARY_PATH=${package_bin_dir}:$LD_LIBRARY_PATH
|
42
|
+
done
|
43
|
+
|
44
|
+
# Setup log, run and tmp folders
|
45
|
+
|
46
|
+
export RUN_DIR=/var/vcap/sys/run/$JOB_NAME
|
47
|
+
export LOG_DIR=/var/vcap/sys/log/$JOB_NAME
|
48
|
+
export TMP_DIR=/var/vcap/sys/tmp/$JOB_NAME
|
49
|
+
export STORE_DIR=/var/vcap/store/$JOB_NAME
|
50
|
+
for dir in $RUN_DIR $LOG_DIR $TMP_DIR $STORE_DIR
|
51
|
+
do
|
52
|
+
mkdir -p ${dir}
|
53
|
+
chown vcap:vcap ${dir}
|
54
|
+
chmod 775 ${dir}
|
55
|
+
done
|
56
|
+
export TMPDIR=$TMP_DIR
|
57
|
+
|
58
|
+
export C_INCLUDE_PATH=/var/vcap/packages/mysqlclient/include/mysql:/var/vcap/packages/sqlite/include:/var/vcap/packages/libpq/include
|
59
|
+
export LIBRARY_PATH=/var/vcap/packages/mysqlclient/lib/mysql:/var/vcap/packages/sqlite/lib:/var/vcap/packages/libpq/lib
|
60
|
+
|
61
|
+
# consistent place for vendoring python libraries within package
|
62
|
+
if [[ -d ${WEBAPP_DIR:-/xxxx} ]]
|
63
|
+
then
|
64
|
+
export PYTHONPATH=$WEBAPP_DIR/vendor/lib/python
|
65
|
+
fi
|
66
|
+
|
67
|
+
if [[ -d /var/vcap/packages/java7 ]]
|
68
|
+
then
|
69
|
+
export JAVA_HOME="/var/vcap/packages/java7"
|
70
|
+
fi
|
71
|
+
|
72
|
+
# setup CLASSPATH for all jars/ folders within packages
|
73
|
+
export CLASSPATH=${CLASSPATH:-''} # default to empty
|
74
|
+
for java_jar in $(ls -d /var/vcap/packages/*/*/*.jar)
|
75
|
+
do
|
76
|
+
export CLASSPATH=${java_jar}:$CLASSPATH
|
77
|
+
done
|
78
|
+
|
79
|
+
PIDFILE=$RUN_DIR/$JOB_NAME.pid
|
80
|
+
|
81
|
+
echo '$PATH' $PATH
|
@@ -0,0 +1,156 @@
|
|
1
|
+
# Helper functions used by ctl scripts
|
2
|
+
|
3
|
+
# links a job file (probably a config file) into a package
|
4
|
+
# Example usage:
|
5
|
+
# link_job_file_to_package config/redis.yml [config/redis.yml]
|
6
|
+
# link_job_file_to_package config/wp-config.php wp-config.php
|
7
|
+
link_job_file_to_package() {
|
8
|
+
source_job_file=$1
|
9
|
+
target_package_file=${2:-$source_job_file}
|
10
|
+
full_package_file=$WEBAPP_DIR/${target_package_file}
|
11
|
+
|
12
|
+
link_job_file ${source_job_file} ${full_package_file}
|
13
|
+
}
|
14
|
+
|
15
|
+
# links a job file (probably a config file) somewhere
|
16
|
+
# Example usage:
|
17
|
+
# link_job_file config/bashrc /home/vcap/.bashrc
|
18
|
+
link_job_file() {
|
19
|
+
source_job_file=$1
|
20
|
+
target_file=$2
|
21
|
+
full_job_file=$JOB_DIR/${source_job_file}
|
22
|
+
|
23
|
+
echo link_job_file ${full_job_file} ${target_file}
|
24
|
+
if [[ ! -f ${full_job_file} ]]
|
25
|
+
then
|
26
|
+
echo "file to link ${full_job_file} does not exist"
|
27
|
+
else
|
28
|
+
# Create/recreate the symlink to current job file
|
29
|
+
# If another process is using the file, it won't be
|
30
|
+
# deleted, so don't attempt to create the symlink
|
31
|
+
mkdir -p $(dirname ${target_file})
|
32
|
+
ln -nfs ${full_job_file} ${target_file}
|
33
|
+
fi
|
34
|
+
}
|
35
|
+
|
36
|
+
# If loaded within monit ctl scripts then pipe output
|
37
|
+
# If loaded from 'source ../utils.sh' then normal STDOUT
|
38
|
+
redirect_output() {
|
39
|
+
SCRIPT=$1
|
40
|
+
mkdir -p /var/vcap/sys/log/monit
|
41
|
+
exec 1>> /var/vcap/sys/log/monit/$SCRIPT.log
|
42
|
+
exec 2>> /var/vcap/sys/log/monit/$SCRIPT.err.log
|
43
|
+
}
|
44
|
+
|
45
|
+
pid_guard() {
|
46
|
+
pidfile=$1
|
47
|
+
name=$2
|
48
|
+
|
49
|
+
if [ -f "$pidfile" ]; then
|
50
|
+
pid=$(head -1 "$pidfile")
|
51
|
+
|
52
|
+
if [ -n "$pid" ] && [ -e /proc/$pid ]; then
|
53
|
+
echo "$name is already running, please stop it first"
|
54
|
+
exit 1
|
55
|
+
fi
|
56
|
+
|
57
|
+
echo "Removing stale pidfile..."
|
58
|
+
rm $pidfile
|
59
|
+
fi
|
60
|
+
}
|
61
|
+
|
62
|
+
wait_pid() {
|
63
|
+
pid=$1
|
64
|
+
try_kill=$2
|
65
|
+
timeout=${3:-0}
|
66
|
+
force=${4:-0}
|
67
|
+
countdown=$(( $timeout * 10 ))
|
68
|
+
|
69
|
+
echo wait_pid $pid $try_kill $timeout $force $countdown
|
70
|
+
if [ -e /proc/$pid ]; then
|
71
|
+
if [ "$try_kill" = "1" ]; then
|
72
|
+
echo "Killing $pidfile: $pid "
|
73
|
+
kill $pid
|
74
|
+
fi
|
75
|
+
while [ -e /proc/$pid ]; do
|
76
|
+
sleep 0.1
|
77
|
+
[ "$countdown" != '0' -a $(( $countdown % 10 )) = '0' ] && echo -n .
|
78
|
+
if [ $timeout -gt 0 ]; then
|
79
|
+
if [ $countdown -eq 0 ]; then
|
80
|
+
if [ "$force" = "1" ]; then
|
81
|
+
echo -ne "\nKill timed out, using kill -9 on $pid... "
|
82
|
+
kill -9 $pid
|
83
|
+
sleep 0.5
|
84
|
+
fi
|
85
|
+
break
|
86
|
+
else
|
87
|
+
countdown=$(( $countdown - 1 ))
|
88
|
+
fi
|
89
|
+
fi
|
90
|
+
done
|
91
|
+
if [ -e /proc/$pid ]; then
|
92
|
+
echo "Timed Out"
|
93
|
+
else
|
94
|
+
echo "Stopped"
|
95
|
+
fi
|
96
|
+
else
|
97
|
+
echo "Process $pid is not running"
|
98
|
+
echo "Attempting to kill pid anyway..."
|
99
|
+
kill $pid
|
100
|
+
fi
|
101
|
+
}
|
102
|
+
|
103
|
+
wait_pidfile() {
|
104
|
+
pidfile=$1
|
105
|
+
try_kill=$2
|
106
|
+
timeout=${3:-0}
|
107
|
+
force=${4:-0}
|
108
|
+
countdown=$(( $timeout * 10 ))
|
109
|
+
|
110
|
+
if [ -f "$pidfile" ]; then
|
111
|
+
pid=$(head -1 "$pidfile")
|
112
|
+
if [ -z "$pid" ]; then
|
113
|
+
echo "Unable to get pid from $pidfile"
|
114
|
+
exit 1
|
115
|
+
fi
|
116
|
+
|
117
|
+
wait_pid $pid $try_kill $timeout $force
|
118
|
+
|
119
|
+
rm -f $pidfile
|
120
|
+
else
|
121
|
+
echo "Pidfile $pidfile doesn't exist"
|
122
|
+
fi
|
123
|
+
}
|
124
|
+
|
125
|
+
kill_and_wait() {
|
126
|
+
pidfile=$1
|
127
|
+
# Monit default timeout for start/stop is 30s
|
128
|
+
# Append 'with timeout {n} seconds' to monit start/stop program configs
|
129
|
+
timeout=${2:-25}
|
130
|
+
force=${3:-1}
|
131
|
+
if [[ -f ${pidfile} ]]
|
132
|
+
then
|
133
|
+
wait_pidfile $pidfile 1 $timeout $force
|
134
|
+
else
|
135
|
+
# TODO assume $1 is something to grep from 'ps ax'
|
136
|
+
pid="$(ps auwwx | grep "$1" | awk '{print $2}')"
|
137
|
+
wait_pid $pid 1 $timeout $force
|
138
|
+
fi
|
139
|
+
}
|
140
|
+
|
141
|
+
check_nfs_mount() {
|
142
|
+
opts=$1
|
143
|
+
exports=$2
|
144
|
+
mount_point=$3
|
145
|
+
|
146
|
+
if grep -qs $mount_point /proc/mounts; then
|
147
|
+
echo "Found NFS mount $mount_point"
|
148
|
+
else
|
149
|
+
echo "Mounting NFS..."
|
150
|
+
mount $opts $exports $mount_point
|
151
|
+
if [ $? != 0 ]; then
|
152
|
+
echo "Cannot mount NFS from $exports to $mount_point, exiting..."
|
153
|
+
exit 1
|
154
|
+
fi
|
155
|
+
fi
|
156
|
+
}
|
File without changes
|
File without changes
|
@@ -0,0 +1,35 @@
|
|
1
|
+
meta:
|
2
|
+
environment: (( merge ))
|
3
|
+
stemcell: (( merge ))
|
4
|
+
|
5
|
+
name: (( meta.environment ))
|
6
|
+
|
7
|
+
director_uuid: (( merge ))
|
8
|
+
|
9
|
+
releases: (( merge ))
|
10
|
+
|
11
|
+
networks: (( merge ))
|
12
|
+
|
13
|
+
jobs: (( merge ))
|
14
|
+
|
15
|
+
properties: (( merge ))
|
16
|
+
|
17
|
+
compilation:
|
18
|
+
workers: 6
|
19
|
+
network: s3test1
|
20
|
+
reuse_compilation_vms: true
|
21
|
+
cloud_properties: (( merge ))
|
22
|
+
|
23
|
+
update:
|
24
|
+
canaries: 1
|
25
|
+
max_in_flight: 1
|
26
|
+
canary_watch_time: 30000-60000
|
27
|
+
update_watch_time: 5000-60000
|
28
|
+
serial: false
|
29
|
+
|
30
|
+
resource_pools:
|
31
|
+
- name: small_z1
|
32
|
+
network: s3test1
|
33
|
+
size: (( auto ))
|
34
|
+
stemcell: (( meta.stemcell ))
|
35
|
+
cloud_properties: (( merge ))
|
@@ -0,0 +1,40 @@
|
|
1
|
+
meta:
|
2
|
+
environment: (( merge ))
|
3
|
+
dns_root: (( merge ))
|
4
|
+
security_groups: (( merge ))
|
5
|
+
network_name: (( merge ))
|
6
|
+
|
7
|
+
stemcell:
|
8
|
+
name: bosh-aws-xen-ubuntu
|
9
|
+
version: latest
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
- name: s3test_leader_z1
|
13
|
+
instances: 1
|
14
|
+
networks:
|
15
|
+
- name: (( meta.network_name ))
|
16
|
+
- name: s3test_z1
|
17
|
+
instances: 2
|
18
|
+
networks:
|
19
|
+
- name: (( meta.network_name ))
|
20
|
+
properties:
|
21
|
+
s3test:
|
22
|
+
leader_address: (( "0.s3test-leader-z1.s3test1." meta.environment "." meta.dns_root ))
|
23
|
+
|
24
|
+
compilation:
|
25
|
+
cloud_properties:
|
26
|
+
instance_type: m1.small
|
27
|
+
|
28
|
+
resource_pools:
|
29
|
+
- name: small_z1
|
30
|
+
cloud_properties:
|
31
|
+
instance_type: m1.small
|
32
|
+
|
33
|
+
networks:
|
34
|
+
- name: floating
|
35
|
+
type: vip
|
36
|
+
cloud_properties: {}
|
37
|
+
- name: (( meta.network_name ))
|
38
|
+
type: dynamic
|
39
|
+
cloud_properties:
|
40
|
+
security_groups: (( meta.security_groups ))
|
@@ -0,0 +1,107 @@
|
|
1
|
+
meta:
|
2
|
+
environment: s3test-warden
|
3
|
+
network_name: (( merge ))
|
4
|
+
|
5
|
+
stemcell:
|
6
|
+
name: bosh-warden-boshlite-ubuntu
|
7
|
+
version: latest
|
8
|
+
|
9
|
+
update:
|
10
|
+
canaries: 1
|
11
|
+
max_in_flight: 50
|
12
|
+
canary_watch_time: 1000-30000
|
13
|
+
update_watch_time: 1000-30000
|
14
|
+
|
15
|
+
jobs:
|
16
|
+
- name: s3test_leader_z1
|
17
|
+
instances: 1
|
18
|
+
networks:
|
19
|
+
- name: (( meta.network_name ))
|
20
|
+
static_ips: (( static_ips(0) ))
|
21
|
+
- name: s3test_z1
|
22
|
+
instances: 2
|
23
|
+
networks:
|
24
|
+
- name: (( meta.network_name ))
|
25
|
+
static_ips: ~
|
26
|
+
properties:
|
27
|
+
s3test:
|
28
|
+
leader_address: (( jobs.s3test_leader_z1.networks.s3test1.static_ips.[0] ))
|
29
|
+
|
30
|
+
compilation:
|
31
|
+
cloud_properties:
|
32
|
+
name: random
|
33
|
+
|
34
|
+
resource_pools:
|
35
|
+
- name: small_z1
|
36
|
+
cloud_properties:
|
37
|
+
name: random
|
38
|
+
|
39
|
+
networks:
|
40
|
+
- name: (( meta.network_name ))
|
41
|
+
# Assumes up to 5 VMs, including 1 static and 4 dynamic.
|
42
|
+
# Plus 5 (double the size) unused IPs, due to BOSH bug/quirk.
|
43
|
+
subnets:
|
44
|
+
- cloud_properties:
|
45
|
+
name: random
|
46
|
+
range: 10.244.2.0/30
|
47
|
+
reserved:
|
48
|
+
- 10.244.2.1
|
49
|
+
static:
|
50
|
+
- 10.244.2.2
|
51
|
+
|
52
|
+
- cloud_properties:
|
53
|
+
name: random
|
54
|
+
range: 10.244.2.4/30
|
55
|
+
reserved:
|
56
|
+
- 10.244.2.5
|
57
|
+
static: []
|
58
|
+
- cloud_properties:
|
59
|
+
name: random
|
60
|
+
range: 10.244.2.8/30
|
61
|
+
reserved:
|
62
|
+
- 10.244.2.9
|
63
|
+
static: []
|
64
|
+
- cloud_properties:
|
65
|
+
name: random
|
66
|
+
range: 10.244.2.12/30
|
67
|
+
reserved:
|
68
|
+
- 10.244.2.13
|
69
|
+
static: []
|
70
|
+
- cloud_properties:
|
71
|
+
name: random
|
72
|
+
range: 10.244.2.16/30
|
73
|
+
reserved:
|
74
|
+
- 10.244.2.17
|
75
|
+
static: []
|
76
|
+
|
77
|
+
# Bonus double-sized network required due to BOSH oddity
|
78
|
+
- cloud_properties:
|
79
|
+
name: random
|
80
|
+
range: 10.244.2.20/30
|
81
|
+
reserved:
|
82
|
+
- 10.244.2.21
|
83
|
+
static: []
|
84
|
+
- cloud_properties:
|
85
|
+
name: random
|
86
|
+
range: 10.244.2.24/30
|
87
|
+
reserved:
|
88
|
+
- 10.244.2.25
|
89
|
+
static: []
|
90
|
+
- cloud_properties:
|
91
|
+
name: random
|
92
|
+
range: 10.244.2.28/30
|
93
|
+
reserved:
|
94
|
+
- 10.244.2.29
|
95
|
+
static: []
|
96
|
+
- cloud_properties:
|
97
|
+
name: random
|
98
|
+
range: 10.244.2.32/30
|
99
|
+
reserved:
|
100
|
+
- 10.244.2.33
|
101
|
+
static: []
|
102
|
+
- cloud_properties:
|
103
|
+
name: random
|
104
|
+
range: 10.244.2.36/30
|
105
|
+
reserved:
|
106
|
+
- 10.244.2.37
|
107
|
+
static: []
|