blob: 7cd0521ba5d109e0a5563f8877c38ebcdbd47a0f [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>airflow.contrib.executors.kubernetes_executor &mdash; Airflow Documentation</title>
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
<script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
<link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../../../../../genindex.html" />
<link rel="search" title="Search" href="../../../../../search.html" />
<link rel="next" title="airflow.contrib.executors.mesos_executor" href="../mesos_executor/index.html" />
<link rel="prev" title="airflow.contrib.executors" href="../index.html" />
<script>
document.addEventListener('DOMContentLoaded', function() {
var el = document.getElementById('changelog');
if (el !== null ) {
// [AIRFLOW-...]
el.innerHTML = el.innerHTML.replace(
/\[(AIRFLOW-[\d]+)\]/g,
`<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
);
// (#...)
el.innerHTML = el.innerHTML.replace(
/\(#([\d]+)\)/g,
`<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
);
};
})
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-140539454-1']);
_gaq.push(['_trackPageview']);
</script>
<style>
.example-header {
position: relative;
background: #9AAA7A;
padding: 8px 16px;
margin-bottom: 0;
}
.example-header--with-button {
padding-right: 166px;
}
.example-header:after{
content: '';
display: table;
clear: both;
}
.example-title {
display:block;
padding: 4px;
margin-right: 16px;
color: white;
overflow-x: auto;
}
.example-header-button {
top: 8px;
right: 16px;
position: absolute;
}
.example-header + .highlight-python {
margin-top: 0 !important;
}
.viewcode-button {
display: inline-block;
padding: 8px 16px;
border: 0;
margin: 0;
outline: 0;
border-radius: 2px;
-webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
color: #404040;
background-color: #e7e7e7;
cursor: pointer;
font-size: 16px;
font-weight: 500;
line-height: 1;
text-decoration: none;
text-overflow: ellipsis;
overflow: hidden;
text-transform: uppercase;
-webkit-transition: background-color .2s;
transition: background-color .2s;
vertical-align: middle;
white-space: nowrap;
}
.viewcode-button:visited {
color: #404040;
}
.viewcode-button:hover, .viewcode-button:focus {
color: #404040;
background-color: #d6d6d6;
}
</style>
</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"> Airflow
</a>
<div class="version">
1.10.5
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
<input type="text" name="q" placeholder="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="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">REST API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">Python API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#executors">Executors</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#executors-packages">Executors packages</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../../../executors/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.executors</span></code></a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../privacy_notice.html">Privacy Notice</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../../../index.html">Airflow</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../../../index.html">Docs</a> &raquo;</li>
<li><a href="../../../../index.html">Python API Reference</a> &raquo;</li>
<li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors</span></code></a> &raquo;</li>
<li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></li>
<li class="wy-breadcrumbs-aside">
<a href="../../../../../_sources/_api/airflow/contrib/executors/kubernetes_executor/index.rst.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">
<div class="section" id="module-airflow.contrib.executors.kubernetes_executor">
<span id="airflow-contrib-executors-kubernetes-executor"></span><h1><a class="reference internal" href="#module-airflow.contrib.executors.kubernetes_executor" title="airflow.contrib.executors.kubernetes_executor"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.executors.kubernetes_executor</span></code></a><a class="headerlink" href="#module-airflow.contrib.executors.kubernetes_executor" title="Permalink to this headline"></a></h1>
<div class="section" id="module-contents">
<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutorConfig</code><span class="sig-paren">(</span><em class="sig-param">image=None</em>, <em class="sig-param">image_pull_policy=None</em>, <em class="sig-param">request_memory=None</em>, <em class="sig-param">request_cpu=None</em>, <em class="sig-param">limit_memory=None</em>, <em class="sig-param">limit_cpu=None</em>, <em class="sig-param">limit_gpu=None</em>, <em class="sig-param">gcp_service_account_key=None</em>, <em class="sig-param">node_selectors=None</em>, <em class="sig-param">affinity=None</em>, <em class="sig-param">annotations=None</em>, <em class="sig-param">volumes=None</em>, <em class="sig-param">volume_mounts=None</em>, <em class="sig-param">tolerations=None</em>, <em class="sig-param">labels=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__">
<code class="sig-name descname">__repr__</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.__repr__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.__repr__" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict">
<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.from_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.from_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict">
<code class="sig-name descname">as_dict</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutorConfig.as_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig.as_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubeConfig</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section">
<code class="sig-name descname">core_section</code><em class="property"> = core</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.core_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.core_section" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section">
<code class="sig-name descname">kubernetes_section</code><em class="property"> = kubernetes</em><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig.kubernetes_section"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig.kubernetes_section" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_context_val">
<code class="sig-name descname">_get_security_context_val</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">scontext</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._get_security_context_val"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._get_security_context_val" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubeConfig._validate">
<code class="sig-name descname">_validate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubeConfig._validate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubeConfig._validate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesJobWatcher</code><span class="sig-paren">(</span><em class="sig-param">namespace</em>, <em class="sig-param">watcher_queue</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Process" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">multiprocessing.Process</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code>, <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run">
<code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run">
<code class="sig-name descname">_run</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">resource_version</em>, <em class="sig-param">worker_uuid</em>, <em class="sig-param">kube_config</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher._run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher._run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error">
<code class="sig-name descname">process_error</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">event</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_error"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_error" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status">
<code class="sig-name descname">process_status</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em>, <em class="sig-param">status</em>, <em class="sig-param">labels</em>, <em class="sig-param">resource_version</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesJobWatcher.process_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesJobWatcher.process_status" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">AirflowKubernetesScheduler</code><span class="sig-paren">(</span><em class="sig-param">kube_config</em>, <em class="sig-param">task_queue</em>, <em class="sig-param">result_queue</em>, <em class="sig-param">kube_client</em>, <em class="sig-param">worker_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher">
<code class="sig-name descname">_make_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_kube_watcher" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher">
<code class="sig-name descname">_health_check_kube_watcher</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._health_check_kube_watcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._health_check_kube_watcher" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next">
<code class="sig-name descname">run_next</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">next_job</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.run_next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.run_next" title="Permalink to this definition"></a></dt>
<dd><p>The run_next command will check the task_queue for any un-run jobs.
It will then create a unique job-id, launch that job in the cluster,
and store relevant info in the current_jobs map so we can track the job’s
status</p>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod">
<code class="sig-name descname">delete_pod</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.delete_pod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.delete_pod" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync">
<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.sync" title="Permalink to this definition"></a></dt>
<dd><p>The sync function checks the status of all currently running kubernetes jobs.
If a job is completed, it’s status is placed in the result queue to
be sent back to the scheduler.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task">
<code class="sig-name descname">process_watcher_task</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">task</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.process_watcher_task"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.process_watcher_task" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars">
<em class="property">static </em><code class="sig-name descname">_strip_unsafe_kubernetes_special_chars</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._strip_unsafe_kubernetes_special_chars" title="Permalink to this definition"></a></dt>
<dd><p>Kubernetes only supports lowercase alphanumeric characters and “-” and “.” in
the pod name
However, there are special rules about how “-” and “.” can be used so let’s
only keep
alphanumeric chars see here for detail:
<a class="reference external" href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">https://kubernetes.io/docs/concepts/overview/working-with-objects/names/</a></p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> – The requested Pod name</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> Pod name stripped of any unsafe characters</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id">
<em class="property">static </em><code class="sig-name descname">_make_safe_pod_id</code><span class="sig-paren">(</span><em class="sig-param">safe_dag_id</em>, <em class="sig-param">safe_task_id</em>, <em class="sig-param">safe_uuid</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_pod_id" title="Permalink to this definition"></a></dt>
<dd><p>Kubernetes pod names must be &lt;= 253 chars and must pass the following regex for
validation
“^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$”</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>safe_dag_id</strong> – a dag_id with only alphanumeric characters</p></li>
<li><p><strong>safe_task_id</strong> – a task_id with only alphanumeric characters</p></li>
<li><p><strong>random_uuid</strong> – a uuid</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">str</span></code> valid Pod name of appropriate length</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value">
<em class="property">static </em><code class="sig-name descname">_make_safe_label_value</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._make_safe_label_value"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._make_safe_label_value" title="Permalink to this definition"></a></dt>
<dd><p>Valid label values must be 63 characters or less and must be empty or begin and
end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
dots (.), and alphanumerics between.</p>
<p>If the label value is then greater than 63 chars once made safe, or differs in any
way from the original value sent to this function, then we need to truncate to
53chars, and append it with a unique hash.</p>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id">
<em class="property">static </em><code class="sig-name descname">_create_pod_id</code><span class="sig-paren">(</span><em class="sig-param">dag_id</em>, <em class="sig-param">task_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._create_pod_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._create_pod_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime">
<em class="property">static </em><code class="sig-name descname">_label_safe_datestring_to_datetime</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._label_safe_datestring_to_datetime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._label_safe_datestring_to_datetime" title="Permalink to this definition"></a></dt>
<dd><p>Kubernetes doesn’t permit “:” in labels. ISO datetime format uses “:” but not
“_”, let’s
replace “:” with “_”</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> – str</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>datetime.datetime object</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring">
<em class="property">static </em><code class="sig-name descname">_datetime_to_label_safe_datestring</code><span class="sig-paren">(</span><em class="sig-param">datetime_obj</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._datetime_to_label_safe_datestring"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._datetime_to_label_safe_datestring" title="Permalink to this definition"></a></dt>
<dd><p>Kubernetes doesn’t like “:” in labels, since ISO datetime format uses “:” but
not “_” let’s
replace “:” with “_”
:param datetime_obj: datetime.datetime object
:return: ISO-like string representing the datetime</p>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key">
<code class="sig-name descname">_labels_to_key</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">labels</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler._labels_to_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler._labels_to_key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate">
<code class="sig-name descname">terminate</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#AirflowKubernetesScheduler.terminate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.AirflowKubernetesScheduler.terminate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.executors.kubernetes_executor.</code><code class="sig-name descname">KubernetesExecutor</code><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="../../../executors/base_executor/index.html#airflow.executors.base_executor.BaseExecutor" title="airflow.executors.base_executor.BaseExecutor"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.executors.base_executor.BaseExecutor</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.utils.log.logging_mixin.LoggingMixin</span></code></p>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks">
<code class="sig-name descname">clear_not_launched_queued_tasks</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">session=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.clear_not_launched_queued_tasks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.clear_not_launched_queued_tasks" title="Permalink to this definition"></a></dt>
<dd><p>If the airflow scheduler restarts with pending “Queued” tasks, the tasks may or
may not
have been launched Thus, on starting up the scheduler let’s check every
“Queued” task to
see if it has been launched (ie: if there is a corresponding pod on kubernetes)</p>
<p>If it has been launched then do nothing, otherwise reset the state to “None” so
the task
will be rescheduled</p>
<p>This will not be necessary in a future version of airflow in which there is
proper support
for State.LAUNCHED</p>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets">
<code class="sig-name descname">_inject_secrets</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._inject_secrets"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._inject_secrets" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start">
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.start" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async">
<code class="sig-name descname">execute_async</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">command</em>, <em class="sig-param">queue=None</em>, <em class="sig-param">executor_config=None</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.execute_async"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.execute_async" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync">
<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.sync" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state">
<code class="sig-name descname">_change_state</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">key</em>, <em class="sig-param">state</em>, <em class="sig-param">pod_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor._change_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor._change_state" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end">
<code class="sig-name descname">end</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/executors/kubernetes_executor.html#KubernetesExecutor.end"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.executors.kubernetes_executor.KubernetesExecutor.end" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../mesos_executor/index.html" class="btn btn-neutral float-right" title="airflow.contrib.executors.mesos_executor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../index.html" class="btn btn-neutral float-left" title="airflow.contrib.executors" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
<div class="footer">This page uses <a href="https://analytics.google.com/">
Google Analytics</a> to collect statistics. You can disable it by blocking
the JavaScript coming from www.google-analytics.com. Check our
<a href="../../../../../privacy_notice.html">Privacy Policy</a>
for more details.
<script type="text/javascript">
(function() {
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ?
'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
var nodes = document.documentElement.childNodes;
var i = -1;
var node;
do {
i++;
node = nodes[i]
} while(node.nodeType !== Node.ELEMENT_NODE);
node.appendChild(ga);
})();
</script>
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>