<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,  all<div class=""><br class=""></div><div class="">I have one question about kuryr-cni watch for pod.</div><div class=""><br class=""></div><div class="">Kuryr-k8s-controller will watch pod resource, if founded, then it will request resource from neutron, and annotation the pod object.</div><div class=""><br class=""></div><div class="">Kuryr-cni will watch the pod, if the metadata of the pod changed, then it will create pod network on host computer.</div><div class=""><br class=""></div><div class="">Then my question is: Before kuryr-cni starting to watch the pod, Kuryr-k8s-controller have annotated the pod, does it mean kuryr-cni will not get the changing event forever?</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);">class</span><span class="" style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);"> </span><span class="pl-en" style="box-sizing: border-box; color: rgb(111, 66, 193); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);">K8sClient</span><span class="" style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);">(</span><span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);">object</span><span class="" style="color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(255, 255, 255);">):</span></div><div class=""><br class=""></div><div class=""><table class="highlight js-file-line-container tab-size" data-tab-size="8" style="box-sizing: border-box; border-spacing: 0px; border-collapse: collapse; tab-size: 8; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);"><tbody class="" style="box-sizing: border-box;"><tr class="" style="box-sizing: border-box;"><td id="LC126" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">    <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">def</span> <span class="pl-en" style="box-sizing: border-box; color: rgb(111, 66, 193);">watch</span>(<span class="pl-smi" style="box-sizing: border-box;">self</span>, <span class="pl-smi" style="box-sizing: border-box;">path</span>):</td></tr><tr class="" style="box-sizing: border-box;"><td id="L127" class="blob-num js-line-number" data-line-number="127" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC127" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        params <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span> {<span class="pl-s" style="box-sizing: border-box; color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span>watch<span class="pl-pds" style="box-sizing: border-box;">'</span></span>: <span class="pl-s" style="box-sizing: border-box; color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span>true<span class="pl-pds" style="box-sizing: border-box;">'</span></span>}</td></tr><tr class="" style="box-sizing: border-box;"><td id="L128" class="blob-num js-line-number" data-line-number="128" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC128" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        url <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span> <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">self</span>._base_url <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">+</span> path</td></tr><tr class="" style="box-sizing: border-box;"><td id="L129" class="blob-num js-line-number" data-line-number="129" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC129" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        header <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span> {}</td></tr><tr class="" style="box-sizing: border-box;"><td id="L130" class="blob-num js-line-number" data-line-number="130" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC130" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">if</span> <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">self</span>.token:</td></tr><tr class="" style="box-sizing: border-box;"><td id="L131" class="blob-num js-line-number" data-line-number="131" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC131" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">            header.update({<span class="pl-s" style="box-sizing: border-box; color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span>Authorization<span class="pl-pds" style="box-sizing: border-box;">'</span></span>: <span class="pl-s" style="box-sizing: border-box; color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span>Bearer <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">%s</span><span class="pl-pds" style="box-sizing: border-box;">'</span></span> <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">%</span> <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">self</span>.token})</td></tr><tr class="" style="box-sizing: border-box;"><td id="L132" class="blob-num js-line-number" data-line-number="132" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC132" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">
</td></tr><tr class="" style="box-sizing: border-box;"><td id="L133" class="blob-num js-line-number" data-line-number="133" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC133" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        <span class="pl-c" style="box-sizing: border-box; color: rgb(106, 115, 125);"><span class="pl-c" style="box-sizing: border-box;">#</span> <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">TODO</span>(ivc): handle connection errors and retry on failure</span></td></tr><tr class="" style="box-sizing: border-box;"><td id="L134" class="blob-num js-line-number" data-line-number="134" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC134" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">        <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">while</span> <span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">True</span>:</td></tr><tr class="" style="box-sizing: border-box;"><td id="L135" class="blob-num js-line-number" data-line-number="135" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC135" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">            <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">with</span> contextlib.closing(</td></tr><tr class="" style="box-sizing: border-box;"><td id="L136" class="blob-num js-line-number" data-line-number="136" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC136" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                    requests.get(url, <span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">params</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span>params, <span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">stream</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span><span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">True</span>,</td></tr><tr class="" style="box-sizing: border-box;"><td id="L137" class="blob-num js-line-number" data-line-number="137" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC137" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                                 <span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">cert</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span><span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">self</span>.cert, <span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">verify</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span><span class="pl-c1" style="box-sizing: border-box; color: rgb(0, 92, 197);">self</span>.verify_server,</td></tr><tr class="" style="box-sizing: border-box;"><td id="L138" class="blob-num js-line-number" data-line-number="138" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC138" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                                 <span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">headers</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span>header)) <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">as</span> response:</td></tr><tr class="" style="box-sizing: border-box;"><td id="L139" class="blob-num js-line-number" data-line-number="139" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC139" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">if</span> <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">not</span> response.ok:</td></tr><tr class="" style="box-sizing: border-box;"><td id="L140" class="blob-num js-line-number" data-line-number="140" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC140" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                    <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">raise</span> exc.K8sClientException(response.text)</td></tr><tr class="" style="box-sizing: border-box;"><td id="L141" class="blob-num js-line-number" data-line-number="141" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC141" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">for</span> line <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">in</span> response.iter_lines(<span class="pl-v" style="box-sizing: border-box; color: rgb(227, 98, 9);">delimiter</span><span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span><span class="pl-s" style="box-sizing: border-box; color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span><span class="pl-cce" style="box-sizing: border-box;">\n</span><span class="pl-pds" style="box-sizing: border-box;">'</span></span>):</td></tr><tr class="" style="box-sizing: border-box;"><td id="L142" class="blob-num js-line-number" data-line-number="142" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC142" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                    line <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">=</span> line.strip()</td></tr><tr class="" style="box-sizing: border-box;"><td id="L143" class="blob-num js-line-number" data-line-number="143" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC143" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                    <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">if</span> line:</td></tr><tr class="" style="box-sizing: border-box;"><td id="L144" class="blob-num js-line-number" data-line-number="144" style="box-sizing: border-box; padding: 0px 10px; width: 50px; min-width: 50px; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; line-height: 20px; color: rgba(27, 31, 35, 0.298039); text-align: right; white-space: nowrap; vertical-align: top; cursor: pointer;"></td><td id="LC144" class="js-file-line blob-code-inner blob-code" style="box-sizing: border-box; padding: 0px 10px; position: relative; line-height: 20px; vertical-align: top; overflow: visible; font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; word-wrap: normal; white-space: pre;">                        <span class="pl-k" style="box-sizing: border-box; color: rgb(215, 58, 73);">yield</span> jsonutils.loads(line)


</td></tr></tbody></table><div class="">BR</div></div><div class=""><br class=""></div><div class="">Keon</div></body></html>