Skip to content

Commit 77a015d

Browse files
pronoiactjvman
authored andcommitted
First draft of notes on creating a new stemcell line
[#150179423](https://www.pivotaltracker.com/story/show/150179423) Signed-off-by: Tom Viehman <[email protected]>
1 parent fbc0bac commit 77a015d

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

docs/new_stemcell_line.md

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Creating a new stemcell line
2+
3+
### Creating the new stemcells:
4+
1. Get on the current `HEAD` of `bosh-linux-stemcell-builder/master`.
5+
1. Bump agent and blobstore clients (currently davcli, s3cli, gcscli - see Further References) to their latest versions on `master`
6+
1. Bump os-images for `master`.
7+
1. Build a stemcell in the `bosh:stemcells` pipeline, inform DK when it's passed CI so that he can publish it.
8+
9+
10+
### Cutting the pipelines:
11+
*Below, replace `9999.x` with the stemcell version that was published from master pipeline.*
12+
13+
#### Stemcells and OS Images
14+
1. Create a new branch in `bosh-linux-stemcell-builder` named `9999.x`
15+
1. Using the version of the published stemcell, create a new lastpass note for that stemcell line (include version in the name, see pre-existing notes)
16+
1. Change the `stemcell_branch` value to `9999.x`.
17+
1. Change the `stemcell_version_key` value to `bosh-stemcell/version-9999.x`
18+
1. Change the `stemcell_version_semver_bump` value to `minor`
19+
1. Disregard: ~~Change the `fly` command to refer to the `9999.x` branch, `9999.x` note, and `9999.x` pipeline (or delete that command, we have configure scripts).~~ *Moved to configure.sh*
20+
1. Create a new note for `concourse:production pipeline:os-images:9999.x` - copy & paste the previous branch `concourse:production pipeline:os-images` into a new secure note, in Shared Folder "Shared-BOSH Core (Pivotal Only)".
21+
1. Update the `branch` value.
22+
1. Update the `configure.sh` scripts to create `bosh:os-image:9999.x` and `bosh:stemcell:9999.x` pipelines, using the note(s) for 9999.x.
23+
1. Log in to the `bosh core os images stemcells` AWS account. Go into the `bosh-core-stemcells-candidate` bucket, then the `bosh-stemcell` folder.
24+
1. Locally, `echo -n 9999.0.0 > version-9999.x`. Upload that file. (We do this because the file cannot contain newlines.)
25+
1. Push changes to the branch.
26+
1. Run the configure scripts: `ci/configure.sh` & `ci/os-images/configure.sh`
27+
1. That creates os-image and stemcell pipelines; check them to make sure that they're pointing to the right repos, branches, and version file.
28+
2. You can unpause those pipelines. `stemcells:9999.x` will kick off a build.
29+
30+
#### Bosh-Agent
31+
*Below, replace `A.B.x` with the agent version that was shipped with the new stemcells, which can be found in `stemcell_builder/stages/bosh_go_agent/apply.sh`*
32+
33+
##### Agent versioning details
34+
* No pipeline bumps the major version.
35+
* The bosh-agent pipeline (which pulls from `develop`) bumps the minor version - A.*B*.x.
36+
* The bosh-agent:A.B.x pipeline (which pulls from branch `A.B.x`) will bump the *patch* - A.B.*1*, .2, etc.
37+
38+
##### Creating the pipeline
39+
1. Create a new agent branch `A.B.x` (replace with the agent version that was used in the 9999.x stemcell)
40+
1. Copy the pipeline YAML and configure.sh scripts from the previous agent patch branch.
41+
1. In configure.sh, update the pipeline name and `--var` flags.
42+
1. Create a new agent pipeline titled `bosh-agent:A.B.x`.
43+
44+
### Further references
45+
* [spreadsheet with context, links, and directions](https://docs.google.com/spreadsheets/d/11LgvmuR-XxXpKB-UVi91FL0nkITGhoB-G1NHPwfnweo/edit#gid=0) - not open to everyone, probably
46+
* [BOSH DavCLI Repo](https://github.com/cloudfoundry/bosh-davcli)
47+
* [BOSH S3CLI Repo](https://github.com/cloudfoundry/bosh-s3cli)
48+
* [BOSH GCSCLI Repo](https://github.com/cloudfoundry/bosh-gcscli)

0 commit comments

Comments
 (0)