~abentley/juju-ci-tools/client-from-config-4

« back to all changes in this revision

Viewing changes to per-test-streams.bash

  • Committer: Martin Packman
  • Date: 2015-11-17 14:19:06 UTC
  • mto: This revision was merged to the branch mainline in revision 1155.
  • Revision ID: martin.packman@canonical.com-20151117141906-a4zmuqre72s7fyf1
Sample script for generating image streams for rackspace

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/bin/bash
2
2
set -eux
3
 
streams_url=$1
4
 
s3_url=$2
5
 
revision_build=$3
6
 
NEW_VERSION=$4
7
 
OLD_VERSION=$5
 
3
s3_url=$1
 
4
revision_build=$2
 
5
NEW_VERSION=$3
 
6
OLD_VERSION=$4
8
7
s3_params="--config $HOME/cloud-city/juju-qa.s3cfg -P"
9
 
stream=revision-build-$revision_build
10
 
streams_subjson=$streams_url/streams/v1/com.ubuntu.juju-$stream-tools.json
11
8
 
12
9
export PATH=$HOME/juju-release-tools:$PATH
13
 
content_id="com.ubuntu.juju:$stream:tools"
14
 
sstream-query --json $streams_subjson \
 
10
content_id="com.ubuntu.juju:revision-build-$revision_build:tools"
 
11
sstream-query --json $HOME/new-streams/testing/streams/v1/index2.json \
15
12
  "version~($OLD_VERSION|$NEW_VERSION)" content_id=$content_id \
16
13
  release='trusty' arch='amd64'\
17
14
  | sed "s/$content_id/com.ubuntu.juju:released:tools/" > released-streams.json
18
 
sstream-query --json $streams_subjson "version~($NEW_VERSION)" \
19
 
  content_id=$content_id release='trusty' arch='amd64'\
 
15
sstream-query --json $HOME/new-streams/testing/streams/v1/index2.json \
 
16
  "version~($NEW_VERSION)" content_id=$content_id \
 
17
  release='trusty' arch='amd64'\
20
18
  | sed "s/$content_id/com.ubuntu.juju:devel:tools/" > devel-streams.json
21
19
json2streams --juju-format released-streams.json devel-streams.json \
22
20
  test-streams
23
 
agents=$(sstream-query $streams_subjson \
24
 
  "version~($OLD_VERSION|$NEW_VERSION)" content_id=$content_id \
25
 
  release='trusty' arch='amd64' --output-format='%(path)s ')
26
 
for path in $agents; do
27
 
  url=$streams_url/$path
28
 
  filename=$(basename $path)
29
 
  curl $url -o $filename
30
 
  s3cmd put $filename $s3_url/$path $s3_params
 
21
agents=$(sstream-query test-streams/streams/v1/index.json \
 
22
         --output-format="%(path)s"|sort|uniq)
 
23
for agent in $agents; do
 
24
  parent=$(dirname $agent)
 
25
  if [ $parent = 'agent' ]; then
 
26
    source=root
 
27
  else
 
28
    source=testing
 
29
  fi
 
30
  s3cmd sync $HOME/new-streams/$source/$agent $s3_url/$parent/ $s3_params
31
31
done
32
32
s3cmd sync test-streams/ $s3_url/ $s3_params