Update README and add TESTING similar to Zuul repo

It looks like the nodepool README has lagged behind on updates
since the release of Zuul v3, so we update it with similar
content and also add a TESTING file with verified content.

Change-Id: I6923a532e3a702def0595998ea2fab5c067da2fe
This commit is contained in:
Jesse Pretorius 2018-07-10 13:30:27 +01:00
parent 03b7b4baef
commit 045d5d73b5
2 changed files with 95 additions and 50 deletions

View File

@ -1,71 +1,58 @@
Nodepool Nodepool
======== ========
Nodepool is a service used by the OpenStack CI team to deploy and manage a pool Nodepool is a system for managing test node resources. It supports launching
of devstack images on a cloud server for use in OpenStack project testing. single-use test nodes from cloud providers as well as managing access to
pre-defined pre-existing nodes. Nodepool is part of a suite of tools that form
a comprehensive test system, including Zuul.
Developer setup The latest documentation for Nodepool is published at:
=============== https://zuul-ci.org/docs/nodepool/
Make sure you have pip installed: The latest documentation for Zuul is published at:
https://zuul-ci.org/docs/zuul/
.. code-block:: bash Getting Help
------------
wget https://bootstrap.pypa.io/get-pip.py There are two Zuul-related mailing lists:
sudo python get-pip.py
Install dependencies: `zuul-announce <http://lists.zuul-ci.org/cgi-bin/mailman/listinfo/zuul-announce>`_
A low-traffic announcement-only list to which every Zuul operator or
power-user should subscribe.
.. code-block:: bash `zuul-discuss <http://lists.zuul-ci.org/cgi-bin/mailman/listinfo/zuul-discuss>`_
General discussion about Zuul, including questions about how to use
it, and future development.
sudo pip install bindep You will also find Zuul developers in the `#zuul` channel on Freenode
sudo apt-get install $(bindep -b nodepool) IRC.
mkdir src Contributing
cd ~/src ------------
git clone git://git.openstack.org/openstack-infra/system-config
git clone git://git.openstack.org/openstack-infra/nodepool
cd nodepool
sudo pip install -U -r requirements.txt
sudo pip install -e .
If you're testing a specific patch that is already in gerrit, you will also To browse the latest code, see: https://git.zuul-ci.org/cgit/nodepool/tree/
want to install git-review and apply that patch while in the nodepool To clone the latest code, use `git clone https://git.zuul-ci.org/nodepool`
directory, ie:
.. code-block:: bash Bugs are handled at: https://storyboard.openstack.org/#!/project/679
git review -x XXXXX Code reviews are handled by gerrit at https://review.openstack.org
After creating a Gerrit account, use `git review` to submit patches.
Example::
Create or adapt a nodepool yaml file. You can adapt an infra/system-config one, or # Do your commits
fake.yaml as desired. Note that fake.yaml's settings won't Just Work - consult $ git review
./modules/openstack_project/templates/nodepool/nodepool.yaml.erb in the # Enter your username if prompted
infra/system-config tree to see a production config.
If the cloud being used has no default_floating_pool defined in nova.conf, Join `#zuul` on Freenode to discuss development or usage.
you will need to define a pool name using the nodepool yaml file to use
floating ips.
Export variable for your ssh key so you can log into the created instances: License
-------
.. code-block:: bash Nodepool is free software, licensed under the Apache License, version 2.0.
export NODEPOOL_SSH_KEY=`cat ~/.ssh/id_rsa.pub | awk '{print $2}'` Python Version Support
----------------------
Start nodepool with a demo config file (copy or edit fake.yaml Nodepool requires Python 3. It does not support Python 2.
to contain your data):
.. code-block:: bash
export STATSD_HOST=127.0.0.1
export STATSD_PORT=8125
nodepool-launcher -d -c tools/fake.yaml
All logging ends up in stdout.
Use the following tool to check on progress:
.. code-block:: bash
nodepool image-list

58
TESTING.rst Normal file
View File

@ -0,0 +1,58 @@
================
Testing Nodepool
================
------------
A Quickstart
------------
This is designed to be enough information for you to run your first tests on
an Ubuntu 16.04 (or later) host.
*Install pip*::
sudo apt-get install python3-pip
More information on pip here: http://www.pip-installer.org/en/latest/
*Use pip to install tox*::
sudo pip3 install tox
A running zookeeper is required to execute tests.
*Install zookeeper*::
sudo apt-get install zookeeperd
*Start zookeeper*::
sudo service zookeeper start
Run The Tests
-------------
*Navigate to the project's root directory and execute*::
tox
Note: completing this command may take a long time (depends on system resources)
also, you might not see any output until tox is complete.
Information about tox can be found here: http://testrun.org/tox/latest/
Run The Tests in One Environment
--------------------------------
Tox will run your entire test suite in the environments specified in the project tox.ini::
[tox]
envlist = <list of available environments>
To run the test suite in just one of the environments in envlist execute::
tox -e <env>
so for example, *run the test suite in py35*::
tox -e py35