Copyright 2015 OpenStack Foundation This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode
Host a CI systems monitoring dashboard¶
We need a way to be able to quickly see if a CI system is failing, or passing incorrectly, any given patch pushed to gerrit for review. As a service to our developers and project communities, we need to provide a service that does this gathering and display of CI system status.
- There is no convenient place where you can:
If you are an operator, gage how well your system is doing;
which patches your CI commented on or missed, with the result;
which jobs are unstable;
upstream jenkins health.
If you are a developer, establish a level of trust so you can better focus your time on code;
get a quick indication of a third-party CI past history.
If you are a PTL: see who’s got CI and who doesn’t;
Note: This list is not complete, and this spec is not aimed at properly defining the requirements.
Deploy an existing dashboard that offers enough functionality to cover basic third-party CI monitoring requirements. This dashboard is called CI Watch, and the source code can be found at https://git.openstack.org/cgit/openstack-infra/ciwatch
We would create a puppet module to deploy the CI Watch dashboard and serve it from a dedicated virtual machine under care of the OpenStack Infrastructure Project. A proof-of-concept deployment is running at http://ci-watch.tintri.com/project?project=nova
- Primary assignee:
Use Gerrit topic “ci-dashboard” for all patches related to this spec.
git-review -t ci-dashboard
Initiate a change in
openstack-infra/project-configto create an empty
openstack-infra/puppet-ciwatchGit repository as described in the Repository Creator’s Guide. This should be accompanied by a related change to
openstack/governanceadding the new repo as part of the Infrastructure project.
Create a new
ciwatchPuppet module in
openstack-infra/puppet-ciwatchwhich enables an opinionated and working deployment of the service. Existing
openstack-infra/puppet-.*should be examined for inspiration and consistency.
A change will be proposed to the
openstack-infra/system-configGit repo lightly documenting deployment and management of the service and adding that document to the
doc/source/index.rstfile. Examples in the
doc/sourcedirectory can be used for inspiration and consistency of style. This same change can also add a
ci-dashboard.openstack.orgnode to the global
manifests/site.ppfile along with (if needed) a
modules/openstack_project/manifests/ci-dashboard.ppclass file and any accompanying custom config files or templates.
Deployment of the above changes will be performed by a root admin onto a new
ci-dashboard.openstack.orgserver, and related A, AAAA and PTR resource records will be created in DNS for it.
Create a launchpad account
ci-dashboardfor listening to the gerrit system ssh stream as described in the Developer’s Guide.
If necessary, use of the service can be documented in the
openstack-infra/infra-manualrepo as well.
openstack-infra/puppet-ciwatch Git repo will be created as part
of this plan.
ci-dashboard.openstack.org server will be added.
A, AAAA and PTR resource records will be created for the
The service’s deployment and management will be documented in the
openstack-infra/system-config repo, published to the
http://docs.openstack.org/infra/system-config/ site. Optionally, use
of the service can be documented in the Infrastructure
This is not a trusted service, needs no authentication for normal use, and it runs on its own dedicated virtual machine. HTTPS should not be necessary for this service, so no X.509 certificate will be ordered.
The configuration management for this service will be tested via existing apply/syntax CI jobs.