diff --git a/doc/source/development.rst b/doc/source/development.rst new file mode 100644 index 00000000..9c4c2316 --- /dev/null +++ b/doc/source/development.rst @@ -0,0 +1,114 @@ +Developement environment +================================= + +Vagrant environment +------------------- + +Currently for development we are using Vagrant. + +Additional software +~~~~~~~~~~~~~~~~~~~ + +`VirtualBox `_ 5.x, +`Vagrant `_ 1.7.4 or higher + +Note: Make sure that `Vagrant VirtualBox Guest plugin +`_ is installed + +.. code-block:: bash + + vagrant plugin install vagrant-vbguest + +Note: If you are using VirtualBox 5.0 on Linux system, it's worth uncommenting +paravirtprovider setting in `vagrant-settings.yaml` for speed improvements: + +.. code-block:: bash + + paravirtprovider: kvm + +For details see `Customizing vagrant-settings.yaml`_ section. + +Setup development env +~~~~~~~~~~~~~~~~~~~~~ + +Setup environment: + +.. code-block:: bash + + git clone https://github.com/openstack/solar + cd solar + vagrant up + +Login into vm, the code is available in /vagrant directory + +.. code-block:: bash + + vagrant ssh + solar --help + +Get ssh details for running slave nodes (vagrant/vagrant): + +.. code-block:: bash + + vagrant ssh-config + +You can make/restore snapshots of boxes (this is way faster than reprovisioning +them) +with the `snapshotter.py` script: + +.. code-block:: bash + + ./snapshotter.py take -n my-snapshot + ./snapshotter.py show + ./snapshotter.py restore -n my-snapshot + +`snapshoter.py` to run requires python module `click`. + +* On debian based systems you can install it via + `sudo aptitude install python-click-cli`, +* On fedora 22 you can install it via `sudo dnf install python-click`, +* If you use virtualenv or similar tool then you can install it just with + `pip install click`, +* If you don't have virtualenv and your operating system does not provide + package for it then `sudo pip install click`. +* If you don't have `pip` then + [install it](https://pip.pypa.io/en/stable/installing/) and then execute + command step 4. + +Customizing vagrant-settings.yaml +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Solar is shipped with sane defaults in `vagrant-setting.yaml_defaults`. If you +need to adjust them for your needs, e.g. changing resource allocation for +VirtualBox machines, you should just copy the file to `vagrant-setting.yaml` +and make your modifications. + +Image based provisioning with Solar +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* In `vagrant-setting.yaml_defaults` or `vagrant-settings.yaml` file uncomment + `preprovisioned: false` line. +* Run `vagrant up`, it will take some time because it builds image for + bootstrap and IBP images. +* Now you can run provisioning + `/vagrant/solar-resources/examples/provisioning/provision.sh` + +To develop Solar we use Vagrant + +Contribution +------------ + +To track development process we are using Launchpad. To see on what we are +currently working check `Series and milestones `_. + +Submiting patches +~~~~~~~~~~~~~~~~~ + +We are using OpenStack infrastructure to track code changes which is using +Gerrit. To see all proposed changes go to `Solar panel `_ + +Reporting bugs +~~~~~~~~~~~~~~ + +To trach bugs we are using Launchpad. You can see all Solar bugs +`here `_ diff --git a/doc/source/index.rst b/doc/source/index.rst index ba479323..58cf637f 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -14,6 +14,7 @@ Contents: installation usage tutorials/index + development glossary architecture resource diff --git a/doc/source/installation.rst b/doc/source/installation.rst index afaf312f..264eb25d 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -1,109 +1,14 @@ Installation ============ -Please note that currently Solar is in a beta stage and it shouldn't be used on -production. +Please note that currently Solar is in a beta stage and it shouldn't be used in +production environments. -We also recommend testing Solar in a vagrant env where fully working development +We also recommend testing Solar using a vagrant where fully working development environment will be created. If you want to try Solar outside Vagrant jump to `Local environment`_ -Supported development platforms -------------------------------- - -Linux or MacOS - -Vagrant environment -------------------- - -Additional software -~~~~~~~~~~~~~~~~~~~ - -`VirtualBox `_ 5.x, -`Vagrant `_ 1.7.4 or higher - -Note: Make sure that `Vagrant VirtualBox Guest plugin -`_ is installed - -.. code-block:: bash - - vagrant plugin install vagrant-vbguest - -Note: If you are using VirtualBox 5.0 on Linux system, it's worth uncommenting -paravirtprovider setting in `vagrant-settings.yaml` for speed improvements: - -.. code-block:: bash - - paravirtprovider: kvm - -For details see `Customizing vagrant-settings.yaml`_ section. - -Setup development env -~~~~~~~~~~~~~~~~~~~~~ - -Setup environment: - -.. code-block:: bash - - git clone https://github.com/openstack/solar - cd solar - vagrant up - -Login into vm, the code is available in /vagrant directory - -.. code-block:: bash - - vagrant ssh - solar --help - -Get ssh details for running slave nodes (vagrant/vagrant): - -.. code-block:: bash - - vagrant ssh-config - -You can make/restore snapshots of boxes (this is way faster than reprovisioning -them) -with the `snapshotter.py` script: - -.. code-block:: bash - - ./snapshotter.py take -n my-snapshot - ./snapshotter.py show - ./snapshotter.py restore -n my-snapshot - -`snapshoter.py` to run requires python module `click`. - -* On debian based systems you can install it via - `sudo aptitude install python-click-cli`, -* On fedora 22 you can install it via `sudo dnf install python-click`, -* If you use virtualenv or similar tool then you can install it just with - `pip install click`, -* If you don't have virtualenv and your operating system does not provide - package for it then `sudo pip install click`. -* If you don't have `pip` then - [install it](https://pip.pypa.io/en/stable/installing/) and then execute - command step 4. - -Customizing vagrant-settings.yaml -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Solar is shipped with sane defaults in `vagrant-setting.yaml_defaults`. If you -need to adjust them for your needs, e.g. changing resource allocation for -VirtualBox machines, you should just copy the file to `vagrant-setting.yaml` -and make your modifications. - -Image based provisioning with Solar -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* In `vagrant-setting.yaml_defaults` or `vagrant-settings.yaml` file uncomment - `preprovisioned: false` line. -* Run `vagrant up`, it will take some time because it builds image for - bootstrap and IBP images. -* Now you can run provisioning - `/vagrant/solar-resources/examples/provisioning/provision.sh` - Local environment -----------------