~juju-qa/juju-ci-tools/trunk

« back to all changes in this revision

Viewing changes to per-test-streams.bash

  • Committer: Aaron Bentley
  • Date: 2016-03-03 19:23:08 UTC
  • mto: This revision was merged to the branch mainline in revision 1308.
  • Revision ID: aaron.bentley@canonical.com-20160303192308-ivqalc79jfq0h85p
Use http streams instead of local disk to create per-test streams.

Show diffs side-by-side

added added

removed removed

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