8157691517
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
163 lines
4.0 KiB
ReStructuredText
163 lines
4.0 KiB
ReStructuredText
::
|
|
|
|
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.
|