@@ -102,27 +102,38 @@ EOF
102102
103103# initialize a router and cloud NAT
104104init_networks () {
105- if [[ ${GCP_NETWORK_NAME} != " default" ]]; then
106- gcloud compute networks create --project " $GCP_PROJECT " " ${GCP_NETWORK_NAME} " --subnet-mode auto --quiet
107- gcloud compute firewall-rules create " ${GCP_NETWORK_NAME} " -allow-http --project " $GCP_PROJECT " \
108- --allow tcp:80 --network " ${GCP_NETWORK_NAME} " --quiet
109- gcloud compute firewall-rules create " ${GCP_NETWORK_NAME} " -allow-https --project " $GCP_PROJECT " \
110- --allow tcp:443 --network " ${GCP_NETWORK_NAME} " --quiet
111- gcloud compute firewall-rules create " ${GCP_NETWORK_NAME} " -allow-icmp --project " $GCP_PROJECT " \
112- --allow icmp --network " ${GCP_NETWORK_NAME} " --priority 65534 --quiet
113- gcloud compute firewall-rules create " ${GCP_NETWORK_NAME} " -allow-internal --project " $GCP_PROJECT " \
114- --allow " tcp:0-65535,udp:0-65535,icmp" --network " ${GCP_NETWORK_NAME} " --priority 65534 --quiet
115- fi
116105
117- gcloud compute firewall-rules list --project " $GCP_PROJECT "
118- gcloud compute networks list --project=" ${GCP_PROJECT} "
119- gcloud compute networks describe " ${GCP_NETWORK_NAME} " --project=" ${GCP_PROJECT} "
106+ ARRAY=( " $GCP_PROJECT :$GCP_NETWORK_NAME "
107+ " $GCP_HOST_PROJECT :${GCP_NETWORK_NAME} -shared-vpc" )
108+
109+ for data in " ${ARRAY[@]} " ; do
110+ PROJECT=${data%%:* }
111+ NETWORK=${data#*: }
112+
113+ echo " Creating network resources in project ${PROJECT} "
114+
115+ if [[ ${NETWORK} != " default" ]]; then
116+ gcloud compute networks create --project " $PROJECT " " ${NETWORK} " --subnet-mode auto --quiet
117+ gcloud compute firewall-rules create " ${NETWORK} " -allow-http --project " $PROJECT " \
118+ --allow tcp:80 --network " ${NETWORK} " --quiet
119+ gcloud compute firewall-rules create " ${NETWORK} " -allow-https --project " $PROJECT " \
120+ --allow tcp:443 --network " ${NETWORK} " --quiet
121+ gcloud compute firewall-rules create " ${NETWORK} " -allow-icmp --project " $PROJECT " \
122+ --allow icmp --network " ${NETWORK} " --priority 65534 --quiet
123+ gcloud compute firewall-rules create " ${NETWORK} " -allow-internal --project " $PROJECT " \
124+ --allow " tcp:0-65535,udp:0-65535,icmp" --network " ${NETWORK} " --priority 65534 --quiet
125+ fi
126+
127+ gcloud compute firewall-rules list --project " $PROJECT "
128+ gcloud compute networks list --project=" ${$PROJECT } "
129+ gcloud compute networks describe " ${NETWORK} " --project=" ${$PROJECT } "
120130
121- gcloud compute routers create " ${TEST_NAME} -myrouter" --project=" ${GCP_PROJECT} " \
122- --region=" ${GCP_REGION} " --network=" ${GCP_NETWORK_NAME} "
123- gcloud compute routers nats create " ${TEST_NAME} -mynat" --project=" ${GCP_PROJECT} " \
124- --router-region=" ${GCP_REGION} " --router=" ${TEST_NAME} -myrouter" \
125- --nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips
131+ gcloud compute routers create " ${TEST_NAME} -myrouter" --project=" ${$PROJECT } " \
132+ --region=" ${GCP_REGION} " --network=" ${NETWORK} "
133+ gcloud compute routers nats create " ${TEST_NAME} -mynat" --project=" ${$PROJECT } " \
134+ --router-region=" ${GCP_REGION} " --router=" ${TEST_NAME} -myrouter" \
135+ --nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips
136+ done
126137}
127138
128139
@@ -146,23 +157,38 @@ cleanup() {
146157 (gcloud compute instance-groups list --project " $GCP_PROJECT " | grep capg-e2e \
147158 | awk ' {print "gcloud compute instance-groups unmanaged delete --project ' " $GCP_PROJECT " ' --quiet " $1 " --zone " $2 "\n"}' \
148159 | bash) || true
149- (gcloud compute firewall-rules list --project " $GCP_PROJECT " | grep capg-e2e \
150- | awk ' {print "gcloud compute firewall-rules delete --project ' " $GCP_PROJECT " ' --quiet " $1 "\n"}' \
151- | bash) || true
152160
153- # cleanup the networks
154- gcloud compute routers nats delete " ${TEST_NAME} -mynat" --project=" ${GCP_PROJECT} " \
155- --router-region=" ${GCP_REGION} " --router=" ${TEST_NAME} -myrouter" --quiet || true
156- gcloud compute routers delete " ${TEST_NAME} -myrouter" --project=" ${GCP_PROJECT} " \
157- --region=" ${GCP_REGION} " --quiet || true
158-
159- if [[ ${GCP_NETWORK_NAME} != " default" ]]; then
160- (gcloud compute firewall-rules list --project " $GCP_PROJECT " | grep " $GCP_NETWORK_NAME " \
161- | awk ' {print "gcloud compute firewall-rules delete --project ' " $GCP_PROJECT " ' --quiet " $1 "\n"}' \
162- | bash) || true
163- gcloud compute networks delete --project=" ${GCP_PROJECT} " \
164- --quiet " ${GCP_NETWORK_NAME} " || true
165- fi
161+
162+ ARRAY=( " $GCP_PROJECT :$GCP_NETWORK_NAME "
163+ " $GCP_HOST_PROJECT :${GCP_NETWORK_NAME} -shared-vpc" )
164+
165+ for data in " ${ARRAY[@]} " ; do
166+ PROJECT=${data%%:* }
167+ NETWORK=${data#*: }
168+
169+ echo " Cleaning up network resources from project $PROJECT "
170+
171+ (gcloud compute firewall-rules list --project " $PROJECT " | grep capg-e2e \
172+ | awk ' {print "gcloud compute firewall-rules delete --project ' " $PROJECT " ' --quiet " $1 "\n"}' \
173+ | bash) || true
174+
175+ # cleanup the networks
176+ gcloud compute routers nats delete " ${TEST_NAME} -mynat" --project=" ${PROJECT} " \
177+ --router-region=" ${GCP_REGION} " --router=" ${TEST_NAME} -myrouter" --quiet || true
178+ gcloud compute routers delete " ${TEST_NAME} -myrouter" --project=" ${PROJECT} " \
179+ --region=" ${GCP_REGION} " --quiet || true
180+
181+ if [[ ${NETWORK} != " default" ]]; then
182+ (gcloud compute firewall-rules list --project " $PROJECT " | grep " $NETWORK " \
183+ | awk ' {print "gcloud compute firewall-rules delete --project ' " $PROJECT " ' --quiet " $1 "\n"}' \
184+ | bash) || true
185+ gcloud compute networks delete --project=" ${PROJECT} " \
186+ --quiet " ${NETWORK} " || true
187+ fi
188+
189+ done
190+
191+
166192
167193 if [[ -n " ${SKIP_INIT_IMAGE:- } " ]]; then
168194 echo " Skipping GCP image deletion..."
0 commit comments