Files
kubevirt.core/main/developing.html
kubevirt-bot 90a6664dda Update docs for main
Signed-off-by: kubevirt-bot <kubevirtbot@redhat.com>
2025-01-07 13:17:50 +00:00

158 lines
9.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contributors Guidelines &mdash; KubeVirt Ansible Collection documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=41de9001" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="_static/antsibull-minimal.css" />
<link rel="stylesheet" type="text/css" href="_static/ansible-basic-sphinx-ext.css" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Collection Versioning Strategy" href="releasing.html" />
<link rel="prev" title="Testing" href="testing.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
KubeVirt Ansible Collection
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">User documentation</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="README.html">Lean Ansible bindings for KubeVirt</a></li>
<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugin Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="roles/index.html">Role Index</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Developer documentation</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributors Guidelines</a></li>
<li class="toctree-l1"><a class="reference internal" href="#development-environment">Development environment</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#virtualenv-for-development">Virtualenv for development</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="releasing.html">Collection Versioning Strategy</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">General</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="CHANGELOG.html">Changelog</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">KubeVirt Ansible Collection</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Contributors Guidelines</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/developing.md.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="contributor-s-guidelines">
<h1>Contributors Guidelines<a class="headerlink" href="#contributor-s-guidelines" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p>All YAML files named with <code class="docutils literal notranslate"><span class="pre">.yml</span></code> extension</p></li>
<li><p>Use spaces around jinja variables. <code class="docutils literal notranslate"><span class="pre">{{</span> <span class="pre">var</span> <span class="pre">}}</span></code> over <code class="docutils literal notranslate"><span class="pre">{{var}}</span></code></p></li>
<li><p>Variables that are internal to the role should be lowercase and start with the role name</p></li>
<li><p>Keep roles self contained - Roles should avoid including tasks from other roles when possible</p></li>
<li><p>Plays should do nothing more than include a list of roles except where <code class="docutils literal notranslate"><span class="pre">pre_tasks</span></code> and <code class="docutils literal notranslate"><span class="pre">post_tasks</span></code> are required when possible</p></li>
<li><p>Separators - Use valid name, ie. underscores (e.g. <code class="docutils literal notranslate"><span class="pre">my_role</span></code> <code class="docutils literal notranslate"><span class="pre">my_playbook</span></code>) not dashes (<code class="docutils literal notranslate"><span class="pre">my-role</span></code>)</p></li>
<li><p>Paths - When defining paths, do not include trailing slashes (e.g. <code class="docutils literal notranslate"><span class="pre">my_path:</span> <span class="pre">/foo</span></code> not <code class="docutils literal notranslate"><span class="pre">my_path:</span> <span class="pre">/foo/</span></code>). When concatenating paths, follow the same convention (e.g. <code class="docutils literal notranslate"><span class="pre">{{</span> <span class="pre">my_path</span> <span class="pre">}}/bar</span></code> not <code class="docutils literal notranslate"><span class="pre">{{</span> <span class="pre">my_path</span> <span class="pre">}}bar</span></code>)</p></li>
<li><p>Indentation - Use 2 spaces for each indent</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">vars/</span></code> vs <code class="docutils literal notranslate"><span class="pre">defaults/</span></code> - internal or interpolated variables that dont need to change or be overridden by user go in <code class="docutils literal notranslate"><span class="pre">vars/</span></code>, those that a user would likely override, go under <code class="docutils literal notranslate"><span class="pre">defaults/</span></code> directory</p></li>
<li><p>All arguments have a specification in <code class="docutils literal notranslate"><span class="pre">meta/argument_specs.yml</span></code></p></li>
<li><p>All playbooks/roles should be focused on compatibility with Ansible Automation Platform</p></li>
</ul>
</section>
<section id="development-environment">
<h1>Development environment<a class="headerlink" href="#development-environment" title="Link to this heading"></a></h1>
<p>To develop and to run tests you need to install <code class="docutils literal notranslate"><span class="pre">tox</span></code> and <code class="docutils literal notranslate"><span class="pre">tox-ansible</span></code> on
your machine.</p>
<div class="highlight-YAML+Jinja notranslate"><div class="highlight"><pre><span></span><span class="l l-Scalar l-Scalar-Plain">pip install --user tox tox-ansible</span>
</pre></div>
</div>
<section id="virtualenv-for-development">
<h2>Virtualenv for development<a class="headerlink" href="#virtualenv-for-development" title="Link to this heading"></a></h2>
<p>To build a virtualenv for development purposes run the following command:</p>
<div class="highlight-YAML+Jinja notranslate"><div class="highlight"><pre><span></span><span class="l l-Scalar l-Scalar-Plain">make build-venv</span>
</pre></div>
</div>
<p>The resulting virtualenv will be symlinked to <code class="docutils literal notranslate"><span class="pre">.venv</span></code>, which for example can
be selected as virtualenv in VSCode (<code class="docutils literal notranslate"><span class="pre">Shift+Ctrl+P</span></code> and then
<code class="docutils literal notranslate"><span class="pre">Python:</span> <span class="pre">Select</span> <span class="pre">Interpreter</span></code>).</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="testing.html" class="btn btn-neutral float-left" title="Testing" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="releasing.html" class="btn btn-neutral float-right" title="Collection Versioning Strategy" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025 Red Hat, Inc..</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>