Build API: Parse known CLI args

Avoid CLI backwards compatibility issues with parse_known_args.

BUG=None
TEST=manual, cq

Change-Id: Ifd396a7580507ed9ed793c401d24f79eeb9f8a59
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1972197
Commit-Queue: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Michael Mortensen <mmortensen@google.com>
diff --git a/scripts/build_api.py b/scripts/build_api.py
index 339ac2e..35e0752 100644
--- a/scripts/build_api.py
+++ b/scripts/build_api.py
@@ -107,7 +107,12 @@
 def _ParseArgs(argv, router):
   """Parse and validate arguments."""
   parser = GetParser()
-  opts = parser.parse_args(argv)
+  opts, unknown = parser.parse_known_args(
+      argv, namespace=commandline.ArgumentNamespace())
+  parser.DoPostParseSetup(opts, unknown)
+
+  if unknown:
+    logging.warning('Unknown args ignored: %s', ' '.join(unknown))
 
   methods = router.ListMethods()