解决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. 的获取问题
上面所有总是解决后,遇到的最后一个报错:
版本号问题,Nia分辨出是docker.pp没有获取正确的version number,最后找到是主机46没有建立tag file,初建后,运行成功。
1 2
| my::config::tags::vpnproxy: tag: 87aded288d1dbc874289852bc652db5e334a4959-SNAPSHOT
|