ansible-role-systemd_service/html-docs/index.html
Kevin Carter 7745439f35
Add tests to the service role
* Document the optionality in the defaults
* validate the input in the tasks before it's templated
* Standardize on the exec(starts,stops,reloads} interface
* Update the readme
* Add functional test

Change-Id: Icae36f970178b1cc79d069a94321afb1732a8c5c
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-03-21 17:47:22 -05:00

509 lines
30 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>OpenStack Docs: systemd_service role for OpenStack-Ansible</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="_static/css/bootstrap.css" rel="stylesheet">
<!-- Pygments CSS -->
<link href="_static/css/native.css" rel="stylesheet">
<!-- Fonts -->
<link href="_static/css/font-awesome.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,700' rel='stylesheet' type='text/css'>
<!-- Custom CSS -->
<link href="_static/css/combined.css" rel="stylesheet">
<link href="_static/css/styles.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" href="_static/sphinxmark.css" type="text/css" />
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-17511903-1', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button class="navbar-toggle" data-target="#bs-example-navbar-collapse-1" data-toggle="collapse" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="brand-wrapper">
<a class="navbar-brand" href="https://www.openstack.org/"></a>
</div>
<div class="search-icon show"><i class="fa fa-search"></i> Search</div></div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<div class="search-container tiny">
<div id="gcse">
<script type="text/javascript">
(function() {
var cx = '000108871792296872333:noj9nikm74i';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search gname="standard"></gcse:search>
</div>
<i class="fa fa-times close-search"></i>
</div>
<ul class="nav navbar-nav navbar-main show">
<li>
<div id="gcse-mobile">
<gcse:search gname="mobile"></gcse:search>
</div>
</li>
<li>
<a href="https://www.openstack.org/software/" class="drop" id="dropdownMenuSoftware">Software <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuSoftware">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/">Overview</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/project-navigator/">Project Navigator</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/sample-configs/">Sample Configs</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/security/">Security</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/start/">Get Started</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/roadmap/">Roadmap</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/latest-release/">Latest Release</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/software/sourcecode/">Source Code</a></li>
</ul>
</li>
<li>
<a href="https://www.openstack.org/user-stories/" class="drop" id="dropdownMenuUsers">Users <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuUsers">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/user-stories/">Overview</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/telecoms-and-nfv/">Telecoms and NFV</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/enterprise/">OpenStack in the Enterprise</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/appdev/">Application Developers & ISVs</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://superuser.openstack.org/">Superuser Magazine</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/surveys/landing">User Survey</a></li>
</ul>
</li>
<li>
<a href="https://www.openstack.org/community/" class="drop" id="dropdownMenuCommunity">Community <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuCommunity">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/">Welcome! Start Here</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/foundation/">OpenStack Foundation</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://wiki.openstack.org">OpenStack Wiki</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://groups.openstack.org">User Groups</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/speakers/">Speakers Bureau</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/foundation/companies/">Supporting Companies</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/jobs/">Jobs</a></li>
<li role="presentation" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/join/">Join The Community</a></li>
</ul>
</li>
<li>
<a href="https://www.openstack.org/marketplace/">Marketplace</a>
</li>
<li>
<a href="https://www.openstack.org/events/" class="drop" id="dropdownMenuEvents">Events <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenuEvents">
<li role="presentation"><a role="menuitem" tabindex="-1" href="//www.openstack.org/community/events/">Overview</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/summit/">The OpenStack Summit</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="//www.openstack.org/community/events/">More OpenStack Events</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/community/events/#openstack_days">OpenStack Days</a></li>
</ul>
</li>
<li>
<a href="https://www.openstack.org/learn/" class="drop" id="dropdownMenuLearn">Learn <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuEvents">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/training/">Training</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/marketplace/coa/">Get Certified</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="//ask.openstack.org">Ask a Technical Question</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="//superuser.openstack.org">Superuser Magazine</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/videos/">Summit Videos</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/analysts/">Analyst Reports</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/news/">News</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/blog/">Blog</a></li>
</ul>
</li>
<li>
<a href="https://docs.openstack.org/">Docs</a>
</li>
<li>
</li>
<li>
<li class="join-nav-section">
<a href="https://www.openstack.org/join/" id="dropdownMenuJoin">Join <i class="fa fa-caret-down"></i></a>
<ul class="dropdown-menu dropdown-hover" role="menu" aria-labelledby="dropdownMenuJoin" style="display: none;">
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/join/register/?membership-type=foundation">Sign up for Foundation Membership</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/join/#sponsor">Sponsor the Foundation</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://www.openstack.org/foundation">More about the Foundation</a></li>
</ul>
</li>
<li>
<a href="https://www.openstack.org/Security/login/?BackURL=/home/" class="sign-in-btn">Log In</a>
</li>
</li>
</ul>
</div>
</div>
<!-- /.container -->
</nav>
<div class="container docs-book-wrapper">
<div class="row">
<div class="col-lg-9 col-md-8 col-sm-8 col-lg-push-3 col-md-push-4 col-sm-push-4">
<div class="row">
<div class="col-lg-8">
<h2>systemd_service role for OpenStack-Ansible</h2>
</div>
<div class="docs-actions">
<a id="logABugLink1" href="" target="_blank" title="Found an error? Report a bug against this page"><i class="fa fa-bug" data-toggle="tooltip" data-placement="top" title="Report a Bug"></i></a>
</div>
</div>
<div class="row docs-byline">
<div class="docs-updated">updated: 2017-05-22 23:06</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="docs-top-contents">
<h5><a href="#">Contents</a></h5>
<ul>
<li><a class="reference internal" href="#">systemd_service role for OpenStack-Ansible</a><ul>
<li><a class="reference internal" href="#default-variables">Default variables</a></li>
<li><a class="reference internal" href="#example-playbook">Example playbook</a></li>
<li><a class="reference internal" href="#tags">Tags</a></li>
</ul>
</li>
</ul>
</div>
<div class="docs-body">
<div class="section" id="systemd-init-role-for-openstack-ansible">
<h1>systemd_service role for OpenStack-Ansible<a class="headerlink" href="#systemd-init-role-for-openstack-ansible" title="Permalink to this headline"></a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">tags:</th><td class="field-body">openstack, systemd_service, cloud, ansible</td>
</tr>
<tr class="field-even field"><th class="field-name">category:</th><td class="field-body">*nix</td>
</tr>
</tbody>
</table>
<p>This role will configure Systemd units:</p>
<div class="section" id="default-variables">
<h2>Default variables<a class="headerlink" href="#default-variables" title="Permalink to this headline"></a></h2>
<div class="highlight-yaml"><div class="highlight"><pre><span></span><span class="c1"># This is the default path for a given service. Set this for general service lookups or</span>
<span class="c1"># define &quot;program_override&quot; option in the systemd_services dictionary.</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_bin_path</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">/usr/local/bin</span>
<span class="l l-Scalar l-Scalar-Plain">system_user_name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">root</span>
<span class="l l-Scalar l-Scalar-Plain">system_group_name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">root</span>
<span class="l l-Scalar l-Scalar-Plain">system_slice_name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">system</span>
<span class="l l-Scalar l-Scalar-Plain">system_lock_path</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">/var/lock</span>
<span class="c1"># This is the prefix used for all temp files of a given type.</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_tempd_prefix</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">tempd</span>
<span class="c1"># Give a reasonable amount of time for the server to start up/shut down</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_TimeoutSec</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">120</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_Restart</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">on-failure</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_RestartSec</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">2</span>
<span class="c1"># Set accounting on systemd service</span>
<span class="l l-Scalar l-Scalar-Plain">system_CPUAccounting</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="l l-Scalar l-Scalar-Plain">system_BlockIOAccounting</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="l l-Scalar l-Scalar-Plain">system_MemoryAccounting</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="l l-Scalar l-Scalar-Plain">system_TasksAccounting</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="c1"># Start service after a given target. This is here because we want to define common</span>
<span class="c1"># after targets used on most services. This can be overridden or agumented using</span>
<span class="c1"># the &quot;systemd_services&quot; dictionary option &quot;config_overrides&quot;.</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_after_targets</span><span class="p p-Indicator">:</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">syslog.target</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">network.target</span>
<span class="c1"># Set the service state. Valid options are: [started, stopped, restarted, reloaded].</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_service_state</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">started</span>
<span class="c1"># Set the service enabled state. Valid options are: [yes, no]</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_service_enabled</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">yes</span>
<span class="c1"># The systemd services dictionary is a set of services that will be created. The dictionary</span>
<span class="c1"># can contain the following options:</span>
<span class="c1"># `service_name` -- (required) used to define the name of the service. This is typically the name of the executable.</span>
<span class="c1"># `config_overrides` -- (optional) This allows any section or key=value pair to be set within the systemd unit file.</span>
<span class="c1"># `program_config_options` -- (optional) Provides the ability to pass in flags to a given service for execution.</span>
<span class="c1"># `program_override` -- (optional) sets the full path to the executable that will be run by the service file.</span>
<span class="c1"># `enabled` -- (optional) Set the enabled state of the service.</span>
<span class="c1"># `state` -- (optional) Set the running state of the service.</span>
<span class="c1"># Examples:</span>
<span class="c1"># systemd_services:</span>
<span class="c1"># ServiceW:</span>
<span class="c1"># service_name: ServiceW</span>
<span class="c1"># config_overrides: {} # This is used to add in arbitratry unit file options</span>
<span class="c1"># ServiceX:</span>
<span class="c1"># service_name: ServiceX</span>
<span class="c1"># config_overrides: {} # This is used to add in arbitratry unit file options</span>
<span class="c1"># program_config_options: &#39;--flag1 things --flag2 other&#39;</span>
<span class="c1"># ServiceY:</span>
<span class="c1"># service_name: ServiceY</span>
<span class="c1"># config_overrides: {} # This is used to add in arbitratry unit file options</span>
<span class="c1"># program_override: &#39;/usr/bin/ServiceY&#39;</span>
<span class="c1"># ServiceZ:</span>
<span class="c1"># service_name: ServiceZ</span>
<span class="c1"># config_overrides: {} # This is used to add in arbitratry unit file options</span>
<span class="c1"># enabled: no</span>
<span class="c1"># state: stopped</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_services</span><span class="p p-Indicator">:</span> <span class="p p-Indicator">{}</span>
</pre></div>
</div>
</div>
<div class="section" id="example-playbook">
<h2>Example playbook<a class="headerlink" href="#example-playbook" title="Permalink to this headline"></a></h2>
<div class="highlight-yaml"><div class="highlight"><pre><span></span><span class="l l-Scalar l-Scalar-Plain">.. code-block:</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">yaml</span>
<span class="l l-Scalar l-Scalar-Plain">- name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">Create a systemd unit file for ServiceX</span>
<span class="l l-Scalar l-Scalar-Plain">hosts</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">localhost</span>
<span class="l l-Scalar l-Scalar-Plain">become</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="l l-Scalar l-Scalar-Plain">roles</span><span class="p p-Indicator">:</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">role</span><span class="p p-Indicator">:</span> <span class="s">&quot;systemd_service&quot;</span>
<span class="l l-Scalar l-Scalar-Plain">systemd_services</span><span class="p p-Indicator">:</span>
<span class="l l-Scalar l-Scalar-Plain">service_name</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">ServiceX</span>
<span class="l l-Scalar l-Scalar-Plain">config_overrides</span><span class="p p-Indicator">:</span> <span class="p p-Indicator">{}</span>
<span class="l l-Scalar l-Scalar-Plain">program_config_options</span><span class="p p-Indicator">:</span> <span class="s">&#39;--flag1</span><span class="nv"> </span><span class="s">things</span><span class="nv"> </span><span class="s">--flag2</span><span class="nv"> </span><span class="s">other&#39;</span>
<span class="l l-Scalar l-Scalar-Plain">tags</span><span class="p p-Indicator">:</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">servicex-init</span>
</pre></div>
</div>
</div>
<div class="section" id="tags">
<h2>Tags<a class="headerlink" href="#tags" title="Permalink to this headline"></a></h2>
<p>This role supports one tag: <code class="docutils literal"><span class="pre">systemd-init</span></code>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="docs-actions">
<a id="logABugLink3" href="" target="_blank" title="Found an error? Report a bug against this page"><i class="fa fa-bug" data-toggle="tooltip" data-placement="top" title="Report a Bug"></i></a>
</div>
<div class="row docs-byline bottom">
<div class="docs-updated">updated: 2017-05-22 23:06</div>
</div>
<div class="row">
<div class="col-lg-8 col-md-8 col-sm-8 docs-license">
<a href="https://creativecommons.org/licenses/by/3.0/">
<img src="_static/images/docs/license.png" alt="Creative Commons Attribution 3.0 License"/>
</a>
<p>
Except where otherwise noted, this document is licensed under
<a href="https://creativecommons.org/licenses/by/3.0/">Creative Commons
Attribution 3.0 License</a>. See all <a href="http://www.openstack.org/legal">
OpenStack Legal Documents</a>.
</p>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 docs-actions-wrapper">
<!-- ID buglinkbottom added so that pre-filled doc bugs
are sent to Launchpad projects related to the document -->
<a href="#" id="logABugLink2" class="docs-footer-actions"><i class="fa fa-bug"></i> found an error? report a bug</a>
<a href="http://ask.openstack.org" class="docs-footer-actions"><i class="fa fa-question-circle"></i> questions?</a>
</div>
</div>
</div>
<div class="col-lg-3 col-md-4 col-sm-4 col-lg-pull-9 col-md-pull-8 col-sm-pull-8 docs-sidebar">
<div class="btn-group docs-sidebar-releases">
<button onclick="location.href='/'" class="btn docs-sidebar-home" data-toggle="tooltip" data-placement="top" title="Docs Home"><i class="fa fa-arrow-circle-o-left"></i></button>
<button href="#" type="button" data-toggle="dropdown" class="btn docs-sidebar-release-select">OpenStack Documentation<i class="fa fa-caret-down"></i></button>
<ul class="dropdown-menu docs-sidebar-dropdown" role="menu" aria-labelledby="dLabel">
<li role="presentation" class="dropdown-header">Guides</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#install-guides">Install Guides</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#user-guides">User Guides</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#configuration-guides">Configuration Guides</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#ops-and-admin-guides">Operations and Administration Guides</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#api-guides">API Guides</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/index.html#contributor-guides">Contributor Guides</a></li>
<li role="presentation" class="dropdown-header">Languages</li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/ja/">日本語 (Japanese)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/de/">Deutsch (German)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/fr/">Français (French)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/pt_BR/">Português (Portuguese)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/zh_CN/">简体中文 (Simplified Chinese)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://docs.openstack.org/ko_KR/">한국어 (Korean)</a></li>
</ul>
</div>
<div class="docs-sidebar-toc">
<div class="docs-sidebar-section" id="table-of-contents">
<a href="#" class="docs-sidebar-section-title"><h4>Contents</h4></a>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row footer-links">
<div class="col-lg-2 col-sm-2">
<h3>OpenStack</h3>
<ul>
<li><a href="http://openstack.org/projects/">Projects</a></li>
<li><a href="http://openstack.org/projects/openstack-security/">OpenStack Security</a></li>
<li><a href="http://openstack.org/projects/openstack-faq/">Common Questions</a></li>
<li><a href="http://openstack.org/blog/">Blog</a></li>
<li><a href="http://openstack.org/news/">News</a></li>
</ul>
</div>
<div class="col-lg-2 col-sm-2">
<h3>Community</h3>
<ul>
<li><a href="http://openstack.org/community/">User Groups</a></li>
<li><a href="http://openstack.org/community/events/">Events</a></li>
<li><a href="http://openstack.org/community/jobs/">Jobs</a></li>
<li><a href="http://openstack.org/foundation/companies/">Companies</a></li>
<li><a href="http://docs.openstack.org/infra/manual/developers.html">Contribute</a></li>
</ul>
</div>
<div class="col-lg-2 col-sm-2">
<h3>Documentation</h3>
<ul>
<li><a href="http://docs.openstack.org">OpenStack Manuals</a></li>
<li><a href="http://openstack.org/software/start/">Getting Started</a></li>
<li><a href="http://developer.openstack.org">API Documentation</a></li>
<li><a href="https://wiki.openstack.org">Wiki</a></li>
</ul>
</div>
<div class="col-lg-2 col-sm-2">
<h3>Branding & Legal</h3>
<ul>
<li><a href="http://openstack.org/brand/">Logos & Guidelines</a></li>
<li><a href="http://openstack.org/brand/openstack-trademark-policy/">Trademark Policy</a></li>
<li><a href="http://openstack.org/privacy/">Privacy Policy</a></li>
<li><a href="https://wiki.openstack.org/wiki/How_To_Contribute#Contributor_License_Agreement">OpenStack CLA</a></li>
</ul>
</div>
<div class="col-lg-4 col-sm-4">
<h3>Stay In Touch</h3>
<a href="https://twitter.com/OpenStack" target="_blank" class="social-icons footer-twitter"></a>
<a href="https://www.facebook.com/openstack" target="_blank" class="social-icons footer-facebook"></a>
<a href="https://www.linkedin.com/company/openstack" target="_blank" class="social-icons footer-linkedin"></a>
<a href="https://www.youtube.com/user/OpenStackFoundation" target="_blank" class="social-icons footer-youtube"></a>
<p class="fine-print">
The OpenStack project is provided under the
<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 license</a>. Openstack.org is powered by
<a href="http://rackspace.com" target="_blank">Rackspace Cloud Computing</a>.
</p>
</div>
</div>
</div>
</footer>
<!-- jQuery -->
<script type="text/javascript" src="_static/js/jquery-3.1.1.js"></script>
<!-- Bootstrap JavaScript -->
<script type="text/javascript" src="_static/js/bootstrap.js"></script>
<!-- The rest of the JS -->
<script type="text/javascript" src="_static/js/navigation.js"></script>
<!-- Docs JS -->
<script type="text/javascript" src="_static/js/docs.js"></script>
<!-- Popovers -->
<script type="text/javascript" src="_static/js/webui-popover.js"></script>
<!-- Javascript for page -->
<script language="JavaScript">
/* build a description of this page including SHA, source location on git repo,
build time and the project's launchpad bug tag. Set the HREF of the bug
buttons */
var lineFeed = "%0A";
var gitURL = "Source: Can't derive source file URL";
/* there have been cases where "pagename" wasn't set; better check for it */
/* The URL of the source file on Git is based on the giturl variable
in conf.py, which must be manually initialized to the source file
URL in Git.
"pagename" is a standard sphinx parameter containing the name of
the source file, without extension. */
var sourceFile = "index" + ".rst";
gitURL = "Source: https://git.openstack.org/cgit/openstack/openstack-ansible-os_nova/tree/doc/source" + "/" + sourceFile;
/* gitsha, project and bug_tag rely on variables in conf.py */
var gitSha = "SHA: 70539b4c1cfa4e0e00bbf2d41234c666cf0e9750";
var bugProject = "openstack-ansible";
var bugTitle = "Documentation bug";
var fieldTags = "docs";
/* "last_updated" is the build date and time. It relies on the
conf.py variable "html_last_updated_fmt", which should include
year/month/day as well as hours and minutes */
var buildstring = "Release: 0.0.1.dev2 on 2017-05-22 23:06";
var fieldComment = encodeURI(buildstring) +
lineFeed + encodeURI(gitSha) +
lineFeed + encodeURI(gitURL) ;
logABug(bugTitle, bugProject, fieldComment, fieldTags);
</script>
<!-- Javascript for search boxes (both sidebar and top nav) -->
<script type="text/javascript">
(function() {
var cx = '000108871792296872333:noj9nikm74i';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
</body>
</html>