diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c806f2f1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,68 @@ +*.py[cod] + +# C extensions +*.so + +# Packages +*.egg +*.egg-info +dist +build +.eggs +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg +lib +lib64 + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox +nosetests.xml +.testrepository +.venv + +# Translations +*.mo + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Complexity +output/*.html +output/*/index.html + +# Sphinx +doc/build + +# pbr generates these +AUTHORS +ChangeLog + +# Editors +*~ +.*.swp +.*sw? + +# Others +*.log +*.sqlite +tenvironment +.ropeproject/ + +# Labs artifacts +labs/autostart +labs/img +labs/log +labs/wbatch +labs/lib/vagrant-ssh-keys +labs/test_tmp/ diff --git a/.gitreview b/.gitreview new file mode 100644 index 00000000..7ba22a5e --- /dev/null +++ b/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=review.openstack.org +port=29418 +project=openstack/labs.git diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 00000000..8d0fc61f --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,17 @@ +If you would like to contribute to the development of OpenStack, you must +follow the steps in this page: + + http://docs.openstack.org/infra/manual/developers.html + +If you already have a good understanding of how the system works and your +OpenStack accounts are set up, you can skip to the development workflow +section of this documentation to learn how changes to OpenStack should be +submitted for review via the Gerrit tool: + + http://docs.openstack.org/infra/manual/developers.html#development-workflow + +Pull requests submitted through GitHub will be ignored. + +Bugs should be filed on Launchpad, not GitHub: + + https://bugs.launchpad.net/labs diff --git a/HACKING.rst b/HACKING.rst index 16e0881c..52ce36ef 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -1,45 +1,48 @@ -Contributing to training-labs scripts +Contributing to replace-labs scripts ===================================== +First things first +------------------ + +Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ + General ------- -Contributing code to training-labs scripts follows the usual OpenStack process +Contributing code to replace labs scripts follows the usual OpenStack process as described in `How To Contribute`__ in the OpenStack wiki. Our `main blueprint`__ contains the usual links for blueprints, bugs, etc. __ contribute_ .. _contribute: http://docs.openstack.org/infra/manual/developers.html -__ lp_ -.. _lp: https://blueprints.launchpad.net/openstack-training-guides/+spec/openstack-training-labs +__ spec_ +.. _spec: http://specs.openstack.org/openstack/docs-specs/specs/liberty/traininglabs.html Getting started --------------- -The main script is osbash.sh. It will call libraries and other scripts to build -the training-labs setup. The setup can be customized in labs/config where all -scripts keep their configuration files. +.. TODO(psalunke): Fix Me. Add more content here. Prerequisites ------------- -The labs scripts are designed to have minimal dependencies: bash and -`VirtualBox `_. To support OS X, we keep the -host-side scripts compatible with bash 3.2 (don't use features not present in -that somewhat dated version). - -For testing the generated Windows batch scripts, any supported version of -Windows (Vista and later) will do. After having created the batch files using -osbash.sh, just copy the whole labs directory to Windows. If you don't have -access to that operating system, comparing the output in labs/wbatch will tell -you how your changes affect behavior on that platform. +.. TODO(psalunke): Fix Me. Add more content here. Coding style ------------ -We follow the conventions of other OpenStack projects. Since labs scripts are -currently all written in bash, the examples to follow are this project and +We follow the conventions of other OpenStack projects. + +StackTrain +~~~~~~~~~~ + +.. TODO(psalunke): Fix me. Add more content here. + +Osbash +~~~~~~ + +Osbash is written in BASH and follows conventions of DevStack: `devstack `_. DevStack bash style guidelines can be found at the bottom of: @@ -48,6 +51,12 @@ https://git.openstack.org/cgit/openstack-dev/devstack/blob/master/HACKING.rst Structure --------- + +.. TODO(psalunke): Add more information as the repo gets merged. + +OSBASH: +~~~~~~~ + **autostart** osbash/wbatch copy shell scripts (\*.sh) into this directory to have them @@ -60,7 +69,7 @@ Contains the configuration files for all the scripts. The setup can be customize **img** By default osbash will put into this directory its base disk images -(base-\*-.vdi), the VM export images (oslabs-.ova), +(base-\*-.vdi), the VM export images (labs-.ova), and all installation ISO images it may download. **lib** @@ -80,20 +89,18 @@ All scripts in this directory run within the VMs. Files in this directory are Windows batch files generated by osbash to configure host-only networks, produce a base disk, and build OpenStack -training-labs VMs as configured when osbash created them. +replace-labs VMs as configured when osbash created them. Testing ------- -The labs scripts don't have automated tests yet. Patch submitters should be -aware of their responsibility for ensuring that their code works and can be -tested by reviewers. - Useful tools for checking scripts: - `bashate `_ (must pass) - `shellcheck `_ (optional) +.. TODO (psalunke): Add Python checks etc. + Submitting patches ------------------ @@ -103,7 +110,7 @@ this one): - http://docs.openstack.org/infra/manual/developers.html#development-workflow - https://wiki.openstack.org/wiki/GitCommitMessages -If you change the behavior of the scripts as documented in the training-guides, +If you change the behavior of the scripts as documented in the replace-guides, add a DocImpact flag to alert the documentation team. For instance, add a line like this to your commit message: @@ -119,8 +126,6 @@ Learn how to review (or what to expect when having your patches reviewed) here: TODO ---- -Etherpad: -- https://etherpad.openstack.org/p/training-guides-developing-topics Anything not covered here ------------------------- diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..67db8588 --- /dev/null +++ b/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..c978a52d --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +include AUTHORS +include ChangeLog +exclude .gitignore +exclude .gitreview + +global-exclude *.pyc diff --git a/README.md b/README.rst similarity index 65% rename from README.md rename to README.rst index 13ff2914..39afda4e 100644 --- a/README.md +++ b/README.rst @@ -1,52 +1,46 @@ - -Training Labs +============= +training labs ============= About ----- -Training Labs will provide scripts to automate the creation of the Training -Environment. +Provide an automated way to deploy Vanilla OpenStack and closely follow +.. _install-guides: https://wiki.openstack.org/wiki/Documentation/InstallGuide -**Note:** Training Labs are specifically meant for OpenStack Training and are -specifically tuned as per Training Manuals repo. +We strove to give easy way to setup OpenStack cluster which should +be a good starting point for beginners to learn OpenStack, and for advanced +users to test out new features, check out different capabilities of OpenStack. +On top of that training-labs will also be a good way to test the install +guides on a regular basis. +Training-labs is a project under OpenStack Documentation. Please checkout +the wiki for more information: .. _training-labs: https://wiki.openstack.org/wiki/Documentation/training-labs + +* Free software: Apache license +* Documentation: http://docs.openstack.org/developer/training-labs +* Source: http://git.openstack.org/cgit/openstack/training-labs +* Bugs: http://bugs.launchpad.net/training-labs Pre-requisite ------------- * Download and install [VirtualBox](https://www.virtualbox.org/wiki/Downloads). - How to run the scripts ---------------------- -1. Clone the training-guides repo which contains scripts in the labs section that will install multi-node OpenStack automatically. - - $ git clone git://git.openstack.org/openstack/training-guides - -2. Go to the labs folder - - $ cd training-guides/labs - -3. Run the script: - - $ ./osbash -b cluster - -This will do the complete installation for all the nodes - Controller, Compute and Network. - -For more help you can check - - $ ./osbash --help +.. TODO(psalunke: fix me) +1. Clone the training-labs repository: + $ This will take some time to run the first time. - What the script installs ------------------------ -Running this will automatically spin up 3 virtual machines in VirtualBox: +Running this will automatically spin up 3 virtual machines in VirtualBox/KVM: * Controller node * Network node @@ -93,7 +87,6 @@ Openstack Services installed on Compute node: * neutron-plugin-openvswitch-agent - How to access the services -------------------------- @@ -152,19 +145,18 @@ For Demo user privileges: Now you can access the OpenStack services via CLI. +Specs +----- -BluePrints ----------- - -* Training Manuals : https://blueprints.launchpad.net/openstack-manuals/+spec/training-manuals -* Training Labs : https://blueprints.launchpad.net/openstack-training-guides/+spec/openstack-training-labs +* .. _training-labs: http://specs.openstack.org/openstack/docs-specs/specs/liberty/traininglabs.html Mailing Lists, IRC ------------------ * To contribute please hop on to IRC on the channel `#openstack-doc` on IRC freenode or write an e-mail to the OpenStack Manuals mailing list - `openstack-docs@lists.openstack.org`. + `openstack-docs@lists.openstack.org`. Please use [training-labs] tag in the email + message. **NOTE:** You might consider registering on the OpenStack Manuals mailing list if you want to post your e-mail instantly. It may take some time for @@ -187,14 +179,11 @@ any queries about the Labs section. Meetings -------- -To follow the weekly meetings for OpenStack Training, please refer -to the following link. - -For IRC meetings, refer to the wiki page on training manuals. -https://wiki.openstack.org/wiki/Meetings/training-manual +Team meeting for training-labs is on alternating Thursdays on Google Hangouts. +https://wiki.openstack.org/wiki/Documentation/training-labs#Meeting_Information Wiki ---- -Follow various links on OpenStack Training Manuals here: -https://wiki.openstack.org/wiki/Training-guides +Follow various links on training-labs here: +https://wiki.openstack.org/wiki/Documentation/training-labs#Meeting_Information diff --git a/babel.cfg b/babel.cfg new file mode 100644 index 00000000..15cd6cb7 --- /dev/null +++ b/babel.cfg @@ -0,0 +1,2 @@ +[python: **.py] + diff --git a/doc/README.rst b/doc/README.rst new file mode 100644 index 00000000..161ebc55 --- /dev/null +++ b/doc/README.rst @@ -0,0 +1,5 @@ +Documentation for training-labs +=============================== + +See the "Building the Dcumenation" section of +doc/source/development.environment.rst. diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100755 index 00000000..5b225a01 --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import sys + +sys.path.insert(0, os.path.abspath('../..')) +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + 'sphinx.ext.autodoc', + #'sphinx.ext.intersphinx', + 'oslosphinx' +] + +# autodoc generation is a bit aggressive and a nuisance when doing heavy +# text edit cycles. +# execute "export SPHINX_DEBUG=1" in your terminal to disable + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'training-labs' +copyright = u'2013, OpenStack Foundation' + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = True + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output -------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +# html_theme_path = ["."] +# html_theme = '_theme' +# html_static_path = ['static'] + +# Output file base name for HTML help builder. +htmlhelp_basename = '%sdoc' % project + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ('index', + '%s.tex' % project, + u'%s Documentation' % project, + u'OpenStack Foundation', 'manual'), +] + +# Example configuration for intersphinx: refer to the Python standard library. +#intersphinx_mapping = {'http://docs.python.org/': None} diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst new file mode 100644 index 00000000..1728a61c --- /dev/null +++ b/doc/source/contributing.rst @@ -0,0 +1,4 @@ +============ +Contributing +============ +.. include:: ../../CONTRIBUTING.rst diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 00000000..fe1b3f40 --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,25 @@ +.. labs documentation master file, created by + sphinx-quickstart on Tue Jul 9 22:26:36 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to labs's documentation! +======================================================== + +Contents: + +.. toctree:: + :maxdepth: 2 + + readme + installation + usage + contributing + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/doc/source/installation.rst b/doc/source/installation.rst new file mode 100644 index 00000000..d6a30cbb --- /dev/null +++ b/doc/source/installation.rst @@ -0,0 +1,11 @@ +============ +Installation +============ + +At the command line:: + + $ git clone git://git.openstack.org/openstack/training-labs + $ cd labs + $ ./os-labs.py -h + +Make sure that you have VirtualBox installed on your system. diff --git a/doc/source/readme.rst b/doc/source/readme.rst new file mode 100644 index 00000000..a6210d3d --- /dev/null +++ b/doc/source/readme.rst @@ -0,0 +1 @@ +.. include:: ../../README.rst diff --git a/doc/source/usage.rst b/doc/source/usage.rst new file mode 100644 index 00000000..8124ce43 --- /dev/null +++ b/doc/source/usage.rst @@ -0,0 +1,5 @@ +======== +Usage +======== + + diff --git a/getting-started.rst b/getting-started.rst deleted file mode 100644 index 5457c61d..00000000 --- a/getting-started.rst +++ /dev/null @@ -1 +0,0 @@ -TODO: Getting started section will lie in this section. diff --git a/ChangeLog b/labs.py similarity index 100% rename from ChangeLog rename to labs.py diff --git a/openstack-common.conf b/openstack-common.conf new file mode 100644 index 00000000..0841ba2c --- /dev/null +++ b/openstack-common.conf @@ -0,0 +1,7 @@ +[DEFAULT] + +# The list of modules to copy from oslo-incubator.git + + +# The base module to hold the copy of openstack.common +base=labs diff --git a/oslabs/__init__.py b/oslabs/__init__.py new file mode 100644 index 00000000..3031ba35 --- /dev/null +++ b/oslabs/__init__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import pbr.version + + +__version__ = pbr.version.VersionInfo( + 'openstack-labs').version_string() diff --git a/autostart/README.rst b/oslabs/osbash/autostart/README.rst similarity index 100% rename from autostart/README.rst rename to oslabs/osbash/autostart/README.rst diff --git a/config/README.rst b/oslabs/osbash/config/README.rst similarity index 100% rename from config/README.rst rename to oslabs/osbash/config/README.rst diff --git a/config/admin-openstackrc.sh b/oslabs/osbash/config/admin-openstackrc.sh similarity index 100% rename from config/admin-openstackrc.sh rename to oslabs/osbash/config/admin-openstackrc.sh diff --git a/config/config.base b/oslabs/osbash/config/config.base similarity index 100% rename from config/config.base rename to oslabs/osbash/config/config.base diff --git a/config/config.compute b/oslabs/osbash/config/config.compute similarity index 100% rename from config/config.compute rename to oslabs/osbash/config/config.compute diff --git a/config/config.controller b/oslabs/osbash/config/config.controller similarity index 100% rename from config/config.controller rename to oslabs/osbash/config/config.controller diff --git a/config/config.network b/oslabs/osbash/config/config.network similarity index 100% rename from config/config.network rename to oslabs/osbash/config/config.network diff --git a/config/credentials b/oslabs/osbash/config/credentials similarity index 100% rename from config/credentials rename to oslabs/osbash/config/credentials diff --git a/config/demo-openstackrc.sh b/oslabs/osbash/config/demo-openstackrc.sh similarity index 100% rename from config/demo-openstackrc.sh rename to oslabs/osbash/config/demo-openstackrc.sh diff --git a/config/deploy.osbash b/oslabs/osbash/config/deploy.osbash similarity index 100% rename from config/deploy.osbash rename to oslabs/osbash/config/deploy.osbash diff --git a/config/hosts.multi b/oslabs/osbash/config/hosts.multi similarity index 100% rename from config/hosts.multi rename to oslabs/osbash/config/hosts.multi diff --git a/config/localrc b/oslabs/osbash/config/localrc similarity index 100% rename from config/localrc rename to oslabs/osbash/config/localrc diff --git a/config/openstack b/oslabs/osbash/config/openstack similarity index 100% rename from config/openstack rename to oslabs/osbash/config/openstack diff --git a/config/paths b/oslabs/osbash/config/paths similarity index 100% rename from config/paths rename to oslabs/osbash/config/paths diff --git a/config/provider.virtualbox b/oslabs/osbash/config/provider.virtualbox similarity index 100% rename from config/provider.virtualbox rename to oslabs/osbash/config/provider.virtualbox diff --git a/config/scripts.fedora_base b/oslabs/osbash/config/scripts.fedora_base similarity index 100% rename from config/scripts.fedora_base rename to oslabs/osbash/config/scripts.fedora_base diff --git a/config/scripts.ubuntu_base b/oslabs/osbash/config/scripts.ubuntu_base similarity index 100% rename from config/scripts.ubuntu_base rename to oslabs/osbash/config/scripts.ubuntu_base diff --git a/config/scripts.ubuntu_cluster b/oslabs/osbash/config/scripts.ubuntu_cluster similarity index 100% rename from config/scripts.ubuntu_cluster rename to oslabs/osbash/config/scripts.ubuntu_cluster diff --git a/img/README.rst b/oslabs/osbash/img/README.rst similarity index 100% rename from img/README.rst rename to oslabs/osbash/img/README.rst diff --git a/lib/README.rst b/oslabs/osbash/lib/README.rst similarity index 100% rename from lib/README.rst rename to oslabs/osbash/lib/README.rst diff --git a/lib/functions-common-devstack b/oslabs/osbash/lib/functions-common-devstack similarity index 100% rename from lib/functions-common-devstack rename to oslabs/osbash/lib/functions-common-devstack diff --git a/lib/functions.guest b/oslabs/osbash/lib/functions.guest similarity index 100% rename from lib/functions.guest rename to oslabs/osbash/lib/functions.guest diff --git a/lib/functions.sh b/oslabs/osbash/lib/functions.sh similarity index 100% rename from lib/functions.sh rename to oslabs/osbash/lib/functions.sh diff --git a/lib/osbash-ssh-keys/README.rst b/oslabs/osbash/lib/osbash-ssh-keys/README.rst similarity index 100% rename from lib/osbash-ssh-keys/README.rst rename to oslabs/osbash/lib/osbash-ssh-keys/README.rst diff --git a/lib/osbash-ssh-keys/osbash_key b/oslabs/osbash/lib/osbash-ssh-keys/osbash_key similarity index 100% rename from lib/osbash-ssh-keys/osbash_key rename to oslabs/osbash/lib/osbash-ssh-keys/osbash_key diff --git a/lib/osbash-ssh-keys/osbash_key.pub b/oslabs/osbash/lib/osbash-ssh-keys/osbash_key.pub similarity index 100% rename from lib/osbash-ssh-keys/osbash_key.pub rename to oslabs/osbash/lib/osbash-ssh-keys/osbash_key.pub diff --git a/lib/osbash/functions-host.sh b/oslabs/osbash/lib/osbash/functions-host.sh similarity index 100% rename from lib/osbash/functions-host.sh rename to oslabs/osbash/lib/osbash/functions-host.sh diff --git a/lib/osbash/lib-color.sh b/oslabs/osbash/lib/osbash/lib-color.sh similarity index 100% rename from lib/osbash/lib-color.sh rename to oslabs/osbash/lib/osbash/lib-color.sh diff --git a/lib/osbash/lib.fedora-20-x86_64 b/oslabs/osbash/lib/osbash/lib.fedora-20-x86_64 similarity index 100% rename from lib/osbash/lib.fedora-20-x86_64 rename to oslabs/osbash/lib/osbash/lib.fedora-20-x86_64 diff --git a/lib/osbash/lib.ubuntu-12.04.4-server-amd64 b/oslabs/osbash/lib/osbash/lib.ubuntu-12.04.4-server-amd64 similarity index 100% rename from lib/osbash/lib.ubuntu-12.04.4-server-amd64 rename to oslabs/osbash/lib/osbash/lib.ubuntu-12.04.4-server-amd64 diff --git a/lib/osbash/lib.ubuntu-14.04-server-amd64 b/oslabs/osbash/lib/osbash/lib.ubuntu-14.04-server-amd64 similarity index 100% rename from lib/osbash/lib.ubuntu-14.04-server-amd64 rename to oslabs/osbash/lib/osbash/lib.ubuntu-14.04-server-amd64 diff --git a/lib/osbash/netboot/ks-all-v2.cfg b/oslabs/osbash/lib/osbash/netboot/ks-all-v2.cfg similarity index 100% rename from lib/osbash/netboot/ks-all-v2.cfg rename to oslabs/osbash/lib/osbash/netboot/ks-all-v2.cfg diff --git a/lib/osbash/netboot/ks-all.cfg b/oslabs/osbash/lib/osbash/netboot/ks-all.cfg similarity index 100% rename from lib/osbash/netboot/ks-all.cfg rename to oslabs/osbash/lib/osbash/netboot/ks-all.cfg diff --git a/lib/osbash/netboot/ks-ssh-v2.cfg b/oslabs/osbash/lib/osbash/netboot/ks-ssh-v2.cfg similarity index 100% rename from lib/osbash/netboot/ks-ssh-v2.cfg rename to oslabs/osbash/lib/osbash/netboot/ks-ssh-v2.cfg diff --git a/lib/osbash/netboot/ks-ssh.cfg b/oslabs/osbash/lib/osbash/netboot/ks-ssh.cfg similarity index 100% rename from lib/osbash/netboot/ks-ssh.cfg rename to oslabs/osbash/lib/osbash/netboot/ks-ssh.cfg diff --git a/lib/osbash/netboot/ks-vbadd.cfg b/oslabs/osbash/lib/osbash/netboot/ks-vbadd.cfg similarity index 100% rename from lib/osbash/netboot/ks-vbadd.cfg rename to oslabs/osbash/lib/osbash/netboot/ks-vbadd.cfg diff --git a/lib/osbash/netboot/preseed-all-v2.cfg b/oslabs/osbash/lib/osbash/netboot/preseed-all-v2.cfg similarity index 100% rename from lib/osbash/netboot/preseed-all-v2.cfg rename to oslabs/osbash/lib/osbash/netboot/preseed-all-v2.cfg diff --git a/lib/osbash/netboot/preseed-all.cfg b/oslabs/osbash/lib/osbash/netboot/preseed-all.cfg similarity index 100% rename from lib/osbash/netboot/preseed-all.cfg rename to oslabs/osbash/lib/osbash/netboot/preseed-all.cfg diff --git a/lib/osbash/netboot/preseed-ssh-v2.cfg b/oslabs/osbash/lib/osbash/netboot/preseed-ssh-v2.cfg similarity index 100% rename from lib/osbash/netboot/preseed-ssh-v2.cfg rename to oslabs/osbash/lib/osbash/netboot/preseed-ssh-v2.cfg diff --git a/lib/osbash/netboot/preseed-ssh.cfg b/oslabs/osbash/lib/osbash/netboot/preseed-ssh.cfg similarity index 100% rename from lib/osbash/netboot/preseed-ssh.cfg rename to oslabs/osbash/lib/osbash/netboot/preseed-ssh.cfg diff --git a/lib/osbash/netboot/preseed-vbadd.cfg b/oslabs/osbash/lib/osbash/netboot/preseed-vbadd.cfg similarity index 100% rename from lib/osbash/netboot/preseed-vbadd.cfg rename to oslabs/osbash/lib/osbash/netboot/preseed-vbadd.cfg diff --git a/lib/osbash/scanlib.sh b/oslabs/osbash/lib/osbash/scanlib.sh similarity index 100% rename from lib/osbash/scanlib.sh rename to oslabs/osbash/lib/osbash/scanlib.sh diff --git a/lib/osbash/templates/template-fedora-ifcfg-hostonly b/oslabs/osbash/lib/osbash/templates/template-fedora-ifcfg-hostonly similarity index 100% rename from lib/osbash/templates/template-fedora-ifcfg-hostonly rename to oslabs/osbash/lib/osbash/templates/template-fedora-ifcfg-hostonly diff --git a/lib/osbash/templates/template-fedora-ifcfg-nat b/oslabs/osbash/lib/osbash/templates/template-fedora-ifcfg-nat similarity index 100% rename from lib/osbash/templates/template-fedora-ifcfg-nat rename to oslabs/osbash/lib/osbash/templates/template-fedora-ifcfg-nat diff --git a/lib/osbash/templates/template-ubuntu-interfaces-hostonly b/oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-hostonly similarity index 100% rename from lib/osbash/templates/template-ubuntu-interfaces-hostonly rename to oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-hostonly diff --git a/lib/osbash/templates/template-ubuntu-interfaces-loopback b/oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-loopback similarity index 100% rename from lib/osbash/templates/template-ubuntu-interfaces-loopback rename to oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-loopback diff --git a/lib/osbash/templates/template-ubuntu-interfaces-nat b/oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-nat similarity index 100% rename from lib/osbash/templates/template-ubuntu-interfaces-nat rename to oslabs/osbash/lib/osbash/templates/template-ubuntu-interfaces-nat diff --git a/lib/osbash/virtualbox-functions.sh b/oslabs/osbash/lib/osbash/virtualbox-functions.sh similarity index 100% rename from lib/osbash/virtualbox-functions.sh rename to oslabs/osbash/lib/osbash/virtualbox-functions.sh diff --git a/lib/osbash/virtualbox-install_base.sh b/oslabs/osbash/lib/osbash/virtualbox-install_base.sh similarity index 100% rename from lib/osbash/virtualbox-install_base.sh rename to oslabs/osbash/lib/osbash/virtualbox-install_base.sh diff --git a/lib/osbash/virtualbox-install_nodes.sh b/oslabs/osbash/lib/osbash/virtualbox-install_nodes.sh similarity index 100% rename from lib/osbash/virtualbox-install_nodes.sh rename to oslabs/osbash/lib/osbash/virtualbox-install_nodes.sh diff --git a/lib/wbatch/README.rst b/oslabs/osbash/lib/wbatch/README.rst similarity index 100% rename from lib/wbatch/README.rst rename to oslabs/osbash/lib/wbatch/README.rst diff --git a/lib/wbatch/batch_for_windows.sh b/oslabs/osbash/lib/wbatch/batch_for_windows.sh similarity index 100% rename from lib/wbatch/batch_for_windows.sh rename to oslabs/osbash/lib/wbatch/batch_for_windows.sh diff --git a/lib/wbatch/template-begin_base_bat b/oslabs/osbash/lib/wbatch/template-begin_base_bat similarity index 100% rename from lib/wbatch/template-begin_base_bat rename to oslabs/osbash/lib/wbatch/template-begin_base_bat diff --git a/lib/wbatch/template-begin_node_bat b/oslabs/osbash/lib/wbatch/template-begin_node_bat similarity index 100% rename from lib/wbatch/template-begin_node_bat rename to oslabs/osbash/lib/wbatch/template-begin_node_bat diff --git a/lib/wbatch/template-create_hostnet_bat b/oslabs/osbash/lib/wbatch/template-create_hostnet_bat similarity index 100% rename from lib/wbatch/template-create_hostnet_bat rename to oslabs/osbash/lib/wbatch/template-create_hostnet_bat diff --git a/lib/wbatch/template-elevate_privs_bat b/oslabs/osbash/lib/wbatch/template-elevate_privs_bat similarity index 100% rename from lib/wbatch/template-elevate_privs_bat rename to oslabs/osbash/lib/wbatch/template-elevate_privs_bat diff --git a/lib/wbatch/template-end_file_bat b/oslabs/osbash/lib/wbatch/template-end_file_bat similarity index 100% rename from lib/wbatch/template-end_file_bat rename to oslabs/osbash/lib/wbatch/template-end_file_bat diff --git a/lib/wbatch/template-file_header_bat b/oslabs/osbash/lib/wbatch/template-file_header_bat similarity index 100% rename from lib/wbatch/template-file_header_bat rename to oslabs/osbash/lib/wbatch/template-file_header_bat diff --git a/lib/wbatch/template-find_vbm_bat b/oslabs/osbash/lib/wbatch/template-find_vbm_bat similarity index 100% rename from lib/wbatch/template-find_vbm_bat rename to oslabs/osbash/lib/wbatch/template-find_vbm_bat diff --git a/lib/wbatch/template-mkdirs_bat b/oslabs/osbash/lib/wbatch/template-mkdirs_bat similarity index 100% rename from lib/wbatch/template-mkdirs_bat rename to oslabs/osbash/lib/wbatch/template-mkdirs_bat diff --git a/log/README.rst b/oslabs/osbash/log/README.rst similarity index 100% rename from log/README.rst rename to oslabs/osbash/log/README.rst diff --git a/osbash.sh b/oslabs/osbash/osbash.sh similarity index 100% rename from osbash.sh rename to oslabs/osbash/osbash.sh diff --git a/scripts/README.rst b/oslabs/osbash/scripts/README.rst similarity index 100% rename from scripts/README.rst rename to oslabs/osbash/scripts/README.rst diff --git a/scripts/config_external_network.sh b/oslabs/osbash/scripts/config_external_network.sh similarity index 100% rename from scripts/config_external_network.sh rename to oslabs/osbash/scripts/config_external_network.sh diff --git a/scripts/config_tenant_network.sh b/oslabs/osbash/scripts/config_tenant_network.sh similarity index 100% rename from scripts/config_tenant_network.sh rename to oslabs/osbash/scripts/config_tenant_network.sh diff --git a/scripts/etc_hosts.sh b/oslabs/osbash/scripts/etc_hosts.sh similarity index 100% rename from scripts/etc_hosts.sh rename to oslabs/osbash/scripts/etc_hosts.sh diff --git a/scripts/osbash/activate_autostart.sh b/oslabs/osbash/scripts/osbash/activate_autostart.sh similarity index 100% rename from scripts/osbash/activate_autostart.sh rename to oslabs/osbash/scripts/osbash/activate_autostart.sh diff --git a/scripts/osbash/base_fixups.sh b/oslabs/osbash/scripts/osbash/base_fixups.sh similarity index 100% rename from scripts/osbash/base_fixups.sh rename to oslabs/osbash/scripts/osbash/base_fixups.sh diff --git a/scripts/osbash/enable_osbash_ssh_keys.sh b/oslabs/osbash/scripts/osbash/enable_osbash_ssh_keys.sh similarity index 100% rename from scripts/osbash/enable_osbash_ssh_keys.sh rename to oslabs/osbash/scripts/osbash/enable_osbash_ssh_keys.sh diff --git a/scripts/osbash/init_xxx_node.sh b/oslabs/osbash/scripts/osbash/init_xxx_node.sh similarity index 100% rename from scripts/osbash/init_xxx_node.sh rename to oslabs/osbash/scripts/osbash/init_xxx_node.sh diff --git a/scripts/osbash/shutdown.sh b/oslabs/osbash/scripts/osbash/shutdown.sh similarity index 100% rename from scripts/osbash/shutdown.sh rename to oslabs/osbash/scripts/osbash/shutdown.sh diff --git a/scripts/osbash/template-osbashauto b/oslabs/osbash/scripts/osbash/template-osbashauto similarity index 100% rename from scripts/osbash/template-osbashauto rename to oslabs/osbash/scripts/osbash/template-osbashauto diff --git a/scripts/osbash/wait_debug.sh b/oslabs/osbash/scripts/osbash/wait_debug.sh similarity index 100% rename from scripts/osbash/wait_debug.sh rename to oslabs/osbash/scripts/osbash/wait_debug.sh diff --git a/scripts/shutdown.sh b/oslabs/osbash/scripts/shutdown.sh similarity index 100% rename from scripts/shutdown.sh rename to oslabs/osbash/scripts/shutdown.sh diff --git a/scripts/shutdown_controller.sh b/oslabs/osbash/scripts/shutdown_controller.sh similarity index 100% rename from scripts/shutdown_controller.sh rename to oslabs/osbash/scripts/shutdown_controller.sh diff --git a/scripts/test/README.rst b/oslabs/osbash/scripts/test/README.rst similarity index 100% rename from scripts/test/README.rst rename to oslabs/osbash/scripts/test/README.rst diff --git a/scripts/test/launch_instance.sh b/oslabs/osbash/scripts/test/launch_instance.sh similarity index 100% rename from scripts/test/launch_instance.sh rename to oslabs/osbash/scripts/test/launch_instance.sh diff --git a/scripts/ubuntu/apt_init.sh b/oslabs/osbash/scripts/ubuntu/apt_init.sh similarity index 100% rename from scripts/ubuntu/apt_init.sh rename to oslabs/osbash/scripts/ubuntu/apt_init.sh diff --git a/scripts/ubuntu/apt_install_mysql.sh b/oslabs/osbash/scripts/ubuntu/apt_install_mysql.sh similarity index 100% rename from scripts/ubuntu/apt_install_mysql.sh rename to oslabs/osbash/scripts/ubuntu/apt_install_mysql.sh diff --git a/scripts/ubuntu/apt_pre-download.sh b/oslabs/osbash/scripts/ubuntu/apt_pre-download.sh similarity index 100% rename from scripts/ubuntu/apt_pre-download.sh rename to oslabs/osbash/scripts/ubuntu/apt_pre-download.sh diff --git a/scripts/ubuntu/apt_upgrade.sh b/oslabs/osbash/scripts/ubuntu/apt_upgrade.sh similarity index 100% rename from scripts/ubuntu/apt_upgrade.sh rename to oslabs/osbash/scripts/ubuntu/apt_upgrade.sh diff --git a/scripts/ubuntu/install_rabbitmq.sh b/oslabs/osbash/scripts/ubuntu/install_rabbitmq.sh similarity index 100% rename from scripts/ubuntu/install_rabbitmq.sh rename to oslabs/osbash/scripts/ubuntu/install_rabbitmq.sh diff --git a/scripts/ubuntu/setup_cinder_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_cinder_controller.sh similarity index 100% rename from scripts/ubuntu/setup_cinder_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_cinder_controller.sh diff --git a/scripts/ubuntu/setup_cinder_volumes.sh b/oslabs/osbash/scripts/ubuntu/setup_cinder_volumes.sh similarity index 100% rename from scripts/ubuntu/setup_cinder_volumes.sh rename to oslabs/osbash/scripts/ubuntu/setup_cinder_volumes.sh diff --git a/scripts/ubuntu/setup_glance.sh b/oslabs/osbash/scripts/ubuntu/setup_glance.sh similarity index 100% rename from scripts/ubuntu/setup_glance.sh rename to oslabs/osbash/scripts/ubuntu/setup_glance.sh diff --git a/scripts/ubuntu/setup_heat_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_heat_controller.sh similarity index 100% rename from scripts/ubuntu/setup_heat_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_heat_controller.sh diff --git a/scripts/ubuntu/setup_heat_network.sh b/oslabs/osbash/scripts/ubuntu/setup_heat_network.sh similarity index 100% rename from scripts/ubuntu/setup_heat_network.sh rename to oslabs/osbash/scripts/ubuntu/setup_heat_network.sh diff --git a/scripts/ubuntu/setup_horizon.sh b/oslabs/osbash/scripts/ubuntu/setup_horizon.sh similarity index 100% rename from scripts/ubuntu/setup_horizon.sh rename to oslabs/osbash/scripts/ubuntu/setup_horizon.sh diff --git a/scripts/ubuntu/setup_keystone.sh b/oslabs/osbash/scripts/ubuntu/setup_keystone.sh similarity index 100% rename from scripts/ubuntu/setup_keystone.sh rename to oslabs/osbash/scripts/ubuntu/setup_keystone.sh diff --git a/scripts/ubuntu/setup_lbaas_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_lbaas_controller.sh similarity index 100% rename from scripts/ubuntu/setup_lbaas_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_lbaas_controller.sh diff --git a/scripts/ubuntu/setup_lbaas_network.sh b/oslabs/osbash/scripts/ubuntu/setup_lbaas_network.sh similarity index 100% rename from scripts/ubuntu/setup_lbaas_network.sh rename to oslabs/osbash/scripts/ubuntu/setup_lbaas_network.sh diff --git a/scripts/ubuntu/setup_neutron_compute.sh b/oslabs/osbash/scripts/ubuntu/setup_neutron_compute.sh similarity index 100% rename from scripts/ubuntu/setup_neutron_compute.sh rename to oslabs/osbash/scripts/ubuntu/setup_neutron_compute.sh diff --git a/scripts/ubuntu/setup_neutron_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_neutron_controller.sh similarity index 100% rename from scripts/ubuntu/setup_neutron_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_neutron_controller.sh diff --git a/scripts/ubuntu/setup_neutron_network.sh b/oslabs/osbash/scripts/ubuntu/setup_neutron_network.sh similarity index 100% rename from scripts/ubuntu/setup_neutron_network.sh rename to oslabs/osbash/scripts/ubuntu/setup_neutron_network.sh diff --git a/scripts/ubuntu/setup_nova_compute.sh b/oslabs/osbash/scripts/ubuntu/setup_nova_compute.sh similarity index 100% rename from scripts/ubuntu/setup_nova_compute.sh rename to oslabs/osbash/scripts/ubuntu/setup_nova_compute.sh diff --git a/scripts/ubuntu/setup_nova_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_nova_controller.sh similarity index 100% rename from scripts/ubuntu/setup_nova_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_nova_controller.sh diff --git a/scripts/ubuntu/setup_telemetry_compute.sh b/oslabs/osbash/scripts/ubuntu/setup_telemetry_compute.sh similarity index 100% rename from scripts/ubuntu/setup_telemetry_compute.sh rename to oslabs/osbash/scripts/ubuntu/setup_telemetry_compute.sh diff --git a/scripts/ubuntu/setup_telemetry_controller.sh b/oslabs/osbash/scripts/ubuntu/setup_telemetry_controller.sh similarity index 100% rename from scripts/ubuntu/setup_telemetry_controller.sh rename to oslabs/osbash/scripts/ubuntu/setup_telemetry_controller.sh diff --git a/scripts/yum_init.sh b/oslabs/osbash/scripts/yum_init.sh similarity index 100% rename from scripts/yum_init.sh rename to oslabs/osbash/scripts/yum_init.sh diff --git a/scripts/yum_update.sh b/oslabs/osbash/scripts/yum_update.sh similarity index 100% rename from scripts/yum_update.sh rename to oslabs/osbash/scripts/yum_update.sh diff --git a/scripts/zero_empty.sh b/oslabs/osbash/scripts/zero_empty.sh similarity index 100% rename from scripts/zero_empty.sh rename to oslabs/osbash/scripts/zero_empty.sh diff --git a/tools/README.rst b/oslabs/osbash/tools/README.rst similarity index 100% rename from tools/README.rst rename to oslabs/osbash/tools/README.rst diff --git a/tools/downloader.js b/oslabs/osbash/tools/downloader.js similarity index 100% rename from tools/downloader.js rename to oslabs/osbash/tools/downloader.js diff --git a/tools/get_upstart_logs.sh b/oslabs/osbash/tools/get_upstart_logs.sh similarity index 100% rename from tools/get_upstart_logs.sh rename to oslabs/osbash/tools/get_upstart_logs.sh diff --git a/tools/repeat-test.sh b/oslabs/osbash/tools/repeat-test.sh similarity index 100% rename from tools/repeat-test.sh rename to oslabs/osbash/tools/repeat-test.sh diff --git a/tools/restore-cluster.sh b/oslabs/osbash/tools/restore-cluster.sh similarity index 100% rename from tools/restore-cluster.sh rename to oslabs/osbash/tools/restore-cluster.sh diff --git a/tools/test-once.sh b/oslabs/osbash/tools/test-once.sh similarity index 100% rename from tools/test-once.sh rename to oslabs/osbash/tools/test-once.sh diff --git a/wbatch/README.rst b/oslabs/osbash/wbatch/README.rst similarity index 100% rename from wbatch/README.rst rename to oslabs/osbash/wbatch/README.rst diff --git a/oslabs/stacktrain.py b/oslabs/stacktrain.py new file mode 100644 index 00000000..e69de29b diff --git a/oslabs/stacktrain/__init__.py b/oslabs/stacktrain/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/oslabs/stacktrain/lib/__init__.py b/oslabs/stacktrain/lib/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/oslabs/tests/__init__.py b/oslabs/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/oslabs/tests/base.py b/oslabs/tests/base.py new file mode 100644 index 00000000..1c30cdb5 --- /dev/null +++ b/oslabs/tests/base.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +# Copyright 2010-2011 OpenStack Foundation +# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from oslotest import base + + +class TestCase(base.BaseTestCase): + + """Test case base class for all unit tests.""" diff --git a/oslabs/tests/oslabs.py b/oslabs/tests/oslabs.py new file mode 100644 index 00000000..f306ed1d --- /dev/null +++ b/oslabs/tests/oslabs.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Test StackTrain! +---------------------------------- + +Tests for `stacktrain` module. +""" + +from oslabs.tests import base + + +class TestLabs(base.TestCase): + + def test_something(self): + pass diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..25157710 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. + +pbr<2.0,>=1.4 +libvirt-python diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..25c5c419 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,52 @@ +[metadata] +name = training-labs +summary = Automated OpenStack Deployments +description-files = + README.rst +author = OpenStack +author-email = openstack-dev@lists.openstack.org +home-page = http://www.openstack.org/ +classifier = + Environment :: OpenStack + Intended Audience :: Information Technology + Intended Audience :: System Administrators + License :: OSI Approved :: Apache Software License + Operating System :: POSIX :: Linux + Programming Language :: Python + Programming Language :: Python :: 2 + Programming Language :: Python :: 2.7 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.3 + Programming Language :: Python :: 3.4 + +[files] +packages = + labs + +[build_sphinx] +build-dir = doc/source +source-dir = doc/build +all_files = 1 + +[upload_sphinx] +upload-dir = doc/build/html + +[compile_catalog] +directory = labs/locale +domain = labs + +[update_catalog] +domain = labs +output_dir = labs/locale +input_file = labs/locale/labs.pot + +[extract_messages] +keywords = _ gettext ngettext l_ lazy_gettext +mapping_file = babel.cfg +output_file = labs/locale/labs.pot + +[pbr] +warnerrors = True + +[wheel] +universal = 1 diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..056c16c2 --- /dev/null +++ b/setup.py @@ -0,0 +1,29 @@ +# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT +import setuptools + +# In python < 2.7.4, a lazy loading of package `pbr` will break +# setuptools if some other modules registered functions in `atexit`. +# solution from: http://bugs.python.org/issue15881#msg170215 +try: + import multiprocessing # noqa +except ImportError: + pass + +setuptools.setup( + setup_requires=['pbr'], + pbr=True) diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 00000000..84453288 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,16 @@ +# The order of packages is significant, because pip processes them in the order +# of appreance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +hacking<0.11,>=0.10.0 + +coverage>=3.6 +discover +python-subunit>=0.0.18 +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 +oslosphinx>=2.5.0 # Apache-2.0 +oslotest>=1.10.0 # Apache-2.0 +testrepository>=0.0.18 +testscenarios>=0.4 +testtools>=1.4.0 + +bashate # pep8 equivalent for bash scripts diff --git a/tools/generate-labs.sh b/tools/generate-labs.sh new file mode 100755 index 00000000..ce88b6fb --- /dev/null +++ b/tools/generate-labs.sh @@ -0,0 +1,24 @@ +#!/bin/bash - +# +# DESCRIPTION +# +# User by tox.ini to create required scripts and tar balls for +# hosting the contents of this project. +# + +set -o nounset # Treat unset variables as an error + +# Create tarball of labs scripts for Linux/OS X users +tar --exclude=*.iso \ + --exclude=*.vdi \ + --exclude=*.log \ + --exclude=*.auto \ + -czf build/labs-scripts.tgz oslabs/osbash + + +# Generate Windows batch scripts +oslabs/osbash/osbash.sh -w cluster +# Create zip file of labs scripts for Windows users +zip -r build/labs-scripts.zip oslabs/osbash \ + -x *.iso *.vdi *.log *.auto + diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..c5aa0972 --- /dev/null +++ b/tox.ini @@ -0,0 +1,73 @@ +[tox] +minversion = 1.6 +envlist = py27,pypy,pep8,bash8 +skipsdist = True + +[testenv] +usedevelop = True +# Every entry needs new line ... +whitelist_externals = bash + find + cp + mkdir + rm + sed +install_command = pip install -U --force-reinstall {opts} {packages} +setenv = VIRTUAL_ENV={envdir} + OS_TEST_PATH=./labs/tests/ + LANGUAGE=en_US + LC_ALL=en_US.utf-8 +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt +commands = + find . -type f -name "*.pyc" -delete + +[tox:jenkins] +downloadcache = ~/cache/pip + +[testenv:pep8] +commands = flake8 + +[testenv:venv] +commands = {posargs} + +[testenv:docs] +commands = python setup.py build_sphinx + +[testenv:debug] +commands = oslo_debug_helper {posargs} + +[flake8] +# E123, E125 skipped as they are invalid PEP-8. + +show-source = True +ignore = E123,E125 +builtins = _ +exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build +max-complexity=35 + +[testenv:bash8] +deps = bashate +whitelist_externals = bash +commands = + bash -c "find {toxinidir} \ + -not \( -type d -name .?\* -prune \) \ # prune all 'dot' dirs + -not \( -type d -name doc -prune \) \ # skip docs dir + -type f \ # only files + -not -name \*~ \ # skip editors, readme, etc + -not -name \*.md \ + \( \ + -name \*.sh -or \ + -name \*rc -or \ + -name functions\* -or \ + -wholename \*/inc/\* -or \ # /inc files and + -wholename \*/lib/\* \ # /lib files are shell, but + \) \ # have no extension + -print0 | xargs -0 bashate -v" + + +[testenv:labs] +# Generate required tar-balls +commands = + mkdir -p {toxinidir}/build + bash {toxinidir}/tools/generatelabs.sh