adding docs

Change-Id: I0eef8bec16029e27ab27d8bb7dc69e5aa211e2ab
This commit is contained in:
amitgandhinz 2014-08-07 16:40:19 -04:00
parent 9392ac7129
commit 1146543147
16 changed files with 914 additions and 15 deletions

2
doc/requirements.txt Normal file
View File

@ -0,0 +1,2 @@
oslosphinx
sphinx

18
doc/source/api.rst Normal file
View File

@ -0,0 +1,18 @@
..
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.
The Poppy API
=============

View File

@ -0,0 +1,88 @@
..
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.
Contributing to Poppy
=====================
First steps
-----------
Interested in contributing to Poppy? That's great to hear!
First of all, make sure to join our communication forums:
* Subscribe to our [[MailingLists|mailing lists]].
* Join us on IRC! You can chat with us directly in the '''#openstack-poppy''' channel on '''irc.freenode.org'''. Don't know to use IRC? You can find some directions in [[UsingIRC]] wiki page.
* Answer and ask questions on [https://ask.openstack.org/ Ask OpenStack].
How can I contribute?
---------------------
You can contribute to Poppy in many ways. Of course, coding is one, but you can also contribute as a tester, documenter, designer, or translator.
Coding
~~~~~~
Bug fixing and triaging
~~~~~~~~~~~~~~~~~~~~~~~
The first area where you can help is bug fixing. ''Confirmed'' bugs are usually your best choice. ''Triaged bugs'' should even contain tips on how you can fix them.
Once you selected the bug you want to work on, go ahead and assign it to yourself, branch the code, implement the fix, and propose your change for merging into trunk!
Some easy-to-fix bugs may be marked with the '''low-hanging-fruit''' tag. Those are good targets for a beginner.
Reported bugs need care: prioritizing them correctly, confirming them, making sure they don't go stale... All those tasks help immensely. If you want to start contributing in coding but you are not a hardcore developer, consider helping in this area!
Bugs can be marked with different tags according to their status, as follows:
* ''New'' bugs are those bugs that have been reported by a user but haven't been verified by the community yet.
* ''Confirmed'' bugs are those bugs that have been reproduced by someone else than the reporter.
* ''Triaged'' bugs are those bugs that have been reproduced by a core developer.
* ''Incomplete'' bugs are those bugs that don't have enough information to be reproduced.
* ''In Progress'' bugs are those bugs that are being fixed by a developer.
* ''Invalid'' bugs are those bugs that don't qualify as a bug. These usually stem from a support request or something unrelated to the project.
You can learn more, see Launchpad's [http://blog.launchpad.net/general/of-bugs-and-statuses Of Bugs and Statuses].
You only have to worry about ''New'' bugs. If you can reproduce them, you can mark them as ''Confirmed''. If you cannot reproduce them, you can ask the reporter to provide more information and mark them as ''Incomplete''. If you think that they aren't bugs, mark them as "Invalid". (Be careful! Asking someone else in Poppy is always a good idea.)
Also, you can contribute instructions about how to fix a given bug.
Check out the [[BugTriage|Bug Triage]] wiki for more information.
Reviewing
~~~~~~~~~
Every patch submitted to OpenStack gets reviewed before it can be approved and merged. We get a lot of contributions and everyone can - and is encouraged! [https://review.openstack.org/#/q/status:open+project:stackforge/poppy,n,z Review Poppy's existing patches]. Pick an open review and go through it. Test it if possible, and leave a comment with a +1 or -1 vote describing what you discovered. If you're planning to submit patches of your own, this is a great way to learn about what the community cares about and to learn about the code base.
Feature development
~~~~~~~~~~~~~~~~~~~
Once you get familiar with the code, you can start to contribute new features. New features get implemented every 6 months in a [[ReleaseCycle|development cycle]]. We use Launchpad [[Blueprints]] to track the design and implementation of significant features, and we use Design Summits every 6 months to discuss them in public. Code should be proposed for inclusion before we reach the final feature milestone of the development cycle.
Testing
~~~~~~~
Testing efforts are highly related to coding. If you find that there are test cases missing or that some tests could be improved, you are encouraged to report it as a bug, and then provide your fix. Learn more about this in Write The Tests!
Documenting
~~~~~~~~~~~
You can contribute to Poppy's Users Guide and Poppy's Wiki. See Documentation/HowTo for details, as well as Documentation/HowTo/FirstTimers, which has some other info that may be useful.
To fix a documentation bug, check the bugs marked with the 'doc' tag in Poppy's [https://bugs.launchpad.net/poppy/+bugs?field.tag=doc bug list]. In case that you want to report a documentation bug, then don't forget to add the 'doc' tag to it :)
You can also start by reading the developer documentation which is created using Sphinx as part of the code in the /doc/source/ directory and published to [https://poppy.readthedocs.org Read The Docs].
Also, monitor [http://ask.openstack.org Ask OpenStack] to curate the best answers that can be folded into the documentation.

View File

@ -0,0 +1,124 @@
..
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.
Using Gerrit
============
Before you begin
~~~~~~~~~~~~~~~~
To familiarize yourself with Poppy, try it out using the information in our [https://github.com/stackforge/poppy repo]. When you are ready to start contributing, you will need to execute an [https://wiki.openstack.org/wiki/How_To_Contribute#Contributors_License_Agreement OpenStack CLA]. This is required before you can submit reviews to our [https://github.com/stackforge/poppy Poppy StackForge Repo]. For information about how prepare for contribution, please consult the [https://wiki.openstack.org/wiki/How_To_Contribute How To Contribute]] wiki page.
Learn about Gerrit
------------------
Be sure to read the [[Gerrit_Workflow|Gerrit Workflow]] wiki page for information about how to submit your commit for review so it can be merged into the Poppy code base.
Setting up your git review settings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@youremail.com"
git config --global gitreview.username "your_launchpad_username"
To check your git configuration:
git config --list
Installing git-review
~~~~~~~~~~~~~~~~~~~~~
On Ubuntu, MacOSX, or most other Unix-like systems, use the following command:
pip install git-review
There are other installation options detailed in the [[Gerrit_Workflow#Git_Review_Installation|Installation Instructions]]. You can now check out the Poppy code and begin working on it.
Your first commit
=================
Set up your local branch
~~~~~~~~~~~~~~~~~~~~~~~~
Use the following commands to set up your local branch:
git clone git://git.openstack.org/stackforge/poppy
cd poppy
git checkout -b [branch name]
git review -s
Create a topic branch to hold your work and switch to it. If you are working on a blueprint, name your topic branch bp/BLUEPRINT where BLUEPRINT is the name of a blueprint in launchpad (for example, "bp/authentication"). The general convention when working on bugs is to name the branch bug/BUG-NUMBER (for example, "bug/1234567"). Otherwise, give it a meaningful name because it will show up as the topic for your change in Gerrit.
Write some awesome code
~~~~~~~~~~~~~~~~~~~~~~~
At this point can write your code and push it to Gerrit for review by using the following commands:
git add <list of files you added/changed>
git commit -a
git review -v --draft
Once you are happy with your code and want it to be reviewed, you want to convert it from a Draft. "Sign In" at https://review.openstack.org/ and after verifying the review yourself, hit the "Publish" button on the page.
If you know you are ready for others to review your code, you can skip the draft step and use:
git review -v
If you want to revise your patchset in the review system in response to feedback, make your changes, then use:
git commit -a --amend
git review -v
Upon approval of the review, your code is automatically merged.
Reviews
-------
The OpenStack CI system uses the concept of core reviewers. These are individuals who have consistently reviewed code for the project, and helped over a considerable period of time to improve the quality and consistency of what we merge into the code base. Project contributors feel that this reviewer is a positive influence on the team and that they maintain the values and traditions of the OpenStack development community.
Policies
--------
Existing core reviewers may nominate new ones in an ML thread. Consent among the current reviewers shall result in the declaration of the new core reviewer by the PTL. Lack of unanimous consent shall be carefully considered, and a final decision informed by input from from active team members shall be made by the PTL. Core reviewers who are judged by their peers in the core review group to fall short of the expectations for contribution of a core reviewer may be nominated for return to regular reviewer status.
The current Gerrit policy is:
label-Code-Review = -2..+2 group poppy-core
label-Approved = +0..+1 group poppy-core
Patches require a core reviewer to mark a review as "Approved" before they are merged.
Review Guidelines
-----------------
Code Approval for Merge
~~~~~~~~~~~~~~~~~~~~~~~
* For Approval, two core reviewers shall supply a <code>+2</code>.
Continuing Someone Else's Contribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* If a patch submitted by one contributor is picked up and completed by another contributor, [http://www.mail-archive.com/openstack-dev@lists.openstack.org/msg05998.html special handling] of the resolution should be used.
Advice for Reviewers
~~~~~~~~~~~~~~~~~~~~
* A <code>-1</code> vote is an opportunity to make our code better before it is merged. Please do your best to make helpful, actionable -1 votes.
* Avoid the temptation to blindly <code>+1</code> code without reviewing it in sufficient detail to form an opinion.
* When voting <code>-1</code> on a patch, it means that you want the submitter to make a revision in accordance with your feedback before core reviewers should consider this code for merge.
* If you ask a question, you should vote <code>0</code> unless you anticipate that the answer to that question is likely to cause you to vote against the patch without further revisions.
* If you use a <code>-1</code> vote for a question, and the contributor answers the question, please respond acknowledging the question. Either change your vote or follow up with additional rationale for why this should remain a <code>-1</code> comment.
* A <code>-2</code> vote is a veto by a single core reviewer. It is sticky. That means that even if you revise your patch, that vote will persist. To allow your patch to merge, that same reviewer must clear the <code>-2</code> vote first. This vote is used when you have contributed something that is not in alignment with the current project vision, or is implemented in a way that can not be accepted. For example, security concerns that a core reviewer wants to individually re-evaluate before allowing the contribution to continue. It can also be used as a way to halt further gate testing of a patch, if something is included that may break the gate. It works even after a <code>2*+2,+A</code> approval for merge, but before the patch reaches MERGED state.
* To avoid a <code>-2</code> vote, discuss your plans with the development team prior to writing code, and post a WIP (workflow-1) patch while you are working on it, and ask for input before you submit it for merge review.
Testing
=======
See our [[Poppy/Testing]] wiki.

View File

@ -0,0 +1,100 @@
..
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.
Installing Poppy
================
**Note:** These instructions are for running a local instance of Poppy. We suggest you run this inside a `virtualenv`_.
You must have `CassandraDB`_ installed and running. We recommend using Docker (see below)
1. From your home folder, create the ``~/.poppy`` folder and clone the repo::
$ cd
$ mkdir .poppy
$ git clone https://github.com/stackforge/poppy.git
2. Copy the Poppy config files to the directory ``~/.poppy``::
$ cp poppy/etc/poppy.conf ~/.poppy/poppy.conf
$ cp poppy/etc/logging.conf ~/.poppy/logging.conf
3. Find the ``[drivers:storage:cassandradb]`` section in
``~/.poppy/poppy.conf`` and modify the URI to point
to your local casssandra cluster::
[drivers:storage:cassandra]
cluster = "localhost"
keyspace = poppy
4. You need to create the default keyspace "poppy" on your cassandra host/cluster.
Log into cqlsh, do::
cqlsh> CREATE KEYSPACE poppy WITH REPLICATION = { 'class' : 'SimpleStrategy' , 'replication_factor' : 1} ;
5. For logging, find the ``[DEFAULT]`` section in
``~/.poppy/poppy.conf`` and modify as desired::
log_file = server.log
6. Change directories back to your local copy of the repo::
$ cd poppy
7. Run the following command so you can see the results of any changes you
make to the code without having to reinstall the package each time::
$ pip install -e .
8. Start the Poppy server::
$ poppy-server
9. Test that Poppy is working by requesting the home doc (with a sample project ID)::
$ curl -i -X GET http://0.0.0.0:8888/v1.0/123
You should get an **HTTP 200** along with some headers that look similar to the following example::
HTTP/1.0 200 OK
Date: Thu, 13 Feb 2014 14:34:21 GMT
Server: WSGIServer/0.1 Python/2.7.3
Content-Length: 464
Content-Type: application/json-home
Cache-Control: max-age=86400
Installing `CassandraDB`_ (using Docker)
------------------------------------------------
1. From the `docker/cassandra` folder::
$ docker build -t db .
2. Open the 9160 and 9042 ports for Cassandra.
Name the container 'cassandra'::
$ docker run -d -p 9160:9160 -p 9042:9042 --name cassandra db
3. Test the running cassandra instance (you may need to ``pip install cqlsh``)::
$ cqlsh <local ip> 9160
Where local ip is the ip address of your running docker container
4. Import the schema file from the poppy/storage/cassandra/schema.cql file.
.. _`CassandraDB` : http://cassandra.apache.org
.. _`virtualenv` : https://pypi.python.org/pypi/virtualenv/

View File

@ -0,0 +1,35 @@
..
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.
Running tests
=============
First, install the additional requirements using the following command::
$ pip install tox
Then run tests using the following command::
$ tox
Tox checks that Poppy works against the following environments::
python 2.6
python 2.7
python 3.3
pypy
Tox also performs the following coding enforcement checks::
pep8
code coverage (100% required)

66
doc/source/glossary.rst Normal file
View File

@ -0,0 +1,66 @@
..
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.
Glossary
========
Concepts
========
Poppy is an OpenStack-related project to provide a generic and modular vendor-neutral API that wraps provisioning instructions for CDN vendors that support it.
.. glossary::
Caching Rule
A caching rule provides the user with fine-grained control over the time-to-live (TTL) of an object. When the TTL expires for an object, the edge node pulls the object from the origin again.
Domain
A domain represents the domain name through which visitors retrieve content. The underlying site may be served through a CDN. A service can have multiple domains. A user typically uses CNAME for this domain to their CDN provider.
Driver
Poppy has a modular API where many components are interchangeable. These components are known as drivers (see Stevedore Framework). It is possible to use different transport drivers, manager drivers, storage drivers, and provider drivers.
Edge Node
CDN providers have many points-of-presence (POP) servers around the world. These servers are known as edge nodes. These edge nodes cache the content and serve it directly to customers, thus reducing transit time to a customers location.
Flavor
A flavor allows the user to decide what CDN providers they would like their service to use. Operators can define the flavors offered, and assign a CDN provider belonging to that flavor. Use flavors to abstract away the underlying provider used.
Manager Driver
A manager driver contains the business logic within the application. This driver is responsible for delegating tasks to Storage and Provider Drivers.
Origin
An origin is an address (ip or domain) from which the CDN provider pulls content. A service can have multiple origins.
Provider
There are many established CDN vendors in the market. A provider is one of these vendors, who has decided to participate in the Poppy project. These participating providers will have a provider driver that can communicate with their API.
Provider Driver
A provider driver is responsible for communicating with the third party providers who are participating in the Poppy project.
Purge
Purging removes content from the edge servers, so it can be refreshed from your origin servers.
Restriction
A restriction enables the user to define rules about who can or cannot access content from the cache. Examples of a restriction are allowing requests only from certain domains, geographies, or IP addresses.
Service
A service represents a customers' application that has its content cached to the edge nodes.
Status
The time it takes for a service configuration to be distributed amongst a CDN provider cache can vary. The status indicates the current state of the service.
Storage Driver
A storage driver is responsible for communicating with the chosen data store to store service configurations.
Transport Driver
A transport driver handles the incoming requests to the API. The recommended transport driver for Poppy is the Pecan Driver based on WSGI.

View File

@ -1,25 +1,25 @@
..
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
..
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
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.
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.
Welcome to Poppy's documentation!
=================================
Welcome to Poppy's developer documentation!
===========================================
Poppy is an OpenStack related project to provide a generic and modular vendor-neutral API that wraps provisioning instructions for CDN vendors that support it.
Poppy is an OpenStack-related project to provide a generic and modular vendor-neutral API which wraps provisioning instructions for CDN vendors that support it.
Poppy, as with all OpenStack projects, is written with the following design
guidelines in mind:
* **Component based architecture**: Quickly add new behaviors
* **Component-based architecture**: Quickly add new behaviors
* **Highly available**: Scale to very serious workloads
* **Fault tolerant**: Isolated processes avoid cascading failures
* **Recoverable**: Failures should be easy to diagnose, debug, and rectify
@ -32,3 +32,48 @@ be found on the `OpenStack wiki`_. Cloud administrators, refer to `docs.openstac
.. _`OpenStack wiki`: http://wiki.openstack.org
.. _`docs.openstack.org`: http://docs.openstack.org
Concepts
========
.. toctree::
:maxdepth: 1
glossary
Getting Started
===============
.. toctree::
:maxdepth: 1
gettingstarted_installing
gettingstarted_testing
gettingstarted_contributing
gettingstarted_gerrit
Operating Poppy
===============
.. toctree::
:maxdepth: 1
ops
Developer Docs
==============
.. toctree::
:maxdepth: 3
poppy
Using Poppy's API
=================
.. toctree::
:maxdepth: 1
api

16
doc/source/ops.rst Normal file
View File

@ -0,0 +1,16 @@
..
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.
Operating Poppy
===============

View File

@ -0,0 +1,67 @@
..
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.
:mod:`poppy.manager` drivers
============================
:mod:`poppy.manager.base` base classes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.manager.base.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.base.controller
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.base.services
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.base.v1
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.base.providers
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.manager.default` driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.manager.default.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.default.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.default.services
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.manager.default.v1
:members:
:undoc-members:
:show-inheritance:

View File

@ -0,0 +1,50 @@
..
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.
:mod:`poppy.model` module
=========================
.. automodule:: poppy.model.service
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.domain
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.origin
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.cachingrule
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.restriction
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.rule
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.model.helpers.link
:members:
:undoc-members:
:show-inheritance:

View File

@ -0,0 +1,88 @@
..
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.
:mod:`poppy.provider` extensions
================================
:mod:`poppy.provider.base` base classes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.provider.base.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.base.controller
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.base.responder
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.base.services
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.provider.fastly` extension
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.provider.fastly
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.fastly.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.fastly.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.fastly.services
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.provider.mock` extension
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.provider.mock
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.mock.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.mock.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.provider.mock.services
:members:
:undoc-members:
:show-inheritance:

34
doc/source/poppy.rst Normal file
View File

@ -0,0 +1,34 @@
..
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.
``poppy`` package
=================
.. automodule:: poppy.bootstrap
:members:
:undoc-members:
:show-inheritance:
-------------------
**Sub-modules:**
.. toctree::
poppy.model
poppy.transport
poppy.manager
poppy.storage
poppy.provider

View File

@ -0,0 +1,107 @@
..
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.
:mod:`poppy.storage` drivers
============================
:mod:`poppy.storage.base` base classes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.storage.base
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.base.controller
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.base.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.base.services
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.storage.cassandra` driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.storage.cassandra
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.cassandra.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.cassandra.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.cassandra.services
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.storage.mongodb` driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.storage.mongodb
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mongodb.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mongodb.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mongodb.services
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.storage.mockdb` driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.storage.mockdb
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mockdb.controllers
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mockdb.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.storage.mockdb.services
:members:
:undoc-members:
:show-inheritance:

View File

@ -0,0 +1,54 @@
..
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.
:mod:`poppy.transport` drivers
==============================
.. automodule:: poppy.transport
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.transport.base
:members:
:undoc-members:
:show-inheritance:
:mod:`poppy.transport.pecan` driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: poppy.transport.pecan.controllers.base
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.transport.pecan.controllers.root
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.transport.pecan.driver
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.transport.pecan.controllers.services
:members:
:undoc-members:
:show-inheritance:
.. automodule:: poppy.transport.pecan.controllers.v1
:members:
:undoc-members:
:show-inheritance:

View File

@ -39,7 +39,12 @@ commands = pylint ./poppy
pylint ./tests
[testenv:docs]
commands = python setup.py build_sphinx
deps = -r{toxinidir}/requirements/requirements.txt
-r{toxinidir}/tests/test-requirements.txt
commands =
python setup.py build_sphinx -E -a
python setup.py build_sphinx -E -a -b doctest
python setup.py build_sphinx -E -a -b coverage
[testenv:cover]
setenv = NOSE_WITH_COVERAGE=1