Spec to host refstack.org in infra

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
This commit is contained in:
Chris Hoge 2015-06-03 16:19:34 -07:00 committed by David Lenwell
parent e2d5284ff4
commit 8157691517
2 changed files with 164 additions and 1 deletions

View File

@ -43,9 +43,10 @@ permits.
specs/nodepool-launch-workers
specs/nodepool-workers
specs/public_hiera
specs/shade
specs/puppet_4_prelim_testing
specs/puppet-module-functional-testing
specs/refstack_dot_org
specs/shade
specs/storyboard_integration_tests
specs/storyboard_story_tags
specs/storyboard_subscription_pub_sub

162
specs/refstack_dot_org.rst Normal file
View File

@ -0,0 +1,162 @@
::
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.
.. code-block:: bash
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
---------------------------------------
.. code-block:: bash
$ sudo service apache2 stop
Restore database dump
---------------------
Standard MySQL database dump and restore.
Restart apache
--------------
.. code-block:: bash
$ sudo service apache2 restart
Dependencies
============
Dependencies are captured in the RefStack project, and will be managed
by the puppet module.