()
| 214 | |
| 215 | |
| 216 | def main() -> None: |
| 217 | parser = argparse.ArgumentParser( |
| 218 | description="Ceph Node-Proxy for HW Monitoring", |
| 219 | formatter_class=argparse.ArgumentDefaultsHelpFormatter, |
| 220 | ) |
| 221 | parser.add_argument( |
| 222 | "--config", help="path of config file in json format", required=True |
| 223 | ) |
| 224 | parser.add_argument( |
| 225 | "--debug", |
| 226 | help="increase logging verbosity (debug level)", |
| 227 | action="store_true", |
| 228 | ) |
| 229 | |
| 230 | args = parser.parse_args() |
| 231 | if args.debug: |
| 232 | DEFAULTS["logging"]["level"] = 10 |
| 233 | |
| 234 | try: |
| 235 | cephadm_config = load_cephadm_config(args.config) |
| 236 | except FileNotFoundError as e: |
| 237 | raise SystemExit(f"Config error: {e}") |
| 238 | except ValueError as e: |
| 239 | raise SystemExit(f"Config error: {e}") |
| 240 | |
| 241 | node_proxy_mgr = create_node_proxy_manager(cephadm_config) |
| 242 | signal.signal( |
| 243 | signal.SIGTERM, lambda signum, frame: handler(signum, frame, node_proxy_mgr) |
| 244 | ) |
| 245 | node_proxy_mgr.run() |
| 246 | |
| 247 | |
| 248 | if __name__ == "__main__": |
no test coverage detected