You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2018/10/11 17:11:30 UTC

[trafficcontrol] 20/21: Implemented '--wait_for_parents'

This is an automated email from the ASF dual-hosted git repository.

dangogh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit dcf3944ebf7340c953ba73f0eec287fed2b6921c
Author: ocket8888 <Br...@comcast.com>
AuthorDate: Mon Oct 8 17:30:01 2018 +0000

    Implemented '--wait_for_parents'
---
 infrastructure/cdn-in-a-box/ort/traffic_ops_ort/__init__.py      | 5 +++--
 infrastructure/cdn-in-a-box/ort/traffic_ops_ort/configuration.py | 4 ++++
 infrastructure/cdn-in-a-box/ort/traffic_ops_ort/main_routines.py | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/__init__.py b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/__init__.py
index 90b0930..1083f32 100644
--- a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/__init__.py
+++ b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/__init__.py
@@ -75,6 +75,8 @@ def doMain(args:argparse.Namespace) -> int:
 	logging.info("Got TO Cookie - valid until %s",
 	             datetime.datetime.fromtimestamp(configuration.TO_COOKIE.expires))
 
+	configuration.WAIT_FOR_PARENTS = args.wait_for_parents
+
 	from . import main_routines
 
 	return main_routines.run()
@@ -114,8 +116,7 @@ def main():
 	                    default=3)
 	parser.add_argument("--wait_for_parents",
 	                    help="do not update if parent_pending = 1 in the update json.",
-	                    type=int,
-	                    default=1)
+	                    action="store_true")
 	parser.add_argument("--rev_proxy_disabled",
 	                    help="bypass the reverse proxy even if one has been configured.",
 	                    type=int,
diff --git a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/configuration.py b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/configuration.py
index 5045c97..15c3497 100644
--- a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/configuration.py
+++ b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/configuration.py
@@ -46,6 +46,10 @@ SERVER_INFO = None
 #: Does not affect non-Traffic Ops servers
 VERIFY = True
 
+#: If set to :const:`True`, this script will not apply updates until all of its parents have
+#: finished applying their updates
+WAIT_FOR_PARENTS = False
+
 
 class Modes(enum.IntEnum):
 	"""
diff --git a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/main_routines.py b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/main_routines.py
index 58a349a..d95b7c4 100644
--- a/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/main_routines.py
+++ b/infrastructure/cdn-in-a-box/ort/traffic_ops_ort/main_routines.py
@@ -74,7 +74,7 @@ def revalidateState() -> bool:
 		raise ORTException from e
 
 	logging.debug("Retrieved raw revalidation status: %r", updateStatus)
-	if "parent_reval_pending" in updateStatus and updateStatus["parent_reval_pending"]:
+	if conf.WAIT_FOR_PARENTS and "parent_reval_pending" in updateStatus and updateStatus["parent_reval_pending"]:
 		logging.info("Parent revalidation is pending - waiting for parent")
 		return False