環境内のサービスを検出するためにconsulを使用しています。Consul の DNS サービスは、非標準の DNS ポートで実行されています。私の現在の解決策は回避策であり、これを行うためのよりpythonicな方法を見つけたいと思います:
digcmd='dig @127.0.0.1 -p 8600 chef.service.consul +short' # lookup the local chef server via consul
proc=subprocess.Popen(shlex.split(digcmd),stdout=subprocess.PIPE)
out, err=proc.communicate()
chef_server = "https://"+out.strip('\n')