[lnie@fedora server]$ ARTEMIS_LOG_LEVEL=debug ARTEMIS_LOG_DB_QUERIES=yes ./run.sh +++ 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=yes + ARTEMIS_LOG_DB_QUERIES=yes + 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 " [21:09:01] [+] select version() [21:09:01] [+] [raw sql] {} [21:09:01] [D] Col ('version',) [21:09:01] [D] Row ('PostgreSQL 12.7 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit',) [21:09:01] [+] select current_schema() [21:09:01] [+] [raw sql] {} [21:09:01] [D] Col ('current_schema',) [21:09:01] [D] Row ('public',) [21:09:01] [+] show standard_conforming_strings [21:09:01] [+] [raw sql] {} [21:09:01] [D] Col ('standard_conforming_strings',) [21:09:01] [D] Row ('on',) INFO [alembic.runtime.migration] Context impl PostgresqlImpl. INFO [alembic.runtime.migration] Will assume transactional DDL. [21:09:01] [+] BEGIN (implicit) [21:09:01] [+] select relname from pg_class c join pg_namespace n on n.oid=c.relnamespace where pg_catalog.pg_table_is_visible(c.oid) and relname=%(name)s [21:09:01] [+] [generated in 0.00009s] {'name': 'alembic_version'} [21:09:01] [D] Col ('relname',) [21:09:01] [D] Row ('alembic_version',) [21:09:01] [+] SELECT alembic_version.version_num FROM alembic_version [21:09:01] [+] [generated in 0.00006s] {} [21:09:01] [D] Col ('version_num',) [21:09:01] [D] Row ('3082955b6723',) [21:09:01] [+] COMMIT + 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 " [21:09:02] [D] logger setup: level=10, debug file=None, verbose file=None, json file=None, sentry=no, show traceback=False [21:09:02] [D] logger setup: level=10, debug file=None, verbose file=None, json file=None, sentry=no, show traceback=False [21:09:02] [D] final broker URL is amqp://guest:guest@127.0.0.1:5672/?heartbeat=60&blocked_connection_timeout=60&client_properties=%7B%27connection_name%27%3A+%27artemis-worker%27%7D [21:09:02] [D] logger setup: level=10, debug file=None, verbose file=None, json file=None, sentry=no, show traceback=False [21:09:02] [D] logger setup: level=10, debug file=None, verbose file=None, json file=None, sentry=no, show traceback=False [21:09:02] [D] attempt to load YAML from '/home/lnie/artemis/server/configuration/server.yml' (maps to '/home/lnie/artemis/server/configuration/server.yml') [21:09:02] [D] loaded YAML data from '/home/lnie/artemis/server/configuration/server.yml': { "guest_tags": { "Owner": "my-name", "ProvisionedBy": "Artemis" }, "pools": [ { "driver": "beaker", "name": "beaker", "parameters": { "capabilities": { "supported-architectures": "any" } } }, { "driver": "openstack", "name": "openstack", "parameters": { "api-version": "v3", "auth-url": "https://rhos-d.infra.prod.upshift.rdu2.redhat.com:13000/v3", "capabilities": { "supported-architectures": [ "x86_64" ] }, "default-flavor": "ci.m1.small", "flavor-regex": ".*", "ip-version": "4", "master-key-name": "", "network-regex": ".*", "password": "xxxxx", "project-domain-name": "redhat.com", "project-name": "fedora-cloud", "security-group": "default", "user-domain-name": "redhat.com", "username": "psi-fedora-cloud" } } ], "priority-groups": [ { "name": "default-priority" } ], "ssh-keys": [ { "fingerprint": "xxxxx", "name": "fedora-cloud", "owner": "Lili Nie", "private": "xxx", "public": "xxxxx" } ], "users": [ { "name": "admin", "role": "admin" }, { "name": "artemis" } ] } [21:09:02] [+] connecting to db postgresql://artemis:artemis@127.0.0.1:5432/artemis [21:09:02] [+] sqlalchemy create_engine parameters: { "application_name": null, "echo_pool": false, "max_overflow": 10, "pool_size": 20 } [21:09:02] [D] attempt to load YAML from '/home/lnie/artemis/server/src/tft/artemis/schema/common.yml' (maps to '/home/lnie/artemis/server/src/tft/artemis/schema/common.yml') [21:09:02] [D] loaded YAML data from '/home/lnie/artemis/server/src/tft/artemis/schema/common.yml': { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "custom_flavor": { "additionalProperties": false, "properties": { "base": { "type": "string" }, "disk": { "$ref": "#/definitions/patch_flavor_disks" }, "name": { "type": "string" } }, "required": [ "name", "base" ], "type": "object" }, "patch_flavor": { "additionalProperties": false, "oneOf": [ { "required": [ "name" ] }, { "required": [ "name-regex" ] } ], "properties": { "arch": { "type": "string" }, "compatible": { "$ref": "#/definitions/patch_flavor_compatible" }, "cpu": { "$ref": "#/definitions/patch_flavor_cpu" }, "disk": { "$ref": "#/definitions/patch_flavor_disks" }, "name": { "type": "string" }, "name-regex": { "format": "regex", "type": "string" }, "virtualization": { "$ref": "#/definitions/patch_flavor_virtualization" } }, "type": "object" }, "patch_flavor_compatible": { "additionalProperties": false, "properties": { "distro": { "items": { "type": "string" }, "type": "array" } }, "required": [], "type": "object" }, "patch_flavor_cpu": { "additionalProperties": false, "properties": { "family": { "type": "integer" }, "family-name": { "type": "string" }, "model": { "type": "integer" }, "model-name": { "type": "string" } }, "required": [], "type": "object" }, "patch_flavor_disk": { "oneOf": [ { "additionalProperties": false, "properties": { "size": { "type": "string" } }, "required": [] }, { "additionalProperties": false, "properties": { "additional-disks": { "$ref": "#/definitions/patch_flavor_disk_expansion" } } } ], "type": "object" }, "patch_flavor_disk_expansion": { "properties": { "max-count": { "minimum": 1, "type": "integer" }, "max-size": { "type": "string" }, "min-size": { "type": "string" } }, "required": [ "max-count", "min-size", "max-size" ], "type": "object" }, "patch_flavor_disks": { "items": { "$ref": "#/definitions/patch_flavor_disk" }, "type": "array" }, "patch_flavor_virtualization": { "additionalProperties": false, "properties": { "hypervisor": { "type": "string" }, "is-supported": { "type": "boolean" }, "is-virtualized": { "type": "boolean" } }, "required": [], "type": "object" }, "patch_image": { "additionalProperties": false, "oneOf": [ { "required": [ "name" ] }, { "required": [ "name-regex" ] } ], "properties": { "name": { "type": "string" }, "name-regex": { "format": "regex", "type": "string" }, "ssh": { "$ref": "#/definitions/patch_image_ssh" } }, "type": "object" }, "patch_image_ssh": { "additionalProperties": false, "properties": { "port": { "type": "integer" }, "username": { "type": "string" } }, "required": [], "type": "object" }, "pool_capabilities_disable_guest_log_item": { "additionalProperties": false, "properties": { "content-type": { "enum": [ "blob", "url" ], "type": "string" }, "log-name": { "type": "string" } }, "required": [ "log-name", "content-type" ], "type": "object" } }, "description": "Server configuration schema", "properties": { "guest_tags": { "patternProperties": { "^.*$": { "type": "string" } }, "type": "object" }, "pools": { "items": { "properties": { "driver": { "type": "string" }, "guest_tags": { "patternProperties": { "^.*$": { "type": "string" } }, "type": "object" }, "name": { "type": "string" }, "parameters": { "properties": { "capabilities": { "properties": { "disable-guest-logs": { "items": { "$ref": "#/definitions/pool_capabilities_disable_guest_log_item" }, "type": "array" }, "supported-architectures": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "enum": [ "any" ], "type": "string" } ] }, "supports-hostnames": { "type": "boolean" } }, "required": [ "supported-architectures" ], "type": "object" }, "cost": { "properties": { "disk": { "multipleOf": 0.0001, "type": "number" }, "network-interface": { "multipleOf": 0.0001, "type": "number" }, "static-ip": { "multipleOf": 0.0001, "type": "number" }, "virtual-machine": { "multipleOf": 0.0001, "type": "number" }, "virtual-network": { "multipleOf": 0.0001, "type": "number" } }, "type": "object" }, "custom-flavors": { "items": { "$ref": "#/definitions/custom_flavor" }, "type": "array" }, "patch-flavors": { "items": { "$ref": "#/definitions/patch_flavor" }, "type": "array" }, "patch-images": { "items": { "$ref": "#/definitions/patch_image" }, "type": "array" }, "resources": { "properties": { "limits": { "properties": { "cores": { "type": "integer" }, "diskspace": { "type": "integer" }, "instances": { "type": "integer" }, "memory": { "type": "integer" }, "snapshot": { "type": "integer" } }, "required": [], "type": "object" } }, "type": "object" }, "ssh-options": { "items": { "type": "string" }, "type": "array" }, "use-only-when-addressed": { "default": false, "type": "boolean" } }, "required": [ "capabilities" ], "type": "object" } }, "required": [ "name", "driver", "parameters" ], "type": "object" }, "type": "array" }, "priority-groups": { "items": { "properties": { "name": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "shelves": { "items": { "properties": { "name": { "type": "string" }, "owner": { "type": "string" } }, "required": [ "name", "owner" ], "type": "object" }, "type": "array" }, "ssh-keys": { "items": { "properties": { "fingerprint": { "type": "string" }, "name": { "type": "string" }, "owner": { "type": "string" }, "private": { "type": "string" }, "public": { "type": "string" } }, "required": [ "name", "owner", "private", "public" ], "type": "object" }, "minItems": 1, "type": "array" }, "users": { "items": { "properties": { "name": { "type": "string" }, "role": { "enum": [ "admin", "user" ], "type": "string" } }, "required": [ "name" ], "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "users", "ssh-keys" ], "type": "object" } [21:09:02] [D] attempt to load YAML from '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/beaker.yml' (maps to '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/beaker.yml') [21:09:02] [D] loaded YAML data from '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/beaker.yml': { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "hw_boot": { "additionalProperties": false, "properties": { "method": { "$ref": "#/definitions/hw_boot_method" } }, "required": [], "type": "object" }, "hw_boot_method": { "additionalProperties": false, "properties": { "translations": { "items": { "$ref": "#/definitions/hw_boot_method_translation" }, "type": "array" } }, "required": [], "type": "object" }, "hw_boot_method_translation": { "additionalProperties": false, "properties": { "element": { "type": "string" }, "operator": { "enum": [ "contains", "not contains" ], "type": "string" }, "value": { "enum": [ "bios", "uefi" ], "type": "string" } }, "required": [ "operator", "value", "element" ], "type": "object" } }, "description": "Beaker pool driver schema", "properties": { "avoid-groups": { "items": { "type": "string" }, "type": "array" }, "avoid-hostnames": { "items": { "type": "string" }, "type": "array" }, "capabilities": { "type": "object" }, "cost": { "type": "object" }, "hw-constraints": { "properties": { "boot": { "$ref": "#/definitions/hw_boot" } }, "required": [], "type": "object" }, "password": { "type": "string" }, "patch-images": { "type": "array" }, "pools": { "items": { "oneOf": [ { "type": "string" }, { "properties": { "poolname": { "type": "string" }, "system-type": { "type": "string" } }, "required": [ "poolname" ], "type": "object" } ] }, "type": "array" }, "post-install-script": { "type": "string" }, "resources": { "type": "object" }, "ssh-options": { "items": { "type": "string" }, "type": "array" }, "use-only-when-addressed": { "type": "boolean" }, "username": { "type": "string" } }, "required": [], "type": "object" } [21:09:02] [D] attempt to load YAML from '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/openstack.yml' (maps to '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/openstack.yml') [21:09:02] [D] loaded YAML data from '/home/lnie/artemis/server/src/tft/artemis/schema/drivers/openstack.yml': { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "allOf": [ { "required": [ "username", "password", "auth-url", "project-name", "user-domain-name", "api-version", "master-key-name", "default-flavor", "network-regex", "ip-version", "security-group" ] }, { "anyOf": [ { "required": [ "project-domain-id" ] }, { "required": [ "project-domain-name" ] } ] } ], "description": "Openstack pool driver config schema", "properties": { "api-version": { "type": "string" }, "auth-url": { "type": "string" }, "capabilities": { "type": "object" }, "cost": { "type": "object" }, "default-flavor": { "type": "string" }, "flavor-regex": { "type": "string" }, "image-regex": { "type": "string" }, "ip-version": { "enum": [ "4", "6" ], "type": "string" }, "master-key-name": { "type": "string" }, "network-regex": { "type": "string" }, "password": { "type": "string" }, "patch-flavors": { "type": "array" }, "patch-images": { "type": "array" }, "post-install-script": { "type": "string" }, "project-domain-id": { "type": "string" }, "project-domain-name": { "type": "string" }, "project-name": { "type": "string" }, "resources": { "type": "object" }, "security-group": { "type": "string" }, "ssh-options": { "items": { "type": "string" }, "type": "array" }, "use-default-flavor-when-no-suitable": { "default": true, "type": "boolean" }, "use-only-when-addressed": { "type": "boolean" }, "user-domain-name": { "type": "string" }, "username": { "type": "string" } }, "type": "object" } [21:09:02] [+] Adding system-level guest tags [21:09:02] [+] Adding ProvisionedBy=Artemis [21:09:02] [D] safe db change: INSERT INTO guest_tags (poolname, tag, value) VALUES (%(poolname)s, %(tag)s, %(value)s) ON CONFLICT (poolname, tag) DO UPDATE SET value = %(param_1)s WHERE guest_tags.poolname = %(poolname_1)s AND guest_tags.tag = %(tag_1)s - expect 1 records [21:09:02] [+] select version() [21:09:02] [+] [raw sql] {} [21:09:02] [D] Col ('version',) [21:09:02] [D] Row ('PostgreSQL 12.7 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit',) [21:09:02] [+] select current_schema() [21:09:02] [+] [raw sql] {} [21:09:02] [D] Col ('current_schema',) [21:09:02] [D] Row ('public',) [21:09:02] [+] show standard_conforming_strings [21:09:02] [+] [raw sql] {} [21:09:02] [D] Col ('standard_conforming_strings',) [21:09:02] [D] Row ('on',) [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO guest_tags (poolname, tag, value) VALUES (%(poolname)s, %(tag)s, %(value)s) ON CONFLICT (poolname, tag) DO UPDATE SET value = %(param_1)s WHERE guest_tags.poolname = %(poolname_1)s AND guest_tags.tag = %(tag_1)s [21:09:02] [+] [no key 0.00011s] {'poolname': '__system__', 'tag': 'ProvisionedBy', 'value': 'Artemis', 'param_1': 'Artemis', 'poolname_1': '__system__', 'tag_1': 'ProvisionedBy'} [21:09:02] [D] found 1 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding Owner=my-name [21:09:02] [D] safe db change: INSERT INTO guest_tags (poolname, tag, value) VALUES (%(poolname)s, %(tag)s, %(value)s) ON CONFLICT (poolname, tag) DO UPDATE SET value = %(param_1)s WHERE guest_tags.poolname = %(poolname_1)s AND guest_tags.tag = %(tag_1)s - expect 1 records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO guest_tags (poolname, tag, value) VALUES (%(poolname)s, %(tag)s, %(value)s) ON CONFLICT (poolname, tag) DO UPDATE SET value = %(param_1)s WHERE guest_tags.poolname = %(poolname_1)s AND guest_tags.tag = %(tag_1)s [21:09:02] [+] [no key 0.00012s] {'poolname': '__system__', 'tag': 'Owner', 'value': 'my-name', 'param_1': 'my-name', 'poolname_1': '__system__', 'tag_1': 'Owner'} [21:09:02] [D] found 1 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding pool-level guest tags for pool beaker [21:09:02] [+] Adding pool-level guest tags for pool openstack [21:09:02] [+] Adding priority groups [21:09:02] [+] Adding priority group "default-priority" [21:09:02] [D] safe db change: INSERT INTO priority_groups (name) VALUES (%(name)s) ON CONFLICT (name) DO NOTHING - expect (0, 1) records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO priority_groups (name) VALUES (%(name)s) ON CONFLICT (name) DO NOTHING [21:09:02] [+] [no key 0.00008s] {'name': 'default-priority'} [21:09:02] [D] found 0 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding pools [21:09:02] [+] Adding pool "beaker" [21:09:02] [D] safe db change: INSERT INTO pools (poolname, driver, _parameters) VALUES (%(poolname)s, %(driver)s, %(_parameters)s) ON CONFLICT (poolname) DO UPDATE SET _parameters = %(param_1)s WHERE pools.poolname = %(poolname_1)s - expect 1 records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO pools (poolname, driver, _parameters) VALUES (%(poolname)s, %(driver)s, %(_parameters)s) ON CONFLICT (poolname) DO UPDATE SET _parameters = %(param_1)s WHERE pools.poolname = %(poolname_1)s [21:09:02] [+] [no key 0.00011s] {'poolname': 'beaker', 'driver': 'beaker', '_parameters': '{"capabilities": {"supported-architectures": "any"}}', 'param_1': '{"capabilities": {"supported-architectures": "any"}}', 'poolname_1': 'beaker'} [21:09:02] [D] found 1 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding pool "openstack" [21:09:02] [D] safe db change: INSERT INTO pools (poolname, driver, _parameters) VALUES (%(poolname)s, %(driver)s, %(_parameters)s) ON CONFLICT (poolname) DO UPDATE SET _parameters = %(param_1)s WHERE pools.poolname = %(poolname_1)s - expect 1 records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO pools (poolname, driver, _parameters) VALUES (%(poolname)s, %(driver)s, %(_parameters)s) ON CONFLICT (poolname) DO UPDATE SET _parameters = %(param_1)s WHERE pools.poolname = %(poolname_1)s [21:09:02] [+] [no key 0.00013s] {'poolname': 'openstack', 'driver': 'openstack', '_parameters': '{"username": "psi-fedora-cloud", "password": "xxxxxx", "auth-url": "https://rhos-d.infra.prod.upshift.rdu2.redhat.com:13000 ... (186 characters truncated) ... work-regex": ".*", "ip-version": "4", "default-flavor": "ci.m1.small", "flavor-regex": ".*", "capabilities": {"supported-architectures": ["x86_64"]}}', 'param_1': '{"username": "psi-fedora-cloud", "password":"xxxxx", "auth-url": "https://rhos-d.infra.prod.upshift.rdu2.redhat.com:13000 ... (186 characters truncated) ... work-regex": ".*", "ip-version": "4", "default-flavor": "ci.m1.small", "flavor-regex": ".*", "capabilities": {"supported-architectures": ["x86_64"]}}', 'poolname_1': 'openstack'} [21:09:02] [D] found 1 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding user "admin" with role "ADMIN" [21:09:02] [D] safe db change: INSERT INTO users (username, admin_token, provisioning_token) VALUES (%(username)s, %(admin_token)s, %(provisioning_token)s) ON CONFLICT (username) DO NOTHING - expect (0, 1) records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO users (username, admin_token, provisioning_token) VALUES (%(username)s, %(admin_token)s, %(provisioning_token)s) ON CONFLICT (username) DO NOTHING [21:09:02] [+] [no key 0.00008s] {'username': 'admin', 'admin_token': 'ecf9d9e3a79a032798f2426c143a4b2a89ac87f33e27f011a305a2507a8a42fd', 'provisioning_token': '410354e5c35c4f77d3e30ea945b36780b676156fd367fd11ab3f9ea6513d72ce'} [21:09:02] [D] found 0 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding user "artemis" with role "USER" [21:09:02] [D] safe db change: INSERT INTO users (username, admin_token, provisioning_token) VALUES (%(username)s, %(admin_token)s, %(provisioning_token)s) ON CONFLICT (username) DO NOTHING - expect (0, 1) records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO users (username, admin_token, provisioning_token) VALUES (%(username)s, %(admin_token)s, %(provisioning_token)s) ON CONFLICT (username) DO NOTHING [21:09:02] [+] [no key 0.00007s] {'username': 'artemis', 'admin_token': 'f7743600ca0d4307b54eb212dd08e69b43615d8f8d8114cabc37fc6317e6c96a', 'provisioning_token': '73db45dcffd1b17e84a4376252fba9b424a71f83c5d74747a36f88c2344730fa'} [21:09:02] [D] found 0 matching rows, as expected [21:09:02] [+] COMMIT using DBAPI connection.commit(), DBAPI should ignore due to autocommit mode [21:09:02] [+] Adding SSH key "fedora-cloud", owner by Lili Nie [21:09:02] [D] safe db change: INSERT INTO sshkeys (keyname, enabled, ownername, file, private, public) VALUES (%(keyname)s, %(enabled)s, %(ownername)s, %(file)s, %(private)s, %(public)s) ON CONFLICT (keyname) DO UPDATE SET private = %(param_1)s, public = %(param_2)s WHERE sshkeys.keyname = %(keyname_1)s - expect 1 records [21:09:02] [+] BEGIN (implicit) [21:09:02] [+] INSERT INTO sshkeys (keyname, enabled, ownername, file, private, public) VALUES (%(keyname)s, %(enabled)s, %(ownername)s, %(file)s, %(private)s, %(public)s) ON CONFLICT (keyname) DO UPDATE SET private = %(param_1)s, public = %(param_2)s WHERE sshkeys.keyname = %(keyname_1)s [21:09:02] [+] [no key 0.00152s] {'keyname': 'fedora-cloud', 'enabled': True, 'ownername': 'Lili Nie', 'file': '', 'private': , 'public': , 'param_1': , 'param_2': , 'keyname_1': 'fedora-cloud'} [21:09:02] [+] ROLLBACK using DBAPI connection.rollback(), DBAPI should ignore due to autocommit mode 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 = CommentedMap {'ssh-keys': CommentedSeq [ CommentedMap {...}, ], 'guest_tags': CommentedMap {'ProvisionedBy': 'Artemis', 'Owner': 'my-name'}, 'pools': CommentedSeq [ CommentedMap {...}, CommentedMap {...}, ], 'priority-groups': CommentedSeq [ CommentedMap {...}, ], 'users': CommentedSeq [ CommentedMap {...}, Comment... db = .................................................. File "/home/lnie/artemis/server/src/tft/artemis/scripts/init_db_content.py", line 310, 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: (...) 304 # for any *new* keys... 305 'private': private, 306 'public': key_config['public'].strip() 307 } 308 ) 309 --> 310 assert r.is_ok and r.unwrap() is True, 'Failed to initialize SSH key record' .................................................. logger = db = server_config = CommentedMap {'ssh-keys': CommentedSeq [ CommentedMap {...}, ], 'guest_tags': CommentedMap {'ProvisionedBy': 'Artemis', 'Owner': 'my-name'}, 'pools': CommentedSeq [ CommentedMap {...}, CommentedMap {...}, ], 'priority-groups': CommentedSeq [ CommentedMap {...}, ], 'users': CommentedSeq [ CommentedMap {...}, Comment... r_validation = Ok([]) r_validation.is_error = False r_validation.unwrap_error = validation_errors = [] r_validation.unwrap = gluetool.log.log_dict = logger.error = log.py:698> db.get_session = contextlib.py:261> session = _add_tags = ._add_tags' init_db_content. py:110> poolname = 'openstack' logger.info = log.py:684> r = Error() GuestTag.poolname = GuestTag.tag = GuestTag.value = r.is_ok = False r.unwrap = ) result.py:168> GuestTag.SYSTEM_POOL_ALIAS = '__system__' server_config.get = azure_pools = 0 pool_parameters = CommentedMap {'username': 'psi-fedora-cloud', 'password': 'xxxx', 'auth-url': 'https://rhos-d.infra.prod.upshift.rdu2.redhat. com:13000/v3', 'project-name': 'fedora-cloud', 'user-domain-name': 'redhat.com', 'api-version': 'v3', 'project-domain-name': 'redhat.com', 'master-key-name': '', 'security-group': 'default', 'network-regex': '.*', 'ip-version': '4', 'default-flavor': 'ci.m1.small', 'flavor-regex': '.*', 'capabilities': CommentedMap... Pool.poolname = Pool.driver = Pool._parameters = _add_user = ._add_user' init_db_content. py:207> username = 'artemis' role = User.username = User.admin_token = User.provisioning_token = user_config = CommentedMap {'name': 'artemis'} UserRoles.USER = GuestShelf.shelfname = GuestShelf.ownername = GuestShelf.state = GuestState.READY = key_config = CommentedMap {'fingerprint': 'xxxx' 'public': 'ssh-rsa xxxxxxxxxx ... private = '-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAA SSHKey.keyname = SSHKey.enabled = SSHKey.ownername = SSHKey.private = SSHKey.public = SSHKey.file = .................................................. AssertionError: Failed to initialize SSH key record + 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]