Jump to: navigation, search

Difference between revisions of "XenServer/XenServer CI/AdminTips"

(XenServer CI Admin Tips)
Line 20: Line 20:
 
** Logs: /var/log/nodepool/nodepool.log,  /var/log/nodepool/debug.log
 
** Logs: /var/log/nodepool/nodepool.log,  /var/log/nodepool/debug.log
 
** (Re)start: killall nodepool; rm /var/run/nodepool/nodepool.pid; start nodepool
 
** (Re)start: killall nodepool; rm /var/run/nodepool/nodepool.pid; start nodepool
 +
 +
There are some bin files here:
 +
* osci-check-connection
 +
** checks to node, to xenserver, then logs uploaded to swift from both
 +
* osci-manage
 +
** what citrix-ci service runs
 +
** runs main lifecycle
 +
** can also manually add a job to the queue
 +
* osci-upload
 +
** upload logs from local host directory up to swift
 +
** called from osci-manage (via python not cli)
 +
* osci-watch-gerrit
 +
** what citrix-ci-gerrit-watch runs
 +
** reads gerrit stream and adds jobs to DB
 +
* osci-create-dbschema
 +
** creates job DB
 +
* osci-run-tests
 +
** e.g. osci-run-tests print user host ref
 +
** calls out to host to run tests
 +
** used (via python not cli) by osci-manage
 +
* osci-view
 +
** prints out the job DB in useful ways
 +
 +
 +
To report status:
 +
* osci-view is called and content uploaded to swift
 +
* /src/openstack-citrix-ci/upload-ci-status
  
 
==Useful commands==
 
==Useful commands==

Revision as of 10:52, 27 May 2014

Status

http://f0ab4dc4366795c303a0-8fd069087bab3f263c7f9ddd524fce42.r22.cf1.rackcdn.com/ci_status/results.html

XenServer CI Admin Tips

Auth is via ssh-keys, please request access in the XenAPI team meeting, if you want to help.

Main box:

  • 166.78.153.192

Services that should be running:

  • citrix-ci-gerritwatch: Watches the gerrit stream and adds jobs to the queue
    • Logs: /var/log/citrix-ci-gerritwatch.log
    • (Re)start: (re)start citrix-ci-gerritwatch
  • citrix-ci: Progresses jobs through the lifecycle (see below)
    • Logs: /var/log/citrix-ci.log
    • (Re)start: (re)start citrix-ci
  • nodepool: Provisions VMs to use in the tests
    • Logs: /var/log/nodepool/nodepool.log, /var/log/nodepool/debug.log
    • (Re)start: killall nodepool; rm /var/run/nodepool/nodepool.pid; start nodepool

There are some bin files here:

  • osci-check-connection
    • checks to node, to xenserver, then logs uploaded to swift from both
  • osci-manage
    • what citrix-ci service runs
    • runs main lifecycle
    • can also manually add a job to the queue
  • osci-upload
    • upload logs from local host directory up to swift
    • called from osci-manage (via python not cli)
  • osci-watch-gerrit
    • what citrix-ci-gerrit-watch runs
    • reads gerrit stream and adds jobs to DB
  • osci-create-dbschema
    • creates job DB
  • osci-run-tests
    • e.g. osci-run-tests print user host ref
    • calls out to host to run tests
    • used (via python not cli) by osci-manage
  • osci-view
    • prints out the job DB in useful ways


To report status:

  • osci-view is called and content uploaded to swift
  • /src/openstack-citrix-ci/upload-ci-status

Useful commands

  • osci-view list: Gives current queue, what is running etc. Shouldn't have jobs in here that are 'older' than 2 hours unless they are 'Finished'.
  • nodepool list: Gives a list of the currently available nodes. Should have some nodes that are 'Ready' or 'Building'
  • eval `ssh-agent`; ssh-add ~/.ssh/citrix_gerrit; osci-manage -c 12345/1; ssh-agent -k: Queue job 12345, patchset 1

VM lifecycle

  • Queued -> Running: citrix-ci job has got a new node from nodepool (nodepool list will show it as 'held')
  • Running -> Collecting: Job has finished; citrix-ci has changed state to Collecting - waiting on log collection thread
  • Collecting -> Collected: Log collection thread has posted logs to swift and updated job with logs URL
  • Collected -> Finished: Citrix-ci has posted to gerrit and the job is now complete
  • <anything> -> Obsolete: a new job for the same change (recheck or new patchset) has been added

Code