refstack/doc/refstack.md
Vladislav Kuzmin 4ab98f7d8e Create endpoint for listing of all uploads id without auth
Add new endpoint in refstack's API for listing uploads id,
their creation data and cpid.
Add pagination for results. Makes it possible to specify
number of page in url base_url/v1/results?page=<page number>
and other filtering parameters.
If page not specified, then by default page equals 1.
Add unit and functional tests.

Change-Id: Ie57df6b4c2607679b5d2746821b6753fc672d7c3
Implement: https://storyboard.openstack.org/#!/story/2000200
Implement: https://github.com/stackforge/refstack/blob/master/specs/proposed/test-record-api.rst
2015-04-03 17:27:12 +03:00

3.0 KiB
Executable File

Refstack Quickstart

####Install dependencies (on ubuntu 14.x)..

  • sudo apt-get install git python-dev libssl-dev python-setuptools

  • sudo apt-get install mysql-server python-mysqldb

  • sudo easy_install -U pip

  • sudo easy_install -U virtualenv

####Setup the refstack database

  • Log into MySQL: mysql -u root -p

  • After authentication, create the database:

    CREATE DATABASE refstack;

  • Create a refstack user:

    CREATE USER 'refstack'@'localhost' IDENTIFIED BY '<your password>';

    or using hash value for your password

    CREATE USER 'refstack'@'localhost' IDENTIFIED BY PASSWORD '<hash value of your password';

  • Grant privileges:

    GRANT ALL PRIVILEGES ON refstack . * TO 'refstack'@'localhost';

  • Reload privileges:

    FLUSH PRIVILEGES;

  • Exit MySQL: quit

####Git you clonin'

  • git clone http://github.com/stackforge/refstack

  • cd refstack

  • Creare virtual environment: virtualenv .venv --system-site-package

  • Source to virtual environment: source .venv/bin/activate

####Install Refstack application (on ubuntu 14.x)..

  • python setup.py install

####Configuration file preparation

  • Make a copy of the sample config and update it with the correct information of your environment. Example of config file with default values available in etc directory.

  • At the minimum the value of the connection field in the [database] section should be updated. For example, if the backend database is MySQL then update: #connection = <None> to connection = mysql://refstack:<your password>@x.x.x.x/refstack

####Database sync

  • Check current revision:

    refstack-manage --config-file /path/to/refstack.conf version

    The response will show the current database revision. If the revision is None (indicating a clear database), the following command should be performed to upgrade the database to the latest revision:

  • Upgrade database to latest revision:

    refstack-manage --config-file /path/to/refstack.conf upgrade --revision head

  • Check current revision:

    refstack-manage --config-file /path/to/refstack.conf version

    Now it should be 42278d6179b9.

####Start Refstack

For the most basic setup that you can try right now, just kick off gunicorn:

  • refstack-api --env REFSTACK_OSLO_CONFIG=/path/to/refstack.conf

Now available:

  • http://localhost:8000/ with JSON response {'Root': 'OK'};

  • http://localhost:8000/v1/results with response JSON including records consisted of , and of the test runs. The default response is limited to one page of the most recent uploaded test run records. The number of records per page is configurable via the Refstack configuration file. Filtering parameters such as page, start_date, end_date ... can also be used to specify the desired records. For example: get http://localhost:8000/v1/results?page=n will return page n of the data.

  • http://localhost:8000/v1/results/ with response JSON including the detail test results of the specified