diff --git a/firewall/firewall-add b/firewall/firewall-add index 7aaec56..603db4c 100755 --- a/firewall/firewall-add +++ b/firewall/firewall-add @@ -46,19 +46,18 @@ name_resolver() { UP=$(docker ps --format '{{.Names}}\t{{.Status}}' | grep Up | awk '{print $1}' | grep $D"-") ; # filtering for ROLES variables if exists. - - if [[ "$ROLES" != "null" && ! -z "$ROLES" ]]; then - - UPS="" - for ROLE in $(echo $ROLES); do - FILTERED_BY_ROLE=$(docker inspect $UP -f '{{.Name}} {{.Config.Labels.roles}}' | uniq | grep $ROLE| awk '{print $1}') - if [[ "$(echo $FILTERED_BY_ROLE)" != "" ]]; then - UPS="$UPS $FILTERED_BY_ROLE"; - fi - done - - UP=$UPS - fi + if [[ "$ROLES" != "null" && ! -z "$ROLES" ]]; then + UPS="" + for U in $(echo $UP); do + for ROLE in $(echo $ROLES); do + FILTERED_BY_ROLE=$(docker inspect $U -f '{{.Config.Labels.roles}}' | uniq | grep $ROLE) + if [[ "$(echo $FILTERED_BY_ROLE)" != "" ]]; then + UPS="$UPS $U"; + fi + done + done + UP=$UPS + fi if [ ! -z "$UP" ] ; then for D_IP in `echo $UP` ;