Change-Id: I668a784cb4991c165da7671757b43b9685b9c535changes/16/279016/1
@@ -0,0 +1,7 @@ | |||
[run] | |||
branch = True | |||
source = namos | |||
omit = namos/openstack/* | |||
[report] | |||
ignore_errors = True |
@@ -0,0 +1,56 @@ | |||
*.py[cod] | |||
# C extensions | |||
*.so | |||
# Packages | |||
*.egg* | |||
*.egg-info | |||
dist | |||
build | |||
eggs | |||
parts | |||
bin | |||
var | |||
sdist | |||
develop-eggs | |||
.installed.cfg | |||
lib | |||
lib64 | |||
# Installer logs | |||
pip-log.txt | |||
# Unit test / coverage reports | |||
cover/ | |||
.coverage* | |||
!.coveragerc | |||
.tox | |||
nosetests.xml | |||
.testrepository | |||
.venv | |||
# Translations | |||
*.mo | |||
# Mr Developer | |||
.mr.developer.cfg | |||
.project | |||
.pydevproject | |||
.idea | |||
# Complexity | |||
output/*.html | |||
output/*/index.html | |||
# Sphinx | |||
doc/build | |||
# pbr generates these | |||
AUTHORS | |||
ChangeLog | |||
# Editors | |||
*~ | |||
.*.swp | |||
.*sw? |
@@ -0,0 +1,3 @@ | |||
# Format is: | |||
# <preferred e-mail> <other e-mail 1> | |||
# <preferred e-mail> <other e-mail 2> |
@@ -0,0 +1,7 @@ | |||
[DEFAULT] | |||
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ | |||
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ | |||
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ | |||
${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION | |||
test_id_option=--load-list $IDFILE | |||
test_list_option=--list |
@@ -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/soman |
@@ -0,0 +1,4 @@ | |||
namos Style Commandments | |||
=============================================== | |||
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ |
@@ -0,0 +1,176 @@ | |||
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. | |||
@@ -0,0 +1,6 @@ | |||
include AUTHORS | |||
include ChangeLog | |||
exclude .gitignore | |||
exclude .gitreview | |||
global-exclude *.pyc |
@@ -1,7 +1,16 @@ | |||
=========================================== | |||
Namos - an OpenStack Infrastructure Manager | |||
=========================================== | |||
=============================== | |||
namos | |||
=============================== | |||
For Openstack, Namos provides the similar functionalities of 'device manager' in traditional Operating System. | |||
OpenStack Service, Device manager | |||
More details at https://wiki.openstack.org/wiki/Namos | |||
* Free software: Apache license | |||
* Documentation: http://docs.openstack.org/developer/namos | |||
* Source: http://git.openstack.org/cgit/openstack/namos | |||
* Bugs: http://bugs.launchpad.net/soman | |||
* Wiki: https://wiki.openstack.org/wiki/Namos | |||
Features | |||
-------- | |||
* Automatic discovery of OpenStack deployment architecture |
@@ -0,0 +1,2 @@ | |||
[python: **.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'namos' | |||
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} |
@@ -0,0 +1,4 @@ | |||
============ | |||
Contributing | |||
============ | |||
.. include:: ../../CONTRIBUTING.rst |
@@ -0,0 +1,25 @@ | |||
.. namos 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 namos's documentation! | |||
======================================================== | |||
Contents: | |||
.. toctree:: | |||
:maxdepth: 2 | |||
readme | |||
installation | |||
usage | |||
contributing | |||
Indices and tables | |||
================== | |||
* :ref:`genindex` | |||
* :ref:`modindex` | |||
* :ref:`search` | |||
@@ -0,0 +1,12 @@ | |||
============ | |||
Installation | |||
============ | |||
At the command line:: | |||
$ pip install namos | |||
Or, if you have virtualenvwrapper installed:: | |||
$ mkvirtualenv namos | |||
$ pip install namos |
@@ -0,0 +1 @@ | |||
.. include:: ../../README.rst |
@@ -0,0 +1,7 @@ | |||
======== | |||
Usage | |||
======== | |||
To use namos in a project:: | |||
import namos |
@@ -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( | |||
'namos').version_string() |
@@ -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.""" |
@@ -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_namos | |||
---------------------------------- | |||
Tests for `namos` module. | |||
""" | |||
from namos.tests import base | |||
class TestNamos(base.TestCase): | |||
def test_something(self): | |||
pass |
@@ -0,0 +1,5 @@ | |||
# 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>=1.6 |
@@ -0,0 +1,45 @@ | |||
[metadata] | |||
name = namos | |||
summary = OpenStack Service, Device manager | |||
description-file = | |||
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.4 | |||
[files] | |||
packages = | |||
namos | |||
[build_sphinx] | |||
source-dir = doc/source | |||
build-dir = doc/build | |||
all_files = 1 | |||
[upload_sphinx] | |||
upload-dir = doc/build/html | |||
[compile_catalog] | |||
directory = namos/locale | |||
domain = namos | |||
[update_catalog] | |||
domain = namos | |||
output_dir = namos/locale | |||
input_file = namos/locale/namos.pot | |||
[extract_messages] | |||
keywords = _ gettext ngettext l_ lazy_gettext | |||
mapping_file = babel.cfg | |||
output_file = namos/locale/namos.pot |
@@ -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) |
@@ -0,0 +1,14 @@ | |||
# 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. | |||
hacking<0.11,>=0.10.0 | |||
coverage>=3.6 | |||
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 |
@@ -0,0 +1,60 @@ | |||
[tox] | |||
minversion = 2.0 | |||
envlist = py34-constraints,py27-constraints,pypy-constraints,pep8-constraints | |||
skipsdist = True | |||
[testenv] | |||
usedevelop = True | |||
install_command = | |||
constraints: {[testenv:common-constraints]install_command} | |||
pip install -U {opts} {packages} | |||
setenv = | |||
VIRTUAL_ENV={envdir} | |||
deps = -r{toxinidir}/test-requirements.txt | |||
commands = python setup.py test --slowest --testr-args='{posargs}' | |||
[testenv:common-constraints] | |||
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} | |||
[testenv:pep8] | |||
commands = flake8 {posargs} | |||
[testenv:pep8-constraints] | |||
install_command = {[testenv:common-constraints]install_command} | |||
commands = flake8 {posargs} | |||
[testenv:venv] | |||
commands = {posargs} | |||
[testenv:venv-constraints] | |||
install_command = {[testenv:common-constraints]install_command} | |||
commands = {posargs} | |||
[testenv:cover] | |||
commands = python setup.py test --coverage --testr-args='{posargs}' | |||
[testenv:cover-constraints] | |||
install_command = {[testenv:common-constraints]install_command} | |||
commands = python setup.py test --coverage --testr-args='{posargs}' | |||
[testenv:docs] | |||
commands = python setup.py build_sphinx | |||
[testenv:docs-constraints] | |||
install_command = {[testenv:common-constraints]install_command} | |||
commands = python setup.py build_sphinx | |||
[testenv:debug] | |||
commands = oslo_debug_helper {posargs} | |||
[testenv:debug-constraints] | |||
install_command = {[testenv:common-constraints]install_command} | |||
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 |