This spec proposes hosting refstack.org as part of the OpenStack infrastructure. RefStack is a test result collection and reporting service to support the reporting of deployed capabilities and the reporting of test results as part of the DefCore testing process. Change-Id: Iad4fed727bc090ba846850805ca7c49ea1d4df50
4.0 KiB
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 refstack.org and api.refstack.org on infra
https://storyboard.openstack.org/#!/story/2000277
The RefStack UI and API servers have matured to a point where the DefCore committee and Foundation staff feel it can be an OpenStack hosted project to collect and report voluntarily collected test results.
Problem Description
RefStack was conceived as a semi-anonymous test reporting tool to support the efforts of the DefCore committee. Vendors and users can use the refstack-client to anonymously upload results from test runs against cloud apis for reporting of widely deployed capabilities and verification of testing standards for the DefCore process.
As a board initiated and community supported process, RefStack is best hosted as a community resource.
Proposed Change
To begin with refstack can start with a simple deployment and host the front end ui and api on the same vm with a single ip. If traffic demands, refstack is fully capable of being load balanced.
- Allocate a virtual machine for website and api hosting with 2gb of ram.
- Edit DNS record to point refstack.org VM.
- Allocate trusted certificate for refstack.org
- Allocate a trove database instance, start with 5gb of disk and base level cpu.
- Create puppet modules do deploy RefStack. Modules will:
-
- Deploy RefStack UI webserver at https://refstack.org
- Deploy RefStack API webserver at https://refstack.org/api
- Import existing data from refstack.net. (david lenwell can provide)
Alternatives
Continue to self-host RefStack at http://refstack.net, unsecured and privately held.
Implementation
Assignee(s)
- Primary assignee:
-
Michael Krotcheck (krotcheck)
- Secondary asignees:
-
David Lenwell (davidlenwell) Chris Hoge (hogepodge)
Gerrit Topic
Use Gerrit topic "refstack" for all patches related to this spec.
git review -t refstack
Work Items
- Allocate TLS certificates for refstack.org.
- Allocate VM.
- Edit refstack.org to point to allocated VM.
- Write Puppet module to deploy refstack.org and database.
- Allocate trove database.
- Entry in infra trove database manifest needs to be created.
- Import existing database from refstack.net.
Repositories
- Refstack is hosted at stackforge/refstack.
- Puppet deployment prototype is hosted at https://github.com/krotscheck/puppet-refstack and will be relocated to infra.
Servers
A server to host refstack.org and will need to be created.
DNS Entries
refstack.org must point to the newly created server.
Documentation
RefStack documentation, for both deployment and usage, is located in the stackforge/refstack repository.
http://git.openstack.org/cgit/stackforge/refstack/tree/doc/refstack.md
Security
- The services will run on Ubuntu trusty
- Only TLS enabled connections will be allowed to refstack.org. (i.e. forward http traffic to https)
Testing
RefStack has continuous testing in place as part of standard OpenStack development processes. Failures and bugs identified in deployed code will be tested for and added to the continuous testing process.
Backup / recovery steps
Backup assets
Traditional backups like any other trove hosted infra database.
Invoke management commands
None
Stop apache
$ sudo service apache2 stop
Restore database dump
Standard MySQL database dump and restore.
Restart apache
$ sudo service apache2 restart
Dependencies
Dependencies are captured in the RefStack project, and will be managed by the puppet module.