<commit_before>Devstack v2 is a set of python scripts and utilities to quickly deploy an OpenStack cloud.

# Goals

* To quickly build dev OpenStack environments in a clean environment (as well as start, stop, and uninstall those environments) with as little baggage as possible
* To describe working configurations of OpenStack (which code branches work together?  what do config files look like for those branches? what packages are needed for installation?)
* To make it easier for developers to dive into OpenStack so that they can productively contribute without having to understand every part of the system at once
* To make it easy to prototype cross-project features

Read more at <http://devstack.org> (TBD)

IMPORTANT: Be sure to carefully read *stack* and any other scripts you execute before you run them, as they install software and may alter your networking configuration.  We strongly recommend that you run stack in a clean and disposable vm when you are first getting started.

# Help

In order to determine what *stack* can do run the following.

    ./stack --help
 
This will typically produce:

    ./stack --help
    Usage: stack [options]
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -a ACTION, --action=ACTION
                            action to perform, ie (install, start, stop,
                            uninstall)
      -d DIR, --directory=DIR
                            root DIR for new components or DIR with existing
                            components (ACTION dependent)
      -c COMPONENT, --component=COMPONENT
                            stack component, ie (db, glance, horizon, keystone,
                            keystone-client, nova, nova-client, openstack-x,
                            quantum, rabbit, swift)
      -f, --force           force ACTION even if no trace found (ACTION dependent)
      -i, --ignoredeps      ignore dependencies when performing ACTION
      -l, --listdeps        just show dependencies of COMPONENT

# Stack prerequisites

* linux (tested on ubuntu 11 (aka oneiric) and rhel 6.1)
* python 2.6 or 2.7 (not tested with python 3.0)
* git
    * In ubuntu oneiric *apt-get install git*
* easy_install termcolor (used for colored console logging)
    * This may require in ubuntu oneiric *apt-get install python-pip*
* easy_install netifaces (used to determine host ip information)
    * This may require in ubuntu oneiric *apt-get install python-pip* and *apt-get install python-dev*
 
# Actions

You will note that *stack* can uninstall, install, start and stop openstack components. Typically the interaction would be that you install a set of components and then start them. 

# Config

If you want to change which devstack branches or other various devstack configurations. 
Check out *conf/stack.ini* for various configuration settings applied (branches, git repositories...).
When you see a configuration in *stack.ini* with the format *${NAME:-DEFAULT}* this means that the environment the *stack* script is running in while be referred to and if that value exists it will be used (otherwise the *DEFAULT* will be used).
Also check out *conf/* for various component specific settings and *conf/pkgs* for package listings (with versions) for various distributions.

# To start a dev cloud (Installing in a dedicated, disposable vm is safer than installing on your dev machine!):

    ./stack -a install -d $HOME/openstack && ./stack -a start -d $HOME/openstack 
<commit_msg>Updated with new program option.<commit_after>Devstack v2 is a set of python scripts and utilities to quickly deploy an OpenStack cloud.

# Goals

* To quickly build dev OpenStack environments in a clean environment (as well as start, stop, and uninstall those environments) with as little baggage as possible
* To describe working configurations of OpenStack (which code branches work together?  what do config files look like for those branches? what packages are needed for installation?)
* To make it easier for developers to dive into OpenStack so that they can productively contribute without having to understand every part of the system at once
* To make it easy to prototype cross-project features

Read more at <http://devstack.org> (TBD)

IMPORTANT: Be sure to carefully read *stack* and any other scripts you execute before you run them, as they install software and may alter your networking configuration.  We strongly recommend that you run stack in a clean and disposable vm when you are first getting started.

# Help

In order to determine what *stack* can do run the following.

    ./stack --help
 
This will typically produce:

    ./stack --help
    
    Usage: stack [options]
    
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -a ACTION, --action=ACTION
                            action to perform, ie (install, start, stop,
                            uninstall)
      -d DIR, --directory=DIR
                            root DIR for new components or DIR with existing
                            components (ACTION dependent)
      -c COMPONENT, --component=COMPONENT
                            stack component, ie (db, glance, horizon, keystone,
                            keystone-client, nova, nova-client, openstack-x,
                            quantum, rabbit, swift)
      -f, --force           force ACTION even if no trace found (ACTION dependent)
      -i, --ignoredeps      ignore dependencies when performing ACTION
      -e, --ensuredeps      ensure dependencies occur when performing ACTION
      -s, --listdeps        show dependencies of COMPONENT


# Stack prerequisites

* linux (tested on ubuntu 11 (aka oneiric) and rhel 6.1)
* python 2.6 or 2.7 (not tested with python 3.0)
* git
    * In ubuntu oneiric *apt-get install git*
* easy_install termcolor (used for colored console logging)
    * This may require in ubuntu oneiric *apt-get install python-pip*
* easy_install netifaces (used to determine host ip information)
    * This may require in ubuntu oneiric *apt-get install python-pip* and *apt-get install python-dev*
 
# Actions

You will note that *stack* can uninstall, install, start and stop openstack components. Typically the interaction would be that you install a set of components and then start them. 

# Config

If you want to change which devstack branches or other various devstack configurations. 
Check out *conf/stack.ini* for various configuration settings applied (branches, git repositories...).
When you see a configuration in *stack.ini* with the format *${NAME:-DEFAULT}* this means that the environment the *stack* script is running in while be referred to and if that value exists it will be used (otherwise the *DEFAULT* will be used).
Also check out *conf/* for various component specific settings and *conf/pkgs* for package listings (with versions) for various distributions.

# To start a dev cloud (Installing in a dedicated, disposable vm is safer than installing on your dev machine!):

    ./stack -a install -d $HOME/openstack && ./stack -a start -d $HOME/openstack 

{'fraction_non_alphanumeric': 0.05997229916897507, 'fraction_numerical': 0.0030470914127423824, 'mean_word_length': 2.8780880773361974, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1479889', 'n_tokens_mistral': 1807, 'n_tokens_neox': 1720, 'n_words': 951}