3.0 KiB
3.0 KiB
CI Status Tool
Used for a quick stats collection on Third Party CIs for various OpenStack projects.
Example usage:
$ ./ci-status.py -v -u datera-ci \\
-k /home/user/.ssh/id_rsa \\
-c "Datera CI" -a datera-dsvm-full -t 2 \\
-j openstack/cinder \\
--failures --number-of-reports --is-reporting \\
--jenkins_disagreement
Output:
Gerrit Query: ssh -i /home/user/.ssh/id_rsa -p 29418 dater
a-ci@review.openstack.org "gerrit query --format=JSON --comments --current-
patch-set project:openstack/cinder NOT age:2d reviewer:Datera CI "
##### DATERA-DSVM-FULL #####
####### --number-of-reports arg result #######
40 results in 2 days
###### --is-reporting arg result #######
Review: 263026 --> 2016-07-07T17:02:15+00:00
###### --failures arg result #######
20% failures
###### --jenkins-disagreement arg result #######
0% -1 Jenkins && +1 CI
20% +1 Jenkins && -1 CI
Minimal usage:
$ ./ci-status.py -u datera-ci -k /home/user/.ssh/id_rsa \\
-j openstack/cinder -c "Datera CI" -a datera-dsvm-full \\
--is-reporting
Output:
##### DATERA-DSVM-FULL #####
Review: 263026 --> 2016-07-07T17:02:15+00:00
Passthrough query usage:
$ ./ci-status.py -u datera-ci -k /home/user/.ssh/id_rsa \\
-q "reviewer:{Some Body} -j openstack/cinder"
Output:
Will be a large dictionary
Config example:
# In .gerritqueryrc file in your $HOME directory
# (or passed in via config option)
[DEFAULT]
verbose=True
host=review.openstack.org
username=datera-ci
port=29418
query_project=openstack/cinder
keyfile=/home/user/.ssh/id_rsa
# I would not recommend putting any other flags into this config
# file otherwise you could introduce silent errors
# For example:
# Adding these fields
ci_account=datera-ci
ci_runner_name=datera-dsvm-full
# Then running this command
# $ ./ci-status.py -c mellanox-ci --is-reporting
# Would report a false negative for Datera. A CI
# will show as non-reporting if you provide the
# ci_account name of one CI and the ci_runner_name of
# a different CI. The tool has no way to tell that
# these values do not belong together and will just
# report that the CI has not posted within the specified
# timeframe.
The "--all" flag:
# In order to use this flag, you must first run this command:
$ ./ci-status.py --scrape-wiki --force -j openstack/your_project
# It will fill your .gerritquerycache file with information about
# the various CIs for your desired OpenStack project
# Now you're free to run commands with the --all flag
$ ./ci-status -j openstack/you_project --all --is-reporting