diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b0ddb40 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +*~ +*.pyc +*.local +AUTHORS +ChangeLog +MANIFEST +dist/ +.venv/ +build/* +build-stamp +cover/* +doc/build/ +doc/source/api/ +*.egg-info +*.egg* +.autogenerated +.coverage +.testrepository/ +.tox/ diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..e0339dc --- /dev/null +++ b/README.rst @@ -0,0 +1,23 @@ +OpenStack Performance Documentation +=================================== + +This repository is for OpenStack performance testing plans, results and investigation documents. +All documents are in RST format and located in `doc/source/` sub-folder. + +Building +======== + +Prerequisites +------------- + +To get started, you need to install all necessary tools: + * `virtualenv` + * `pip` (use the latest from `https://bootstrap.pypa.io/get-pip.py`) + * `tox` + * system dependencies: `libjpeg-dev` + +Run the build +------------- + + $ tox + diff --git a/doc/source/_static/openstack_logo.png b/doc/source/_static/openstack_logo.png new file mode 100644 index 0000000..6c07869 Binary files /dev/null and b/doc/source/_static/openstack_logo.png differ diff --git a/doc/source/_styles/pdf.style b/doc/source/_styles/pdf.style new file mode 100644 index 0000000..159f6a0 --- /dev/null +++ b/doc/source/_styles/pdf.style @@ -0,0 +1,611 @@ + + # List any fonts you would like to embed in the PDF here + embeddedFonts: [] + + # Default page setup. Can be overridden by including other + # stylesheets with -s + + pageSetup: + size: A4 + width: null + height: null + margin-top: 2cm + margin-bottom: 2cm + margin-left: 2cm + margin-right: 2cm + margin-gutter: 0cm + spacing-header: 5mm + spacing-footer: 5mm + + # The first template is one of the 'pageTemplates" + # (See next section) + + firstTemplate: coverPage + + # pageTemplates can be accessed with the .. raw:: pdf PageBreak command + + pageTemplates: + coverPage: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : false + showFooter : false + + emptyPage: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : false + showFooter : false + + oneColumn: + frames: [] + [0cm, 0cm, 100%, 100%] + showHeader : false + showFooter : true + defaultFooter : ###Page### + + twoColumn: + frames: [] + [0cm, 0cm, 49%, 100%] + [51%, 0cm, 49%, 100%] + showHeader : true + showFooter : true + + threeColumn: + frames: [] + [2%, 0cm, 29.333%, 100%] + [35.333%, 0cm, 29.333%, 100%] + [68.666%, 0cm, 29.333%, 100%] + showHeader : true + showFooter : true + + cutePage: + frames: [] + [0%, 0%, 100%, 100%] + showHeader : false + showFooter : true + defaultFooter : -- ###Page### -- + defaultHeader : ###Section### + + fontsAlias: + stdFont: Helvetica + stdBold: Helvetica-Bold + stdItalic: Helvetica-Oblique + stdBoldItalic: Helvetica-BoldOblique + stdSans: Helvetica + stdSansBold: Helvetica-Bold + stdSansItalic: Helvetica-Oblique + stdSansBoldItalic: Helvetica-BoldOblique + stdMono: Courier + stdMonoItalic: Courier-Oblique + stdMonoBold: Courier-Bold + stdMonoBoldItalic: Courier-BoldOblique + stdSerif: Times-Roman + + linkColor: navy + + styles: + base: + parent: null + fontName: stdFont + fontSize: 10 + leading: 14 + leftIndent: 0 + rightIndent: 0 + firstLineIndent: 0 + alignment: TA_LEFT + spaceBefore: 0 + spaceAfter: 0 + bulletFontName: stdFont + bulletFontSize: 10 + bulletIndent: 0 + textColor: black + backColor: null + wordWrap: null + borderWidth: 0 + borderPadding: 0 + borderColor: null + borderRadius: null + allowWidows: false + allowOrphans: false + hyphenation: false + kerning: false + underline: false + strike: false + commands: [] + + normal: + parent: base + + title-reference: + parent: normal + fontName: stdItalic + + bodytext: + parent: normal + spaceAfter: 3 + alignment: TA_LEFT + hyphenation: true + + toc: + parent: normal + + blockquote: + parent: bodytext + leftIndent: 20 + + lineblock: + parent: bodytext + + line: + parent: lineblock + spaceBefore: 0 + + toc1: + parent: toc + fontName: stdBold + fontSize: 120% + + toc2: + parent: toc + fontName: stdBold + fontSize: 120% + leftIndent: 20 + + toc3: + parent: toc + leftIndent: 40 + + toc4: + parent: toc + leftIndent: 60 + + toc5: + parent: toc + leftIndent: 80 + + toc6: + parent: toc + leftIndent: 100 + + toc7: + parent: toc + leftIndent: 100 + + toc8: + parent: toc + leftIndent: 100 + + toc9: + parent: toc + leftIndent: 100 + + toc10: + parent: toc + leftIndent: 100 + + toc11: + parent: toc + leftIndent: 100 + + toc12: + parent: toc + leftIndent: 100 + + toc13: + parent: toc + leftIndent: 100 + + toc14: + parent: toc + leftIndent: 100 + + toc15: + parent: toc + leftIndent: 100 + + footer: + parent: normal + alignment: TA_CENTER + fontColor: #606060 + fontSize: 8 + + header: + parent: normal + alignment: TA_CENTER + fontSize: 8 + + attribution: + parent: bodytext + alignment: TA_RIGHT + + image: + parent: bodytext + alignment: TA_CENTER + + figure: + parent: bodytext + alignment: TA_CENTER + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [ALIGN, [ 0, 0 ], [ -1, -1 ], CENTER ] + colWidths: [100%] + + figure-caption: + parent: bodytext + fontName: stdItalic + alignment: TA_CENTER + + figure-legend: + parent: bodytext + + bullet-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: [10, null] + + bullet-list-item: + parent: bodytext + + item-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: [20pt, null] + + item-list-item: + parent: bodytext + + definition-list-term: + parent: normal + fontName: stdBold + spaceBefore: 4 + spaceAfter: 0 + keepWithNext: false + + definition-list-classifier: + parent: normal + fontName: stdItalic + + definition: + parent: bodytext + firstLineIndent: 0 + bulletIndent: 0 + spaceBefore: 0 + colWidths: [20pt, null] + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [LEFTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [BOTTOMPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [RIGHTPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + + fieldname: + parent: bodytext + alignment: TA_RIGHT + fontName: stdBold + + fieldvalue: + parent: bodytext + + rubric: + parent: bodytext + textColor: darkred + alignment: TA_CENTER + + italic: + parent: bodytext + fontName: stdItalic + + heading: + parent: normal + keepWithNext: true + + title: + parent: heading + fontName: stdBold + fontSize: 300% + alignment: TA_CENTER + keepWithNext: false + spaceAfter: 10 + + subtitle: + parent: title + spaceBefore: 12 + fontSize: 75% + + heading1: + parent: heading + fontName: stdBold + textColor: #D32F1A + fontSize: 200% + spaceBefore: 30 + spaceAfter: 30 + + heading2: + parent: heading + fontName: stdBold + textColor: #D32F1A + fontSize: 150% + spaceBefore: 20 + spaceAfter: 14 + + heading3: + parent: heading + fontName: stdBold + fontSize: 125% + spaceBefore: 12 + spaceAfter: 8 + + heading4: + parent: heading + fontName: stdBold + spaceBefore: 12 + spaceBefore: 8 + + heading5: + parent: heading + fontName: stdItalic + spaceBefore: 6 + spaceBefore: 4 + + heading6: + parent: heading + fontName: stdItalic + + topic-title: + parent: heading3 + + sidebar-title: + parent: heading3 + + sidebar-subtitle: + parent: heading4 + + sidebar: + float: none + width: 100% + parent: normal + backColor: "#E0E0E0" + borderColor: darkgray + borderPadding: 10 + borderWidth: 0.5 + + admonition: + parent: normal + spaceBefore: 6 + spaceAfter: 3 + borderPadding: [10, 10, 10, 10] + backColor: #E0EFFF + borderColor: #808080 + borderWidth: 0.5 + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + + attention: + parent: admonition + + caution: + parent: admonition + + danger: + parent: admonition + + error: + parent: admonition + + hint: + parent: admonition + + important: + parent: admonition + + note: + parent: admonition + + tip: + parent: admonition + + warning: + parent: admonition + + admonition-title: + parent: heading3 + + admonition-heading: + parent: base + fontName: stdBold + + attention-heading: + parent: admonition-heading + + caution-heading: + parent: admonition-heading + + danger-heading: + parent: admonition-heading + + error-heading: + parent: admonition-heading + + hint-heading: + parent: admonition-heading + + important-heading: + parent: admonition-heading + + note-heading: + parent: admonition-heading + + tip-heading: + parent: admonition-heading + + warning-heading: + parent: admonition-heading + + literal: + parent: normal + fontName: stdMono + firstLineIndent: 0 + hyphenation: false + wordWrap: null + backColor: "#FFFFF0" + textColor: "#200000" + + aafigure: + parent: literal + + table: + spaceBefore: 6 + spaceAfter: 0 + alignment: TA_CENTER + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [INNERGRID, [ 0, 0 ], [ -1, -1 ], 0.25, black ] + [ROWBACKGROUNDS, [0, 0], [-1, -1], [white, "E0E0E0"]] + [BOX, [ 0, 0 ], [ -1, -1 ], 0.25, black ] + + table-title: + parent : heading4 + keepWithNext: false + alignment : TA_CENTER + + table-heading: + parent : heading + backColor : "#F0F0F0" + alignment : TA_CENTER + valign : BOTTOM + borderPadding : 0 + + table-body: + parent : normal + + dedication: + parent : normal + + abstract: + parent : normal + + contents: + parent : normal + + tableofcontents: + parent : normal + + code: + parent: literal + fontSize: 9 + leftIndent: 0 + spaceBefore: 0 + spaceAfter: 0 + backColor: "#FFFFFF" + borderWidth: 0 + borderPadding: 0 + borderColor: #CFCFCF + + linenumber: + parent: code + + right: + parent: bodytext + alignment: right + + center: + parent: bodytext + alignment: center + + pygments-n: {parent: code} + pygments-nx: {parent: code} + pygments-p: {parent: code} + pygments-hll: {parent: code, backColor: "ffffcc"} + pygments-c: {textColor: "008800", parent: code} + pygments-err: {parent: code} + pygments-k: {textColor: "AA22FF", parent: code} + pygments-o: {textColor: "666666", parent: code} + pygments-cm: {textColor: "008800", parent: code} + pygments-cp: {textColor: "008800", parent: code} + pygments-c1: {textColor: "008800", parent: code} + pygments-cs: {textColor: "008800", parent: code} + pygments-gd: {textColor: "A00000", parent: code} + pygments-ge: {parent: code} + pygments-gr: {textColor: "FF0000", parent: code} + pygments-gh: {textColor: "000080", parent: code} + pygments-gi: {textColor: "00A000", parent: code} + pygments-go: {textColor: "808080", parent: code} + pygments-gp: {textColor: "000080", parent: code} + pygments-gs: {parent: code} + pygments-gu: {textColor: "800080", parent: code} + pygments-gt: {textColor: "0040D0", parent: code} + pygments-kc: {textColor: "AA22FF", parent: code} + pygments-kd: {textColor: "AA22FF", parent: code} + pygments-kn: {textColor: "AA22FF", parent: code} + pygments-kp: {textColor: "AA22FF", parent: code} + pygments-kr: {textColor: "AA22FF", parent: code} + pygments-kt: {textColor: "00BB00", parent: code} + pygments-m: {textColor: "666666", parent: code} + pygments-s: {textColor: "BB4444", parent: code} + pygments-na: {textColor: "BB4444", parent: code} + pygments-nb: {textColor: "AA22FF", parent: code} + pygments-nc: {textColor: "0000FF", parent: code} + pygments-no: {textColor: "880000", parent: code} + pygments-nd: {textColor: "AA22FF", parent: code} + pygments-ni: {textColor: "999999", parent: code} + pygments-ne: {textColor: "D2413A", parent: code} + pygments-nf: {textColor: "00A000", parent: code} + pygments-nl: {textColor: "A0A000", parent: code} + pygments-nn: {textColor: "0000FF", parent: code} + pygments-nt: {textColor: "008000", parent: code} + pygments-nv: {textColor: "B8860B", parent: code} + pygments-ow: {textColor: "AA22FF", parent: code} + pygments-w: {textColor: "bbbbbb", parent: code} + pygments-mf: {textColor: "666666", parent: code} + pygments-mh: {textColor: "666666", parent: code} + pygments-mi: {textColor: "666666", parent: code} + pygments-mo: {textColor: "666666", parent: code} + pygments-sb: {textColor: "BB4444", parent: code} + pygments-sc: {textColor: "BB4444", parent: code} + pygments-sd: {textColor: "BB4444", parent: code} + pygments-s2: {textColor: "BB4444", parent: code} + pygments-se: {textColor: "BB6622", parent: code} + pygments-sh: {textColor: "BB4444", parent: code} + pygments-si: {textColor: "BB6688", parent: code} + pygments-sx: {textColor: "008000", parent: code} + pygments-sr: {textColor: "BB6688", parent: code} + pygments-s1: {textColor: "BB4444", parent: code} + pygments-ss: {textColor: "B8860B", parent: code} + pygments-bp: {textColor: "AA22FF", parent: code} + pygments-vc: {textColor: "B8860B", parent: code} + pygments-vg: {textColor: "B8860B", parent: code} + pygments-vi: {textColor: "B8860B", parent: code} + pygments-il: {textColor: "666666", parent: code} + + endnote: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [BOTTOMPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + [RIGHTPADDING, [ 0, 0 ], [ 1, -1 ], 0 ] + colWidths: [3cm, null] + + field-list: + parent: bodytext + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + colWidths: [3cm, null] + spaceBefore: 6 + + option-list: + commands: [] + [VALIGN, [ 0, 0 ], [ -1, -1 ], TOP ] + [TOPPADDING, [ 0, 0 ], [ -1, -1 ], 0 ] + colWidths: [null,null] + + author: + parent: normal + alignment: TA_CENTER + fontSize: 12 + diff --git a/doc/source/_templates/pdf_cover.tmpl b/doc/source/_templates/pdf_cover.tmpl new file mode 100644 index 0000000..bf4aa01 --- /dev/null +++ b/doc/source/_templates/pdf_cover.tmpl @@ -0,0 +1,36 @@ +.. role:: normal + +.. image:: _static/openstack_logo.png + :width: 24em + +.. raw:: pdf + + Spacer 0 1cm + + + +.. cssclass:: title + +#{title} + + + + + +.. cssclass:: subtitle + +#{subtitle} + + + +.. raw:: pdf + + Spacer 0 13cm + +.. cssclass:: author + +:normal:`#{date}` + +.. raw:: pdf + + PageBreak diff --git a/doc/source/conf.py b/doc/source/conf.py new file mode 100644 index 0000000..a88044e --- /dev/null +++ b/doc/source/conf.py @@ -0,0 +1,439 @@ +# -*- coding: utf-8 -*- +# +# scale_rnd documentation build configuration file, created by +# sphinx-quickstart on Mon Nov 23 13:22:23 2015. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys +import os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +sys.path.insert(0, os.path.abspath('../..')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'rst2pdf.pdfbuilder', + 'sphinx.ext.autodoc', + 'sphinxcontrib.httpdomain', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Performance Docs' +copyright = u'2015, OpenStack Foundation' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.1' +# The full version, including alpha/beta/rc tags. +release = '0.1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = [] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# 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 + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + + +# -- Options for HTML output ---------------------------------------------- + +# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +if not on_rtd: # only import and set the theme if we're building docs locally + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +else: + html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'performance_docs' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'performance_docs.tex', u'Performance Documentation', + u'OpenStack Foundation', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'performance_docs', u'Performance Documentation', + [u'OpenStack Foundation'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'performance_docs', u'Performance Documentation', + u'OpenStack Foundation', 'performance_docs', 'OpenStack performance testing plans, results and investigations.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'performance_docs' +epub_author = u'OpenStack Foundation' +epub_publisher = u'OpenStack Foundation' +epub_copyright = u'2015, OpenStack Foundation' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'scale_rnd' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True + + +# -- Options for PDF output -------------------------------------------------- + +# Grouping the document tree into PDF files. List of tuples +# (source start file, target name, title, author, options). +# +# If there is more than one author, separate them with \\. +# For example: r'Guido van Rossum\\Fred L. Drake, Jr., editor' +# +# The options element is a dictionary that lets you override +# this config per-document. +# For example, +# ('index', u'MyProject', u'My Project', u'Author Name', +# dict(pdf_compressed = True)) +# would mean that specific document would be compressed +# regardless of the global pdf_compressed setting. + +pdf_documents = [ + ('index', 'openstack_performance_docs', 'Performance Documentation', 'OpenStack Foundation'), +] + +# A comma-separated list of custom stylesheets. Example: +pdf_stylesheets = ['pdf'] + +# A list of folders to search for stylesheets. Example: +pdf_style_path = ['.', '_styles', 'source/_styles', 'doc/source/_styles'] + +# Create a compressed PDF +# Use True/False or 1/0 +# Example: compressed=True +#pdf_compressed = False + +# A colon-separated list of folders to search for fonts. Example: +# pdf_font_path = ['/usr/share/fonts', '/usr/share/texmf-dist/fonts/'] + +# Language to be used for hyphenation support +#pdf_language = "en_US" + +# Mode for literal blocks wider than the frame. Can be +# overflow, shrink or truncate +#pdf_fit_mode = "shrink" + +# Section level that forces a break page. +# For example: 1 means top-level sections start in a new page +# 0 means disabled +#pdf_break_level = 1 + +# When a section starts in a new page, force it to be 'even', 'odd', +# or just use 'any' +#pdf_breakside = 'any' + +# Insert footnotes where they are defined instead of +# at the end. +#pdf_inline_footnotes = True + +# verbosity level. 0 1 or 2 +#pdf_verbosity = 0 + +# If false, no index is generated. +#pdf_use_index = True + +# If false, no modindex is generated. +#pdf_use_modindex = True + +# If false, no coverpage is generated. +#pdf_use_coverpage = True + +# Name of the cover page template to use +pdf_cover_template = 'pdf_cover.tmpl' + +# Documents to append as an appendix to all manuals. +#pdf_appendices = [] + +# Enable experimental feature to split table cells. Use it +# if you get "DelayedTable too big" errors +#pdf_splittables = False + +# Set the default DPI for images +#pdf_default_dpi = 72 + +# Enable rst2pdf extension modules (default is only vectorpdf) +# you need vectorpdf if you want to use sphinx's graphviz support +#pdf_extensions = ['vectorpdf'] + +# Page template name for "regular" pages +pdf_page_template = 'cutePage' + +# Show Table Of Contents at the beginning? +#pdf_use_toc = True + +# How many levels deep should the table of contents be? +pdf_toc_depth = 9999 + +# Add section number to section references +pdf_use_numbered_links = False + +# Background images fitting mode +pdf_fit_background_mode = 'scale' diff --git a/doc/source/index.rst b/doc/source/index.rst new file mode 100644 index 0000000..629073c --- /dev/null +++ b/doc/source/index.rst @@ -0,0 +1,12 @@ +Performance Documentation +************************* + +.. toctree:: + :numbered: + :maxdepth: 3 + + +.. raw:: pdf + + PageBreak oneColumn + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2d4bd5e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +rst2pdf +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 +sphinxcontrib-httpdomain +sphinx_rtd_theme diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..e3ee486 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,23 @@ +[metadata] +name = performance_docs +summary = OpenStack performance testing plans, results and investigations +description-file = + README.rst +author = OpenStack +author-email = openstack-dev@lists.openstack.org +home-page = https://github.com/openstack/performance-docs +classifier = + Environment :: OpenStack + Intended Audience :: Developers + Intended Audience :: Information Technology + License :: OSI Approved :: Apache Software License + +[files] +packages = + performance_docs + +[build_sphinx] +all_files = 1 +build-dir = doc/build +source-dir = doc/source + diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..782bb21 --- /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>=1.8'], + pbr=True) diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..8f53699 --- /dev/null +++ b/tox.ini @@ -0,0 +1,22 @@ +[tox] +envlist = docs +minversion = 1.6 +skipsdist = True + +[testenv] +usedevelop = True +install_command = pip install -U {opts} {packages} +setenv = VIRTUAL_ENV={envdir} + LANG=en_US.UTF-8 + LANGUAGE=en_US:en + LC_ALL=C +deps = -r{toxinidir}/requirements.txt + +[testenv:venv] +commands = {posargs} + +[testenv:docs] +commands = + sphinx-build -b html doc/source/ doc/build/html + sphinx-build -b latex doc/source/ doc/build/latex + sphinx-build -b pdf doc/source/ doc/build/pdf