nodepool


Namenodepool JSON
Version 0.4.0 PyPI version JSON
home_pagehttp://docs.openstack.org/infra/system-config/
SummaryNode pool management for a distributed test infrastructure
upload_time2017-01-11 21:16:26
maintainer
docs_urlNone
authorOpenStack Infrastructure Team
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
Coveralis test coverage No Coveralis.
            Nodepool
========

Nodepool is a service used by the OpenStack CI team to deploy and manage a pool
of devstack images on a cloud server for use in OpenStack project testing.

Developer setup
===============

Make sure you have pip installed:

.. code-block:: bash

    wget https://bootstrap.pypa.io/get-pip.py
    sudo python get-pip.py

Install dependencies:

.. code-block:: bash

    sudo pip install bindep
    sudo apt-get install $(bindep -b nodepool)

    mkdir src
    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
want to install git-review and apply that patch while in the nodepool
directory, ie:

.. code-block:: bash

    git review -x XXXXX


Create or adapt a nodepool yaml file. You can adapt an infra/system-config one, or
fake.yaml as desired. Note that fake.yaml's settings won't Just Work - consult
./modules/openstack_project/templates/nodepool/nodepool.yaml.erb in the
infra/system-config tree to see a production config.

If the cloud being used has no default_floating_pool defined in nova.conf,
you will need to define a pool name using the nodepool yaml file to use
floating ips.


Set up database for interactive testing:

.. code-block:: bash

    mysql -u root

    mysql> create database nodepool;
    mysql> GRANT ALL ON nodepool.* TO 'nodepool'@'localhost';
    mysql> flush privileges;

Set up database for unit tests:

.. code-block:: bash

    mysql -u root
    mysql> grant all privileges on *.* to 'openstack_citest'@'localhost' identified by 'openstack_citest' with grant option;
    mysql> flush privileges;
    mysql> create database openstack_citest;

Note that the script tools/test-setup.sh can be used for the step
above.

Export variable for your ssh key so you can log into the created instances:

.. code-block:: bash

    export NODEPOOL_SSH_KEY=`cat ~/.ssh/id_rsa.pub | awk '{print $2}'`

Start nodepool with a demo config file (copy or edit fake.yaml
to contain your data):

.. code-block:: bash

    export STATSD_HOST=127.0.0.1
    export STATSD_PORT=8125
    nodepoold -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

After each run (the fake nova provider is only in-memory):

.. code-block:: bash

    mysql> delete from snapshot_image; delete from node;




            

Raw data

            {
    "maintainer": "", 
    "docs_url": null, 
    "requires_python": "", 
    "maintainer_email": "", 
    "cheesecake_code_kwalitee_id": null, 
    "keywords": "", 
    "upload_time": "2017-01-11 21:16:26", 
    "author": "OpenStack Infrastructure Team", 
    "home_page": "http://docs.openstack.org/infra/system-config/", 
    "download_url": "https://pypi.python.org/packages/53/90/4fb45498378308c6f493a39994eddd788827ed416f3551c8a6eea76e12e8/nodepool-0.4.0.tar.gz", 
    "platform": "", 
    "version": "0.4.0", 
    "cheesecake_documentation_id": null, 
    "description": "Nodepool\n========\n\nNodepool is a service used by the OpenStack CI team to deploy and manage a pool\nof devstack images on a cloud server for use in OpenStack project testing.\n\nDeveloper setup\n===============\n\nMake sure you have pip installed:\n\n.. code-block:: bash\n\n    wget https://bootstrap.pypa.io/get-pip.py\n    sudo python get-pip.py\n\nInstall dependencies:\n\n.. code-block:: bash\n\n    sudo pip install bindep\n    sudo apt-get install $(bindep -b nodepool)\n\n    mkdir src\n    cd ~/src\n    git clone git://git.openstack.org/openstack-infra/system-config\n    git clone git://git.openstack.org/openstack-infra/nodepool\n    cd nodepool\n    sudo pip install -U -r requirements.txt\n    sudo pip install -e .\n\nIf you're testing a specific patch that is already in gerrit, you will also\nwant to install git-review and apply that patch while in the nodepool\ndirectory, ie:\n\n.. code-block:: bash\n\n    git review -x XXXXX\n\n\nCreate or adapt a nodepool yaml file. You can adapt an infra/system-config one, or\nfake.yaml as desired. Note that fake.yaml's settings won't Just Work - consult\n./modules/openstack_project/templates/nodepool/nodepool.yaml.erb in the\ninfra/system-config tree to see a production config.\n\nIf the cloud being used has no default_floating_pool defined in nova.conf,\nyou will need to define a pool name using the nodepool yaml file to use\nfloating ips.\n\n\nSet up database for interactive testing:\n\n.. code-block:: bash\n\n    mysql -u root\n\n    mysql> create database nodepool;\n    mysql> GRANT ALL ON nodepool.* TO 'nodepool'@'localhost';\n    mysql> flush privileges;\n\nSet up database for unit tests:\n\n.. code-block:: bash\n\n    mysql -u root\n    mysql> grant all privileges on *.* to 'openstack_citest'@'localhost' identified by 'openstack_citest' with grant option;\n    mysql> flush privileges;\n    mysql> create database openstack_citest;\n\nNote that the script tools/test-setup.sh can be used for the step\nabove.\n\nExport variable for your ssh key so you can log into the created instances:\n\n.. code-block:: bash\n\n    export NODEPOOL_SSH_KEY=`cat ~/.ssh/id_rsa.pub | awk '{print $2}'`\n\nStart nodepool with a demo config file (copy or edit fake.yaml\nto contain your data):\n\n.. code-block:: bash\n\n    export STATSD_HOST=127.0.0.1\n    export STATSD_PORT=8125\n    nodepoold -d -c tools/fake.yaml\n\nAll logging ends up in stdout.\n\nUse the following tool to check on progress:\n\n.. code-block:: bash\n\n    nodepool image-list\n\nAfter each run (the fake nova provider is only in-memory):\n\n.. code-block:: bash\n\n    mysql> delete from snapshot_image; delete from node;\n\n\n\n", 
    "lcname": "nodepool", 
    "bugtrack_url": "", 
    "github": false, 
    "name": "nodepool", 
    "license": "", 
    "summary": "Node pool management for a distributed test infrastructure", 
    "split_keywords": [], 
    "author_email": "openstack-infra@lists.openstack.org", 
    "urls": [
        {
            "has_sig": false, 
            "upload_time": "2017-01-11T21:16:24", 
            "comment_text": "", 
            "python_version": "py2", 
            "url": "https://pypi.python.org/packages/89/4b/b3a56706b50caeeb1297a15581a2fe0eb54f10e18a87fba91da1f8f314f3/nodepool-0.4.0-py2-none-any.whl", 
            "md5_digest": "ea07e93982bec3192e561cfe36bf69e3", 
            "downloads": 0, 
            "filename": "nodepool-0.4.0-py2-none-any.whl", 
            "packagetype": "bdist_wheel", 
            "path": "89/4b/b3a56706b50caeeb1297a15581a2fe0eb54f10e18a87fba91da1f8f314f3/nodepool-0.4.0-py2-none-any.whl", 
            "size": 121524
        }, 
        {
            "has_sig": false, 
            "upload_time": "2017-01-11T21:16:26", 
            "comment_text": "", 
            "python_version": "source", 
            "url": "https://pypi.python.org/packages/53/90/4fb45498378308c6f493a39994eddd788827ed416f3551c8a6eea76e12e8/nodepool-0.4.0.tar.gz", 
            "md5_digest": "92278acb1af32d8f892dc84e1a2778ba", 
            "downloads": 0, 
            "filename": "nodepool-0.4.0.tar.gz", 
            "packagetype": "sdist", 
            "path": "53/90/4fb45498378308c6f493a39994eddd788827ed416f3551c8a6eea76e12e8/nodepool-0.4.0.tar.gz", 
            "size": 122130
        }
    ], 
    "_id": null, 
    "cheesecake_installability_id": null
}