<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi Drew,</div><div><br></div><div>Thank you for the response!<br></div><div><br></div><div>>> The Armada API accepts a Tiller hostname as a safeguard in the event that Armada is unable to find a running Tiller pod</div><div><br></div><div>Looking at the code [1] it seems to be that Armada will try to find Tiller pod in the event Shipyard doesn't find one.</div><div>Was there some problem with Armada API not being able to retrieve Tiller endpoint so it required a fallback? They both seem to use k8s API for that.<br></div><div><br></div><div>>> This can be changed per API request by providing the hostname of a different Tiller pod.</div><div><br></div><div>From architecture point of view, do we expect it to work with multiple Tillers within a single Airship installation?<br></div><div><br></div><div>I'm asking these questions to explore the options for resolving GRPC (which is used by Tiller client) [2] constraints, it does not handle CIDR in no_proxy environment variables [3]. One of the options is:</div><div>1. [high priority] Expose Tiller to create a DNS name for the pod, and use it when making requests from Armada API to Tiller, in this case Aramada API POD can have ".cluster.local" in NO_PROXY and everything would work just fine (i.e. requests to Tiller won't go through the proxy).<br></div><div>2. [low priority] Reduce coupling between Tiller/k8s and Shipyard by configuring Tiller endpoints in Armada API directly without requiring Shipyard to pass one.</div><div><br></div><div>Prior to submitting any changes I would like to verify with you if this makes sense or if I should explore other options.<br></div><div><br></div><div>Thanks,<br></div><div><br></div><div>[1] <a href="https://github.com/openstack/airship-armada/blob/307f1318c4e83f247f1e3838478957e7555d6ce0/armada/handlers/tiller.py#L158-L164">https://github.com/openstack/airship-armada/blob/307f1318c4e83f247f1e3838478957e7555d6ce0/armada/handlers/tiller.py#L158-L164</a></div><div>[2] <a href="https://review.openstack.org/#/c/624504/2/manifests/dev_minimal/README.rst">https://review.openstack.org/#/c/624504/2/manifests/dev_minimal/README.rst</a></div><div>[3] <a href="https://github.com/grpc/grpc/blob/9e9cae7839a362936228cf333045e5da877ace40/src/core/ext/filters/client_channel/http_proxy.cc#L146-L149">https://github.com/grpc/grpc/blob/9e9cae7839a362936228cf333045e5da877ace40/src/core/ext/filters/client_channel/http_proxy.cc#L146-L149</a></div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Dec 20, 2018 at 1:42 PM Drew Walters <<a href="mailto:drewwalters96@gmail.com">drewwalters96@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Eli,</div><div><br></div><div>The Armada API accepts a Tiller hostname as a safeguard in the event that Armada is unable to find a running Tiller pod. Shipyard uses the Python Kubernetes client to retrieve the IP address that it provides to Armada.</div><div> <br></div><div>1. It is possible to create a clusterIP with DNS and provide a domain name to Armada.</div><div><br></div><div>2. Armada only communicates with one Tiller pod at a time. This can be changed per API request by providing the hostname of a different Tiller pod. In the event that a Tiller hostname is not provided, Armada selects the first running Tiller pod it encounters.<br></div><div><br></div><div>We invite you to join our IRC team meeting (#airshipit on freenode) January 8th to help us better understand your desired configuration and discuss in more detail. In the meantime, please let us know if you have any additional questions!</div><div><br></div><div>Best,</div><div>Drew Walters<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Dec 12, 2018 at 3:55 PM Evgeny L <<a href="mailto:eli@mirantis.com" target="_blank">eli@mirantis.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">

<span></span><div>Hi,<br>
</div><div><br></div><div>I've been working on getting behind the proxy configuration for AIAB to work [1] and I stumbled across a problem related to GRPC [2], which does not support CIDR notation for no_proxy entries, this make Armada API to fail to connect to Tiller, because it tries to use proxy configured with environment variables.
</div><div><br></div><div>While looking for a solution other than doing some manual reconfiguration [2], I started to have the following questions:
</div><ol><li><div>Why does Shipyard uses [4] Tiller Pod IP? Can we create a ClusterIP and use a DNS name?
</div></li><li><div>Why Shipyard is the one who provides Armada API with Tiller IP address? If we do 1st we can possibly make endpoint a part of Armada API configuration. Or is Armada API supposed to work with multiple Tillers at the same time?
</div></li></ol><div><br></div><div>Any feedback and historical background would be really helpful!</div><div><br></div><div>Thanks,</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/624122/" target="_blank">https://review.openstack.org/#/c/624122/</a>
</div><div>[2] <a href="https://review.openstack.org/#/c/624504/2/manifests/dev_minimal/README.rst" target="_blank">https://review.openstack.org/#/c/624504/2/manifests/dev_minimal/README.rst</a>
</div><div>[3] <a href="https://github.com/grpc/grpc/blob/9e9cae7839a362936228cf333045e5da877ace40/src/core/ext/filters/client_channel/http_proxy.cc#L146-L149" target="_blank">https://github.com/grpc/grpc/blob/9e9cae7839a362936228cf333045e5da877ace40/src/core/ext/filters/client_channel/http_proxy.cc#L146-L149</a>
</div><div>[4] <a href="https://github.com/openstack/airship-shipyard/blob/a235f8e6db6e791550727e3575e045e26f177252/src/bin/shipyard_airflow/shipyard_airflow/plugins/armada_base_operator.py#L147-L153" target="_blank">https://github.com/openstack/airship-shipyard/blob/a235f8e6db6e791550727e3575e045e26f177252/src/bin/shipyard_airflow/shipyard_airflow/plugins/armada_base_operator.py#L147-L153</a>
</div></div>
_______________________________________________<br>
Airship-discuss mailing list<br>
<a href="mailto:Airship-discuss@lists.airshipit.org" target="_blank">Airship-discuss@lists.airshipit.org</a><br>
<a href="http://lists.airshipit.org/cgi-bin/mailman/listinfo/airship-discuss" rel="noreferrer" target="_blank">http://lists.airshipit.org/cgi-bin/mailman/listinfo/airship-discuss</a></blockquote></div>
</blockquote></div>