Skip to content

Commit f9e2b7e

Browse files
marouxqiwzhang
authored andcommitted
Add 2 more values to template vars to make multiple backend support better (#694)
* Add services to template vars to make multiple backend support better * Also server_config_dir since that's where server configs are stored * fix * handle another edge case * yet another corner case + review comment * minor change
1 parent ba36683 commit f9e2b7e

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

start_esp/start_esp.py

+23-14
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,9 @@ def write_nginx_conf(ingress, nginx_conf, args):
163163
server_config_path=args.server_config_path,
164164
experimental_proxy_backend_host_header=args.experimental_proxy_backend_host_header,
165165
enable_strict_transport_security=args.enable_strict_transport_security,
166-
google_cloud_platform=(args.non_gcp==False))
166+
google_cloud_platform=(args.non_gcp==False),
167+
server_config_dir=args.server_config_dir,
168+
services=args.services)
167169

168170
# Save nginx conf
169171
try:
@@ -366,6 +368,8 @@ def fetch_service_config(args):
366368
logging.error("[ESP] Service name is not specified");
367369
sys.exit(3)
368370

371+
args.services = args.service.split('|')
372+
369373
# fetch service config rollout strategy from metadata, if not specified
370374
if (args.rollout_strategy is None or not args.rollout_strategy.strip()) and args.check_metadata:
371375
logging.info(
@@ -384,9 +388,7 @@ def fetch_service_config(args):
384388

385389
# Fetch api version from latest successful rollouts
386390
if args.version is None or not args.version.strip():
387-
services = args.service.split('|')
388-
args.services = services
389-
for idx, service in enumerate(services):
391+
for idx, service in enumerate(args.services):
390392
logging.info(
391393
"Fetching the service config ID from the rollouts service")
392394
rollout = fetch.fetch_latest_rollout(args.management,
@@ -1035,16 +1037,23 @@ def enforce_conflict_args(args):
10351037
logging.error(check_conflict_result)
10361038
sys.exit(3)
10371039

1038-
if args.service and '|' in args.service:
1039-
if args.experimental_enable_multiple_api_configs == False:
1040-
logging.error("[ESP] The flag --experimental_enable_multiple_api_configs must be enabled when --service specifies multiple services")
1041-
sys.exit(3)
1042-
if args.version:
1043-
logging.error("[ESP] --version is not allowed when --service specifies multiple services")
1044-
sys.exit(3)
1045-
if args.server_config_generation_path and not args.server_config_generation_path.endswith('/'):
1046-
logging.error("[ESP] --server_config_generation_path must end with / when --service specifies multiple services")
1047-
sys.exit(3)
1040+
if args.service:
1041+
if '|' in args.service:
1042+
if not args.experimental_enable_multiple_api_configs:
1043+
logging.error("[ESP] The flag --experimental_enable_multiple_api_configs must be enabled when --service specifies multiple services")
1044+
sys.exit(3)
1045+
if args.version:
1046+
logging.error("[ESP] --version is not allowed when --service specifies multiple services")
1047+
sys.exit(3)
1048+
if args.server_config_generation_path and not args.server_config_generation_path.endswith('/'):
1049+
logging.error("[ESP] --server_config_generation_path must end with / when --service specifies multiple services")
1050+
sys.exit(3)
1051+
1052+
args.services = args.service.split('|')
1053+
else:
1054+
args.services = [args.service]
1055+
else:
1056+
args.services = []
10481057

10491058
# Set credentials file from the environment variable
10501059
if args.service_account_key is None:

0 commit comments

Comments
 (0)