vpnporxy 部署纪要

解决fabfile中hosts变量的获取问题

test_depoly中使用_find_hosts_by_cluster_and_container(cluster,container)来获取hosts,但是传进来的这两个变量都有可能是列表,所以要解决列表问题,最后还要解决hosts列表中的元素为列表的情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if type(containers) == str:
hosts = map(lambda cluster: _find_hosts_by_cluster_and_container(cluster, containers), clusters)
if type(containers) == list:
hosts = []
for containers in containerss:
host = map(lambda cluster: _find_hosts_by_cluster_and_container(cluster, container), clusters)
hosts.extend(host)
lst = []
for host in hosts:
if type(host) == list:
lst.extend(host)
else:
lst.append(host)
hosts = lst
print hosts

if len(hosts) == 0:
env.hosts = None
else:
env.hosts = hosts

容器域名的添加

一开始没有搞清楚服务域名和部署主机域名,浪费了点时间来处理这个问题,新添加的域名生效也很慢。

version No. 的获取问题

上面所有总是解决后,遇到的最后一个报错:
Alt text

版本号问题,Nia分辨出是docker.pp没有获取正确的version number,最后找到是主机46没有建立tag file,初建后,运行成功。

1
2
my::config::tags::vpnproxy:
tag: 87aded288d1dbc874289852bc652db5e334a4959-SNAPSHOT