11#!/usr/bin/env python3
22
3+ import sys
4+ import os
35import argparse
46import logging
5- import os
6- import sys
77import time
88
9- from entities .helpers import setup_logging , cloud_checker , item_checker
109from openstack .connection import Connection
1110from openstack .config import loader
1211
13- from entities .helpers import Config
14- from entities import WorkloadGeneratorDomain
12+ # $ make type-check
13+ # source venv/bin/activate && python3 -m mypy --no-color-output --pretty src
14+ # src/openstack_workload_generator/__main__.py:12: error: Cannot find implementation or library
15+ # stub for module named "entities" [import-not-found]
16+ # from entities import WorkloadGeneratorDomain
17+ # ^
18+ # src/openstack_workload_generator/__main__.py:13: error: Cannot find implementation or library stub for module
19+ # named "entities.helpers" [import-not-found]
20+ # from entities.helpers import setup_logging, cloud_checker, item_checker, Config
21+ # ^
22+ # src/openstack_workload_generator/__main__.py:13: note: See
23+ # https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
24+ # Found 2 errors in 1 file (checked 9 source files)
25+ # make: *** [Makefile:25: type-check] Error 1
26+
27+ from entities import WorkloadGeneratorDomain # type: ignore[import-not-found]
28+ from entities .helpers import setup_logging , cloud_checker , item_checker , Config # type: ignore[import-not-found]
1529
1630LOGGER = logging .getLogger ()
1731
4862exclusive_group_project = parser .add_mutually_exclusive_group (required = True )
4963
5064exclusive_group_project .add_argument ('--create_projects' , type = item_checker , nargs = "+" , default = None ,
51- metavar = "PROJECTNAME" ,
52- help = 'A list of projects to be created in the created domains' )
65+ metavar = "PROJECTNAME" ,
66+ help = 'A list of projects to be created in the created domains' )
5367
5468exclusive_group_project .add_argument ('--delete_projects' , type = item_checker , nargs = "+" , default = None ,
55- metavar = "PROJECTNAME" ,
56- help = 'A list of projects to be deleted in the created domains, all child elements are recursively deleted' )
69+ metavar = "PROJECTNAME" ,
70+ help = 'A list of projects to be deleted in the created '
71+ 'domains, all child elements are recursively deleted' )
5772
5873exclusive_group_machines = parser .add_mutually_exclusive_group (required = True )
5974exclusive_group_machines .add_argument ('--create_machines' , type = item_checker , nargs = "+" , default = None ,
60- metavar = "SERVERNAME" ,
61- help = 'A list of vms to be created in the created domains' )
75+ metavar = "SERVERNAME" ,
76+ help = 'A list of vms to be created in the created domains' )
6277
6378exclusive_group_machines .add_argument ('--delete_machines' , type = item_checker , nargs = "+" , default = None ,
64- metavar = "SERVERNAME" ,
65- help = 'A list of vms to be deleted in the created projects' )
79+ metavar = "SERVERNAME" ,
80+ help = 'A list of vms to be deleted in the created projects' )
6681
6782args = parser .parse_args ()
6883
@@ -77,6 +92,7 @@ def establish_connection():
7792 cloud_config = config .get_one (args .os_cloud )
7893 return Connection (config = cloud_config )
7994
95+
8096time_start = time .time ()
8197
8298Config .load_config (args .config )
@@ -102,7 +118,7 @@ def establish_connection():
102118 workload_project .dump_inventory_hosts (args .ansible_inventory )
103119 elif args .delete_machines :
104120 for machine_obj in workload_project .get_machines (args .delete_machines ):
105- machine_obj .delete_machine ()
121+ machine_obj .delete_machine ()
106122 sys .exit (0 )
107123 elif args .delete_projects :
108124 conn = establish_connection ()
0 commit comments