aboutsummaryrefslogtreecommitdiffstats
path: root/build/packages/make_onos.sh
blob: 74c8969f935e07e2cc7f24cb475c6739d951b3c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################

WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)

source $WORK_PATH/build/build.conf

mkdir -p $WORK_PATH/work/repo/packages/onos
for i in repository.tar jdk-8u51-linux-x64.tar.gz; do
    curl --connect-timeout $TIMEOUT -o $WORK_PATH/work/repo/packages/onos/$i $PACKAGE_URL/$i
done

git  clone https://gerrit.opnfv.org/gerrit/onosfw  $WORK_PATH/work/repo/temp/onosfw

pushd .
cd $WORK_PATH/work/repo/temp/onosfw/
. autobuild.sh $WORK_PATH/work/repo/packages/onos
popd
ing from teuthology.orchestra import run from teuthology import misc from teuthology.exceptions import ConfigError from teuthology.task import Task from util import get_remote_for_role log = logging.getLogger(__name__) class RBDMirror(Task): """ Run an rbd-mirror daemon to sync rbd images between clusters. This requires two clients (one from each cluster) on the same host to connect with. The pool configuration should be adjusted by later test scripts to include the remote client and cluster name. This task just needs to know how to connect to the local cluster. For example: roles: - [primary.mon.a, primary.osd.0, primary.osd.1, primary.osd.2] - [secondary.mon.a, secondary.osd.0, secondary.osd.1, secondary.osd.2] - [primary.client.mirror, secondary.client.mirror] tasks: - ceph: cluster: primary - ceph: cluster: secondary - rbd-mirror: client: primary.client.mirror To mirror back to the primary cluster as well, add another rbd_mirror instance: - rbd-mirror: client: secondary.client.mirror Possible options for this task are: client: role - ceph client to connect as valgrind: [--tool=<valgrind tool>] - none by default coverage: bool - whether this run may be collecting coverage data """ def __init__(self, ctx, config): super(RBDMirror, self).__init__(ctx, config) self.log = log def setup(self): super(RBDMirror, self).setup() try: self.client = self.config['client'] except KeyError: raise ConfigError('rbd-mirror requires a client to connect with') self.cluster_name, type_, self.client_id = misc.split_role(self.client) if type_ != 'client': msg = 'client role ({0}) must be a client'.format(self.client) raise ConfigError(msg) self.remote = get_remote_for_role(self.ctx, self.client) def begin(self): super(RBDMirror, self).begin() testdir = misc.get_testdir(self.ctx) daemon_signal = 'kill' if 'coverage' in self.config or 'valgrind' in self.config: daemon_signal = 'term' args = [ 'adjust-ulimits', 'ceph-coverage', '{tdir}/archive/coverage'.format(tdir=testdir), 'daemon-helper', daemon_signal, ] if 'valgrind' in self.config: args = misc.get_valgrind_args( testdir, 'rbd-mirror-{id}'.format(id=self.client), args, self.config.get('valgrind') ) args.extend([ 'rbd-mirror', '--foreground', '--cluster', self.cluster_name, '--id', self.client_id, ]) self.ctx.daemons.add_daemon( self.remote, 'rbd-mirror', self.client, cluster=self.cluster_name, args=args, logger=self.log.getChild(self.client), stdin=run.PIPE, wait=False, ) def end(self): mirror_daemon = self.ctx.daemons.get_daemon('rbd-mirror', self.client, self.cluster_name) mirror_daemon.stop() super(RBDMirror, self).end() task = RBDMirror