From: "Jan-Simon Möller" <dl9pf@gmx.de>
To: fuego@lists.linuxfoundation.org
Cc: "'Bird, Timothy'" <Tim.Bird@sony.com>
Subject: Re: [Fuego] Fuego's version up and other changes
Date: Wed, 01 Feb 2017 00:15:41 +0100 [thread overview]
Message-ID: <2787487.KsR9eGO5q9@elrond> (raw)
In-Reply-To: <003001d27b65$2d0c2650$872472f0$@toshiba.co.jp>
[-- Attachment #1: Type: text/plain, Size: 4484 bytes --]
Hi Daniel, Tim, * !
v2: now complete and w/o thick finger.
I've setup an instance of the -next branch and I'm using and working on it right now.
Let me add a few notes and observations:
* I like the create-job / delete-job and the node scripts. They simplify
things a lot.
* A extension to this approach IMHO would be the use of jenkins-job-builder.
The beauty of this is that we do not have to deal with the xml ourselves.
Instead we define yaml files and let jjb create the necessary xml.
Another plus is that such an approach would also allow ppl to add
the testcases to an *existing* jenkins using the jjb templates.
Let me illustrate this with a jump-start example:
Installation of jjb (in fuego container):
$ cd ~/
$ sudo apt-get install python-pip
$ sudo pip install jenkins-job-builder
# should be 1.6.x
$ cat <<EOF > jjb-conf.ini
[job_builder]
ignore_cache=True
keep_descriptions=False
include_path=.:scripts:~/git/
recursive=True
[jenkins]
#user=
#password=
url=http://localhost:8080/fuego
##### This is deprecated, use job_builder section instead
#ignore_cache=True
query_plugins_info=False
EOF
$ mkdir jjb
$ cd jjb/
$ mkdir testjob
$ cat <<EOF > testjob/testjob.yaml
- project:
name: fuego-tests-smoke
testplan:
- smoke
machine:
- raspberrypi3
testname:
- Benchmark.Dhrystone
- Benchmark.IOzone
- Functional.hello_world
- Functional.ipv6connect
- Functional.stress
jobs:
- fuego-{machine}-{testplan}-batch
- fuego-{machine}-{testplan}-{testname}
- job-template:
name: fuego-{machine}-{testplan}-batch
project-type: freestyle
concurrent: false
node: master
builders:
- shell: 'echo "Run Orchestrator hook - action to enable board"'
- shell: 'echo "Next section should also be autogenerated - just dont know the kong-fu, yet."'
- trigger-builds:
- project: fuego-{machine}-{testplan}-Benchmark.Dhrystone
current-parameters: true
block: true
- project: fuego-{machine}-{testplan}-Benchmark.IOzone
current-parameters: true
block: true
- project: fuego-{machine}-{testplan}-Functional.hello_world
current-parameters: true
block: true
- project: fuego-{machine}-{testplan}-Functional.ipv6connect
current-parameters: true
block: true
- project: fuego-{machine}-{testplan}-Functional.stress
current-parameters: true
block: true
- conditional-step:
condition-kind: always
steps:
- shell: 'echo "Run orchestrator hook - action do disable board"'
- job-template:
name: 'fuego-{machine}-{testplan}-{testname}'
project-type: freestyle
concurrent: false
node: '{machine}'
builders:
- shell: |
export Reboot=false
export Rebuild=true
export Target_Cleanup=true
export TESTDIR={testname} # yep, mixed up testname here with testdir and vice-versa. anyway.
export TESTNAME=$(echo "{testname}" | sed -e "s#.*\.##")
export DISTRIB="{{distrib}}"
export TESTPLAN="{testplan}"
timeout --signal=9 10m /bin/bash $FUEGO_CORE/engine/tests/${{TESTDIR}}/${{TESTNAME}}.sh
EOF
$ jenkins-jobs --conf jjb-conf.ini test -r testjob/
# to create the jobs within jenkins:$ jenkins-jobs --conf jjb-conf.ini update -r testjob/
The idea would be that fuego-core would provide the scripts and the yaml file in the same git.
While running tests I also found:
- we need to split the build of the test and the postprocessing to be run separately
-- this is b/c it is not useful to keep to board waiting on us all the time.
- Integration of board up/down could happen in a few ways:
-- Either ppl should just generate a wrapper around the (blocking) batch job and trigger it
with their pre/post to their needs. Done.
-- Or we allow hooks like the current "TARGET_SETUP_LINK" and amend it with a matching "TARGET_TEARDOWN_LINK"
- If a model like the "TARGET_SETUP_LINK" is used, we add a delay here as this call must block until the board is up.
In this case our predifined timeouts are bogus as they track not just the test run, but all processing.
Thats my 0,02 - please comment.
Best,
--
--
Jan-Simon Möller
dl9pf@gmx.de
[-- Attachment #2: Type: text/html, Size: 22225 bytes --]
next prev parent reply other threads:[~2017-01-31 23:15 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-11 0:28 [Fuego] RFC: Fuego's version up and other changes Daniel Sangorrin
2017-01-12 5:51 ` Ibe.Kengo
2017-01-12 6:44 ` Daniel Sangorrin
2017-01-12 8:15 ` Ibe.Kengo
2017-01-12 8:45 ` Daniel Sangorrin
2017-01-12 9:04 ` Ibe.Kengo
2017-01-12 9:18 ` Daniel Sangorrin
2017-01-13 1:02 ` Bird, Timothy
2017-01-13 1:29 ` Daniel Sangorrin
2017-01-13 1:37 ` Bird, Timothy
2017-01-13 1:45 ` Daniel Sangorrin
2017-01-13 1:57 ` Bird, Timothy
2017-01-13 2:05 ` Daniel Sangorrin
2017-01-13 3:34 ` Bird, Timothy
2017-01-13 4:36 ` Daniel Sangorrin
2017-01-20 0:53 ` [Fuego] " Bird, Timothy
2017-01-20 7:09 ` Daniel Sangorrin
2017-01-28 2:14 ` Bird, Timothy
2017-01-31 1:56 ` Daniel Sangorrin
2017-01-31 20:54 ` Jan-Simon Möller
2017-02-02 1:25 ` Bird, Timothy
2017-02-02 5:49 ` Daniel Sangorrin
2017-02-02 9:50 ` Jan-Simon Möller
2017-01-31 23:15 ` Jan-Simon Möller [this message]
2017-02-01 0:56 ` Daniel Sangorrin
2017-02-01 10:46 ` Jan-Simon Möller
2017-02-02 1:57 ` Bird, Timothy
2017-02-02 6:06 ` Daniel Sangorrin
2017-02-03 1:04 ` Daniel Sangorrin
2017-02-13 3:51 ` Daniel Sangorrin
2017-02-14 19:55 ` Bird, Timothy
2017-02-15 18:39 ` Kevin Hilman
2017-02-02 9:57 ` Jan-Simon Möller
2017-02-02 5:45 ` Daniel Sangorrin
2017-02-02 1:35 ` Bird, Timothy
2017-02-02 5:52 ` Daniel Sangorrin
2017-02-02 10:04 ` Jan-Simon Möller
2017-02-02 20:51 ` Kevin Hilman
2017-02-02 22:16 ` Bird, Timothy
2017-02-02 23:37 ` Kevin Hilman
2017-02-04 0:07 ` Jan-Simon Möller
2017-02-07 1:56 ` Daniel Sangorrin
2017-02-02 1:17 ` Bird, Timothy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2787487.KsR9eGO5q9@elrond \
--to=dl9pf@gmx.de \
--cc=Tim.Bird@sony.com \
--cc=fuego@lists.linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.