Finish the doc for developers
* Added package installation section * Cleaned up functional test setup Change-Id: I3ead97408a33daed8a9b430ef6b6569036f1e025 Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/5438 Reviewed-by: Kyle Schneider <kinnder@gmail.com> Reviewed-on: http://review.gluster.org/5491
This commit is contained in:
parent
c565b3b56c
commit
faad100cbf
@ -1,7 +1,5 @@
|
||||
# Developer Guide
|
||||
|
||||
## Contributing to the project
|
||||
|
||||
## Development Environment Setup
|
||||
The workflow for Gluster-Swift is largely based upon the
|
||||
[OpenStack Gerrit Workflow][].
|
||||
@ -13,8 +11,26 @@ an [SSH key][] to the website. This will allow you to upload
|
||||
changes to Gerrit. Follow the the information given
|
||||
at [GitHub Generating SSH Keys][] if you need help creating your key.
|
||||
|
||||
### Download the source
|
||||
The source for Gluster for Swift is available in Github. To download
|
||||
### Package Requirements
|
||||
|
||||
#### Fedora 19
|
||||
On Fedora 19 systems, type:
|
||||
|
||||
~~~
|
||||
sudo yum install gcc python-devel python-setuptools libffi-devel git rpm-build
|
||||
~~~
|
||||
|
||||
### Git Setup
|
||||
If this is your first time using git, you will need to setup the
|
||||
following configuration:
|
||||
|
||||
~~~
|
||||
git config --global user.name "Firstname Lastname"
|
||||
git config --global user.email "your_email@youremail.com"
|
||||
~~~
|
||||
|
||||
### Download the Source
|
||||
The source for Gluster for Swift is available in Github. To download
|
||||
type:
|
||||
|
||||
~~~
|
||||
@ -23,6 +39,13 @@ cd gluster-swift
|
||||
~~~
|
||||
|
||||
### Git Review
|
||||
Before installing pip, make sure you have pip installed. Install the
|
||||
python `pip` tool by executing the following command:
|
||||
|
||||
~~~
|
||||
sudo easy_install pip
|
||||
~~~
|
||||
|
||||
The tool `git review` is a simple tool to automate interaction with Gerrit.
|
||||
It is recommended to use this tool to upload, modify, and query changes in Gerrit.
|
||||
The tool can be installed by running the following command:
|
||||
@ -31,9 +54,9 @@ The tool can be installed by running the following command:
|
||||
sudo pip install git-review
|
||||
~~~
|
||||
|
||||
Note that while many distros offer a version of `git review`, they don't
|
||||
necessarily keep it up to date. Pip gives one the latest which
|
||||
often avoids problems with various Gerrit servers.
|
||||
While many Linux distributions offer a version of `git review`,
|
||||
they do not necessarily keep it up to date. Pip provides the latest version
|
||||
of the application which avoids problems with various versions of Gerrit.
|
||||
|
||||
You now need to setup `git review` to communicate with review.gluster.org.
|
||||
First, determine your `git review` setup by typing:
|
||||
@ -89,16 +112,16 @@ a meaningful name for the topic (e.g. feature_xyz)
|
||||
|
||||
### Quality Checking
|
||||
#### PEP8
|
||||
To test that the code adheres to the [PEP8][] specification, please
|
||||
type:
|
||||
To test that the code adheres to the Python [PEP8][] specification,
|
||||
please type:
|
||||
|
||||
~~~
|
||||
tox -e pep8
|
||||
~~~
|
||||
|
||||
#### Unit Tests
|
||||
You can run the unit tests after making your changes. To run the unit
|
||||
test suite in `tox` type the following as a non-root user:
|
||||
Once you have made your changes, you can test the quality of the code
|
||||
by executing the automated unit tests as follows:
|
||||
|
||||
~~~
|
||||
tox -e ENV
|
||||
@ -107,20 +130,24 @@ tox -e ENV
|
||||
where *ENV* is either `py27` for systems with Python 2.7+, or `py26` for
|
||||
systems with Python 2.6+.
|
||||
|
||||
If new functionality has been added, it is highly recommended that
|
||||
one or more tests be added to the automated unit test suite. Unit
|
||||
tests are available under the `test/unit` directory.
|
||||
|
||||
#### Functional Tests
|
||||
To run the functional tests the following requirements must be met.
|
||||
The automated functional tests only run on RPM based systems
|
||||
like Fedora/CentOS, etc. To run the functional tests, the following
|
||||
requirements must be met.
|
||||
|
||||
1) "/etc/swift" must not exist. So that test would not interfere with
|
||||
existing setup. Functional test would create "/etc/swift" and populate
|
||||
it with necessary configuration files.
|
||||
2) User need to have administrative access.
|
||||
2) "/mnt/gluster-object" directory must be created.
|
||||
3) Volumes named "test", "test2" should be created. (Gluster volume / XFS
|
||||
volume)
|
||||
4) Volumes should be mounted under "/mnt/gluster-object/test" and
|
||||
"/mnt/gluster-object/test2" respectively.
|
||||
1. `/etc/swift` must not exist.
|
||||
1. User needs to have `sudo` access; no password necessary
|
||||
1. `/mnt/gluster-object/test` and `/mn/gluster-object/test2` directories
|
||||
must be created on either an XFS or GlusterFS volume.
|
||||
1. glusterfs-openstack-swift RPM must not be installed on the system
|
||||
|
||||
Once the requirements have been met, you can now run the full functional
|
||||
tests using the following command:
|
||||
|
||||
####To run functional tests:
|
||||
~~~
|
||||
tools/functional_tests.sh
|
||||
~~~
|
||||
@ -188,18 +215,14 @@ git review
|
||||
|
||||
## Creating Distribution Packages
|
||||
|
||||
### Tools Installation
|
||||
TBD: For now please follow the installation instructions
|
||||
on the [GlusterFS Compiling RPMS][] page.
|
||||
|
||||
### Building RPMs for Fedora/RHEL/CentOS Systems
|
||||
Building RPMs. RPMs will be located in the *build* directory.
|
||||
|
||||
`$ bash makerpm.sh`
|
||||
|
||||
Building RPM with a specific release value, useful for automatic
|
||||
Jenkin builds, or keeping track of different versions of the
|
||||
RPM:
|
||||
Building the RPM with a specific release value is useful for
|
||||
automatic Jenkin builds, or keeping track of different versions
|
||||
of the RPM:
|
||||
|
||||
`$ PKG_RELEASE=123 bash makerpm.sh`
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user