[lnie@localhost-live server]$ ./run.sh ARTEMIS_LOG_LEVEL=debug +++ dirname 0 ++ readlink -f . + '[' /home/lnie/artemis/server '!=' /home/lnie/artemis/server ']' + trap 'kill $(jobs -p)' EXIT ++ pwd + export ARTEMIS_CONFIG_DIR=/home/lnie/artemis/server/configuration + ARTEMIS_CONFIG_DIR=/home/lnie/artemis/server/configuration + '[' -f /home/lnie/artemis/server/configuration/.vault_pass ']' ++ cat /home/lnie/artemis/server/configuration/.vault_pass + export ARTEMIS_VAULT_PASSWORD=testfedora + ARTEMIS_VAULT_PASSWORD=testfedora + export 'ARTEMIS_BROKER_URL=amqp://guest:guest@127.0.0.1:5672/?heartbeat=60&blocked_connection_timeout=60' + ARTEMIS_BROKER_URL='amqp://guest:guest@127.0.0.1:5672/?heartbeat=60&blocked_connection_timeout=60' + export ARTEMIS_DB_URL=postgresql://artemis:artemis@127.0.0.1:5432/artemis + ARTEMIS_DB_URL=postgresql://artemis:artemis@127.0.0.1:5432/artemis + export ARTEMIS_CACHE_URL=redis://127.0.0.1:6379 + ARTEMIS_CACHE_URL=redis://127.0.0.1:6379 + export ARTEMIS_LOG_JSON=no + ARTEMIS_LOG_JSON=no + export ARTEMIS_LOG_DB_POOL=no + ARTEMIS_LOG_DB_POOL=no + export ARTEMIS_LOG_DB_QUERIES=no + ARTEMIS_LOG_DB_QUERIES=no + export ARTEMIS_CLOSE_AFTER_DISPATCH=yes + ARTEMIS_CLOSE_AFTER_DISPATCH=yes ++ pwd + export ARTEMIS_HOOK_ROUTE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_ROUTE.py + ARTEMIS_HOOK_ROUTE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_ROUTE.py + export ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE.py + ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE.py + export ARTEMIS_HOOK_OPENSTACK_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_OPENSTACK_ENVIRONMENT_TO_IMAGE.py + ARTEMIS_HOOK_OPENSTACK_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_OPENSTACK_ENVIRONMENT_TO_IMAGE.py + export ARTEMIS_HOOK_AWS_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_AWS_ENVIRONMENT_TO_IMAGE.py + ARTEMIS_HOOK_AWS_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_AWS_ENVIRONMENT_TO_IMAGE.py + export ARTEMIS_HOOK_AZURE_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_AZURE_ENVIRONMENT_TO_IMAGE.py + ARTEMIS_HOOK_AZURE_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_AZURE_ENVIRONMENT_TO_IMAGE.py + export ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE.py + ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE=/home/lnie/artemis/server/configuration/ARTEMIS_HOOK_BEAKER_ENVIRONMENT_TO_IMAGE.py + export ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-aws.yaml + ARTEMIS_AWS_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-aws.yaml + export ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-azure.yaml + ARTEMIS_AZURE_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-azure.yaml + export ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-beaker.yaml + ARTEMIS_BEAKER_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-beaker.yaml + export ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-openstack.yaml + ARTEMIS_OPENSTACK_ENVIRONMENT_TO_IMAGE_MAPPING_FILEPATH=ARTEMIS_CONFIG_DIR/artemis-image-map-openstack.yaml + ARTEMIS_WORKER_OPTIONS= + '[' '' = '' ']' + poetry run alembic upgrade head /home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported " INFO [alembic.runtime.migration] Context impl PostgresqlImpl. INFO [alembic.runtime.migration] Will assume transactional DDL. + poetry run artemis-db-init-content config-to-db /home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported " [15:20:57] [+] connecting to db postgresql://artemis:artemis@127.0.0.1:5432/artemis [15:20:57] [+] sqlalchemy create_engine parameters: { "application_name": null, "echo_pool": false, "max_overflow": 10, "pool_size": 20 } File "", line 1, in File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/core.py", line 1130, in __call__ 1128 def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any: 1129 """Alias for :meth:`main`.""" --> 1130 return self.main(*args, **kwargs) .................................................. args = () kwargs = {} .................................................. File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/core.py", line 1055, in main 987 def main( 988 self, 989 args: t.Optional[t.Sequence[str]] = None, 990 prog_name: t.Optional[str] = None, 991 complete_var: t.Optional[str] = None, 992 standalone_mode: bool = True, 993 windows_expand_args: bool = True, 994 **extra: t.Any, 995 ) -> t.Any: (...) 1049 # Process shell completion requests and exit early. 1050 self._main_shell_completion(extra, prog_name, complete_var) 1051 1052 try: 1053 try: 1054 with self.make_context(prog_name, args, **extra) as ctx: --> 1055 rv = self.invoke(ctx) 1056 if not standalone_mode: .................................................. args = ['config-to-db', ] prog_name = 'artemis-db-init-content' complete_var = None standalone_mode = True windows_expand_args = True extra = {} sys.argv = ['artemis-db-init-content', 'config-to-db', ] os.name = 'posix' self._main_shell_completion = core.py:1100> self.make_context = core. py:884> ctx = self.invoke = core.py:16 23> ctx.exit = core.py:685> sys.stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8' > errno.EPIPE = 32 sys.stdout = <_io.TextIOWrapper name='' mode='w' encoding='utf-8' > t.cast = _ = .................................................. File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/core.py", line 1657, in invoke 1623 def invoke(self, ctx: Context) -> t.Any: (...) 1651 cmd_name, cmd, args = self.resolve_command(ctx, args) 1652 assert cmd is not None 1653 ctx.invoked_subcommand = cmd_name 1654 super().invoke(ctx) 1655 sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) 1656 with sub_ctx: --> 1657 return _process_result(sub_ctx.command.invoke(sub_ctx)) 1658 .................................................. ctx = _process_result = ._process_result' cor e.py:1624> self._result_callback = None ctx.invoke = core.py:709> ctx.params = {} ctx.protected_args = [] self.invoke_without_command = False self.chain = False ctx.fail = core.py:673> _ = args = [] ctx.args = [] cmd_name = 'config-to-db' self.resolve_command = c ore.py:1691> ctx.invoked_subcommand = 'config-to-db' sub_ctx = cmd.make_context = core.py:884> sub_ctx.command.invoke = core.py:1 393> sub_ctx.args = [] .................................................. File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/core.py", line 1404, in invoke 1393 def invoke(self, ctx: Context) -> t.Any: (...) 1398 message = _( 1399 "DeprecationWarning: The command {name!r} is deprecated." 1400 ).format(name=self.name) 1401 echo(style(message, fg="red"), err=True) 1402 1403 if self.callback is not None: --> 1404 return ctx.invoke(self.callback, **ctx.params) .................................................. ctx = self.deprecated = False _ = self.name = 'config-to-db' self.callback = .................................................. File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/core.py", line 760, in invoke 709 def invoke( 710 __self, # noqa: B902 711 __callback: t.Union["Command", t.Callable[..., t.Any]], 712 *args: t.Any, 713 **kwargs: t.Any, 714 ) -> t.Any: (...) 754 ctx.params.update(kwargs) 755 else: 756 ctx = __self 757 758 with augment_usage_errors(__self): 759 with ctx: --> 760 return __callback(*args, **kwargs) .................................................. args = () kwargs = {} ctx = .................................................. File "/home/lnie/.cache/pypoetry/virtualenvs/tft-artemis--bEMb97A-py3.9/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func 25 def new_func(*args, **kwargs): # type: ignore --> 26 return f(get_current_context(), *args, **kwargs) .................................................. args = () kwargs = {} .................................................. File "/home/lnie/artemis/server/src/tft/artemis/scripts/init_db_content.py", line 329, in cmd_config_to_db 323 @click.pass_context 324 def cmd_config_to_db(ctx: Any) -> None: 325 logger = get_logger() 326 server_config = get_config() 327 db = get_db(logger) 328 --> 329 config_to_db(logger, db, server_config) .................................................. cmd_root.command = core.py:1822> click.pass_context = ctx = logger = server_config = None db = .................................................. File "/home/lnie/artemis/server/src/tft/artemis/scripts/init_db_content.py", line 91, in config_to_db 76 def config_to_db( 77 logger: gluetool.log.ContextAdapter, 78 db: DB, 79 server_config: Dict[str, Any] 80 ) -> None: (...) 85 # When adding new bits, let's use a safer approach and test before adding possibly already existing 86 # records. 87 # Adding system and pool tags. We do not want to overwrite the existing value, only add those 88 # that are missing. Artemis' default example of configuration tries to add as little as possible, 89 # which means we probably don't return any tag user might have removed. 90 --> 91 r_validation = validate_config(logger, server_config) 92 .................................................. logger = db = server_config = None gluetool.log.log_dict = logger.error = log.py:698> db.get_session = contextlib.py:261> logger.info = log.py:684> GuestTag.poolname = GuestTag.tag = GuestTag.value = GuestTag.SYSTEM_POOL_ALIAS = '__system__' server_config.get = # AttributeError server_config = None PriorityGroup.name = Pool.poolname = Pool.driver = Pool._parameters = User.username = User.admin_token = User.provisioning_token = UserRoles.USER = GuestShelf.shelfname = GuestShelf.ownername = GuestShelf.state = GuestState.READY = SSHKey.keyname = SSHKey.enabled = SSHKey.ownername = SSHKey.private = SSHKey.public = SSHKey.file = .................................................. File "/home/lnie/artemis/server/src/tft/artemis/scripts/init_db_content.py", line 48, in validate_config 18 def validate_config( 19 logger: gluetool.log.ContextAdapter, 20 server_config: Dict[str, Any] 21 ) -> Result[List[str], Failure]: (...) 42 43 validation_errors += [ 44 f'server: {error}' 45 for error in r_validation.unwrap() 46 ] 47 --> 48 for pool in server_config.get('pools', []): 49 failure_details = { .................................................. logger = server_config = None validation_errors = ["server: None is not of type 'object'", ] r_schema = Ok({'$schema': 'http://json-schema.org/draft-07/schema#', 'd escription': 'Server configuration schema', 'type': 'object' , 'definitions': {'custom_flavor': {'type': 'object', 'prope rties': {'name': {'type': 'string'}, 'base': {'type': 'strin g'}, 'disk': {'$ref': '#/definitions/patch_flavor_disks'}}, 'required': ['name', 'base'], 'additionalProperties': False} , 'patch_flavor_compatible': {'type': 'object', 'properties' : {'distro': {'type': 'array', 'items': {'type': 'string'}}} , 'required': [], 'a... r_schema.is_error = False r_schema.unwrap_error = r_validation.unwrap = server_config.get = # AttributeError server_config = None os.path.join = .................................................. AttributeError: 'NoneType' object has no attribute 'get' + echo 'failed to initialize DB content' failed to initialize DB content + exit 1 ++ jobs -p + kill kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]