Skip to content

Instantly share code, notes, and snippets.

@trentm
Last active May 31, 2018 05:17
Show Gist options
  • Save trentm/2abe2335f9997c511b683e67bd622d42 to your computer and use it in GitHub Desktop.
Save trentm/2abe2335f9997c511b683e67bd622d42 to your computer and use it in GitHub Desktop.

An example of running through https://github.com/joyent/joyent-repos/blob/master/README.md#how-to-use-jr-to-update-the-sdc-scripts-git-submodule-in-all-triton-repos for TRITON-380.

$ mkdir ~/tmp/triton-380
$ cd !$

Clone the relevant dirs:

$ jr clone -l triton,vm
Clone 30 repos into "/Users/trentm/joy/triton-380"? [y/N] y
cloned "binder" to "/Users/trentm/joy/triton-380/binder" (1s)
cloned "mahi" to "/Users/trentm/joy/triton-380/mahi" (1s)
cloned "moray" to "/Users/trentm/joy/triton-380/moray" (2s)
cloned "sdc-amon" to "/Users/trentm/joy/triton-380/sdc-amon" (2s)
cloned "sdc-assets" to "/Users/trentm/joy/triton-380/sdc-assets" (1s)
cloned "sdc-amonredis" to "/Users/trentm/joy/triton-380/sdc-amonredis" (1s)
cloned "sdc-cloud-analytics" to "/Users/trentm/joy/triton-380/sdc-cloud-analytics" (2s)
cloned "sdc-booter" to "/Users/trentm/joy/triton-380/sdc-booter" (3s)
cloned "sdc-cnapi" to "/Users/trentm/joy/triton-380/sdc-cnapi" (4s)
cloned "sdc-fwapi" to "/Users/trentm/joy/triton-380/sdc-fwapi" (2s)
cloned "sdc-adminui" to "/Users/trentm/joy/triton-380/sdc-adminui" (8s)
cloned "sdc-manatee" to "/Users/trentm/joy/triton-380/sdc-manatee" (1s)
cloned "sdc-manta" to "/Users/trentm/joy/triton-380/sdc-manta" (1s)
cloned "sdc-nat" to "/Users/trentm/joy/triton-380/sdc-nat" (1s)
cloned "sdc-imgapi" to "/Users/trentm/joy/triton-380/sdc-imgapi" (3s)
cloned "sdc-napi" to "/Users/trentm/joy/triton-380/sdc-napi" (2s)
cloned "sdc-nfsserver" to "/Users/trentm/joy/triton-380/sdc-nfsserver" (1s)
cloned "sdc-papi" to "/Users/trentm/joy/triton-380/sdc-papi" (1s)
cloned "sdc-portolan" to "/Users/trentm/joy/triton-380/sdc-portolan" (1s)
cloned "sdc-rabbitmq" to "/Users/trentm/joy/triton-380/sdc-rabbitmq" (1s)
cloned "sdc-docker" to "/Users/trentm/joy/triton-380/sdc-docker" (9s)
cloned "sdc-sapi" to "/Users/trentm/joy/triton-380/sdc-sapi" (1s)
cloned "sdc-sdc" to "/Users/trentm/joy/triton-380/sdc-sdc" (1s)
cloned "sdc-volapi" to "/Users/trentm/joy/triton-380/sdc-volapi" (1s)
cloned "sdc-cloudapi" to "/Users/trentm/joy/triton-380/sdc-cloudapi" (13s)
cloned "sdc-workflow" to "/Users/trentm/joy/triton-380/sdc-workflow" (1s)
cloned "sdc-vmapi" to "/Users/trentm/joy/triton-380/sdc-vmapi" (3s)
cloned "triton-cmon" to "/Users/trentm/joy/triton-380/triton-cmon" (1s)
cloned "sdc-ufds" to "/Users/trentm/joy/triton-380/sdc-ufds" (4s)
cloned "triton-cns" to "/Users/trentm/joy/triton-380/triton-cns" (1s)

Init the submodule in prep for updating it:

$ jr oneach 'git submodule update --init -- deps/sdc-scripts'
# sdc-amon
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/sdc-amon/deps/sdc-scripts'...

# mahi
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/mahi/deps/sdc-scripts'...

...

# triton-cmon
error: pathspec 'deps/sdc-scripts' did not match any file(s) known to git.

# triton-cns
error: pathspec 'deps/sdc-scripts' did not match any file(s) known to git.

# sdc-workflow
Submodule path 'deps/sdc-scripts': checked out 'bda632a69ff44114f9faf689a5cd4af1fe578d66'
Submodule 'deps/sdc-scripts' (https://github.com/joyent/sdc-scripts.git) registered for path 'deps/sdc-scripts'
Cloning into '/Users/trentm/tmp/triton-380/sdc-workflow/deps/sdc-scripts'...
jr oneach: error: first of 2 errors: exec error in repo "triton-cmon": exec "/bin/bash -c git submodule update --init -- deps/sdc-scripts": exited with status 1

Update to latest:

$ jr oneach 'cd deps/sdc-scripts && git checkout master'
...

cmon and cns use package.json instead of a git submodule:

vi triton-cmon/package.json
vi triton-cns/package.json

Check changes:

$ jr oneach 'git diff'
...

Prepare for creating a CR for each:

$ jr oneach 'grr TRITON-380'
# mahi
Adding "cr" git remote: [email protected]:joyent/mahi.git
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
Creating branch for CR: grr-TRITON-380

Make commits and run `grr` in this branch to create a CR.

...

# triton-cns
Adding "cr" git remote: [email protected]:joyent/triton-cns.git
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
Creating branch for CR: grr-TRITON-380

Make commits and run `grr` in this branch to create a CR.

Make the commit in each:

$ jr oneach 'git commit -am "update to latest sdc-scripts"'
# binder
[grr-TRITON-380 a2d0ac6] update to latest sdc-scripts
 1 file changed, 1 insertion(+), 1 deletion(-)

# sdc-amon
[grr-TRITON-380 36e000f] update to latest sdc-scripts
 1 file changed, 1 insertion(+), 1 deletion(-)
...

Make a gerrit CR for each:

$ jr oneach 'grr'                 # creates a CR
# mahi
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
New commits (1):
    61a71a4 update to latest sdc-scripts
Creating CR:
    ...
CR created: 4030 patchset 1 <https://cr.joyent.us/4030>

# sdc-amon
...

Get reviews. THen update the commit message on each CR:

$ jr oneach grr
# sdc-amonredis
Issue: TRITON-380 work around logadm.conf "/var/log/*.log" entry in newer origins to not lose logs
No new commits after b5155b73f863
Updating CR 4035 commit message:
    ...
CR commit message updated: 4035 patchset 2 <https://cr.joyent.us/4035>

...

Then submit each CR (this grr -s is incomplete and isn't commited yet):

$ jr oneach 'grr -s'
# sdc-adminui
Issue: undefined undefined
    $ ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 29418 [email protected] gerrit review --submit 4034,2
Submitted CR 4034 patchset 2 <https://cr.joyent.us/4034>
(You can delete this grr-* branch with `grr -D`.)

# sdc-cloud-analytics
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment