From 88215bb2e327d512d39734bdd4645a8c286d6861 Mon Sep 17 00:00:00 2001 From: matthewbodkin <matthew.bodkin@codethink.co.uk> Date: Tue, 16 Aug 2016 12:09:49 +0000 Subject: [PATCH] Fix docs so it is easy to understand Make optional commands obvious Add new commands Delete commands that don't work or are confusing Wrap at 80 characters so it is easy to read in a terminal Change-Id: If5cd6226afc9a5533a3e949a73a30edad0d76450 --- doc/source/install/development.rst | 62 +++++++++++++++++------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/doc/source/install/development.rst b/doc/source/install/development.rst index 55fd827d..e10b6b9e 100644 --- a/doc/source/install/development.rst +++ b/doc/source/install/development.rst @@ -9,6 +9,9 @@ Javascript-based web client. Installing and Upgrading the API server ======================================= +NOTE: If you are using a Virtual Machine (VM), all commands that begin with +``tox`` will need to be preceeded by ``sudo``. + 1. To start the API server, make sure you have the following packages installed locally: @@ -20,6 +23,7 @@ Installing and Upgrading the API server sudo apt-get update sudo apt-get install libpq-dev libmysqlclient-dev python-dev + sudo apt-get mysql-server-5.6 #Here you will be asked to set a password mysql --version @@ -29,7 +33,11 @@ Installing and Upgrading the API server cd storyboard -3. Add MySQL user and create database:: +3. Add MySQL user and create database: + + NOTE: You will need to replace the ``$DB_USER`` with ``root`` and the + ``$DB_PASSWORD`` with the password you set when you ran + ``sudo apt-get mysql-server-5.6`` in step 1:: mysql -u $DB_USER -p$DB_PASSWORD -e 'DROP DATABASE IF EXISTS storyboard;' mysql -u $DB_USER -p$DB_PASSWORD -e 'CREATE DATABASE storyboard;' @@ -40,12 +48,16 @@ Installing and Upgrading the API server cp ./etc/storyboard.conf.sample ./etc/storyboard.conf -5. Edit ``./etc/storyboard.conf`` and set the ``connection`` parameter in - the ``[database]`` section as per instructions in comments above that - parameter in the storyboard.conf file. +5. Edit ``./etc/storyboard.conf`` and in the ``oauth`` section, add your IP + Adress to the list of ``valid_oauth_clients``. Then in the ``database`` + section, on the line which reads + ``# connection = mysql+pymysql://root:pass@127.0.0.1:3306/storyboard``, + replace the ``pass`` with your password (the same as used in the above + steps). On both of these lines you will need to remove the ``#``. -6. Install the correct version of tox. Latest tox has a bug. https://bugs.launchpad.net/openstack-ci/+bug/1274135:: +6. Install the correct version of tox. Latest tox has a bug. + https://bugs.launchpad.net/openstack-ci/+bug/1274135:: pip install --upgrade "tox>=1.6,<1.7" @@ -63,24 +75,17 @@ Installing and Upgrading the API server Installing the Javascript-based web client ========================================== -1. To build and start the web client, you will need either of these - dependency sets installed locally: - * *Option 1:* +1. To build and start the web client, you will need this dependency set + installed locally: * Python 2.6 or 2.7 * NodeJS v0.10.29 or newer * NPM v1.3.10 or newer (Ubuntu Trusty packages are sufficient, even though they indicate an older - version. MySQL must be >= 5.6. ) + version. MySQL must be >= 5.6.) - * *Option 2:* - - * GCC 4.2 or newer - * Python 2.6 or 2.7 - * GNU Make 3.81 or newer - * libexecinfo (FreeBSD and OpenBSD only) 2. Clone storyboard:: @@ -88,18 +93,22 @@ Installing the Javascript-based web client cd storyboard-webclient -3. Run a local development server, which uses the localhost API:: +Do one of the following that applies to you: + + 3a. Run a local development server, which uses the localhost API:: tox -egrunt_no_api -- serve +or... -4. Run a local development server, which binds to a specific IP and + 3b. Run a local development server, which binds to a specific IP and consumes the localhost API:: tox -egrunt_no_api -- serve --hostname 0.0.0.0 +or... -5. Run a local development server, which uses the production API:: + 3c. Run a local development server, which uses the production API:: tox -egrunt_no_api -- serve:prod @@ -110,13 +119,13 @@ Make user an admin - current bug Once logged into the webclient, this user needs to be set to admin manually due to a current bug in Storyboard. -1. Ensure that you have logged into your Storyboard instance at least once so that your - user details are stored in the database. +1. Ensure that you have logged into your Storyboard instance at least once so + that your user details are stored in the database. -2. Run mysql and change your user to superadmin: +2. Run mysql and change your user to superadmin:: mysql -u root -p - mysql> use storyboard; + use storyboard; update users set is_superuser=1; @@ -127,11 +136,12 @@ StoryBoard has certain server dependencies which are often complicated to install on any development environment. To simplify this, we've provided a vagrantfile which includes all required services. -The vagrant machine will handle mysql and rabbitmq (and set them up automatically) -however be aware that it is not set up for actually running the api in the vagrant vm. +The vagrant machine will handle mysql and rabbitmq (and set them up +automatically) however be aware that it is not set up for actually running the +api in the vagrant vm. -Using the vagrant machine is useful because you can run the test suite against the -database it provides. +Using the vagrant machine is useful because you can run the test suite against +the database it provides. 1. Install [vagrant](https://www.vagrantup.com/) 2. Install [VirtualBox](https://www.virtualbox.org/)