+ tempest cleanup --init-saved-state + '[' true == false ']' + tempest run --config-file /etc/tempest/tempest.conf -w 4 --smoke {2} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_get_flavor [0.236431s] ... ok {2} tempest.api.compute.flavors.test_flavors.FlavorsV2TestJSON.test_list_flavors [0.083944s] ... ok {1} tempest.api.identity.admin.v3.test_regions.RegionsTestJSON.test_create_region_with_specific_id [0.146975s] ... ok {3} tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_users_add_list_delete [3.276285s] ... ok {2} tempest.api.compute.security_groups.test_security_group_rules.SecurityGroupRulesTestJSON.test_security_group_rules_create [1.038323s] ... ok {1} tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_all [2.928497s] ... ok {2} tempest.api.compute.security_groups.test_security_group_rules.SecurityGroupRulesTestJSON.test_security_group_rules_list [0.991441s] ... ok {3} tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list [0.232561s] ... ok {1} tempest.api.identity.v3.test_domains.DefaultDomainTestJSON.test_default_domain_exists [0.113766s] ... ok {3} tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types [0.090560s] ... ok {3} tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources [0.028877s] ... ok {3} tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_statuses [0.016096s] ... ok {3} tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions [0.007525s] ... ok {0} tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers [0.140805s] ... ok {0} tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details [0.000452s] ... ok {3} tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_delete_image [0.477454s] ... ok {3} tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_register_upload_get_image_file [0.669562s] ... ok {3} tempest.api.image.v2.test_images.BasicOperationsImagesTest.test_update_image [0.177477s] ... ok {1} tempest.api.network.test_extensions.ExtensionsTestJSON.test_list_show_extensions [4.999066s] ... ok {2} tempest.api.compute.security_groups.test_security_groups.SecurityGroupsTestJSON.test_security_groups_create_list_delete [2.360523s] ... ok {3} tempest.api.image.v2.test_versions.VersionsTest.test_list_versions [0.004332s] ... ok {0} tempest.api.compute.test_versions.TestVersions.test_get_version_details [0.567870s] ... ok {0} tempest.api.compute.test_versions.TestVersions.test_list_api_versions [0.019718s] ... ok {0} tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete [0.164658s] ... ok {1} tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_floating_ip_specifying_a_fixed_ip_address [3.910730s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_network [7.260786s] ... ok {1} tempest.api.network.test_floating_ips.FloatingIPTestJSON.test_create_list_show_update_delete_floating_ip [5.590811s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_port [3.756199s] ... ok {0} tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_update_delete_domain [0.719315s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_subnet [3.201821s] ... ok {0} tempest.api.identity.admin.v3.test_endpoints.EndPointsTestJSON.test_update_endpoint [0.527505s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_network [2.551471s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_create_update_delete_network_subnet [2.723756s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_external_network_visibility [0.132183s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_list_networks [0.055589s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_list_subnets [0.038320s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_show_network [0.047491s] ... ok {1} tempest.api.network.test_networks.NetworksIpV6Test.test_show_subnet [0.029714s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_port [2.854487s] ... ok {3} tempest.api.network.test_networks.BulkNetworkOpsTest.test_bulk_create_delete_subnet [2.727787s] ... ok {0} tempest.api.identity.admin.v3.test_services.ServicesTestJSON.test_create_update_get_service [0.294388s] ... ok {1} tempest.api.network.test_ports.PortsTestJSON.test_create_port_in_allowed_allocation_pools [2.687986s] ... ok {1} tempest.api.network.test_ports.PortsTestJSON.test_create_port_with_no_securitygroups [4.122292s] ... ok {1} tempest.api.network.test_ports.PortsTestJSON.test_create_update_delete_port [2.313946s] ... ok {1} tempest.api.network.test_ports.PortsTestJSON.test_list_ports [0.354923s] ... ok {1} tempest.api.network.test_ports.PortsTestJSON.test_show_port [0.087041s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_create_update_delete_network_subnet [4.283641s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_external_network_visibility [0.667189s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_list_networks [0.192299s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_list_subnets [0.237316s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_show_network [0.165139s] ... ok {3} tempest.api.network.test_networks.NetworksTest.test_show_subnet [0.097626s] ... ok {0} tempest.api.network.test_routers.RoutersIpV6Test.test_add_multiple_router_interfaces [10.256457s] ... ok {2} tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesUnderV243Test.test_add_remove_fixed_ip [40.443977s] ... ok {3} tempest.api.object_storage.test_account_services.AccountTest.test_list_account_metadata [0.067004s] ... ok {3} tempest.api.object_storage.test_account_services.AccountTest.test_list_containers [0.018781s] ... ok {1} tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_list_update_show_delete_security_group [2.587458s] ... ok {0} tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_port_id [6.354980s] ... ok {1} tempest.api.network.test_security_groups.SecGroupIPv6Test.test_create_show_delete_security_group_rule [4.193972s] ... ok {1} tempest.api.network.test_security_groups.SecGroupIPv6Test.test_list_security_groups [0.024742s] ... ok {0} tempest.api.network.test_routers.RoutersIpV6Test.test_add_remove_router_interface_with_subnet_id [6.296115s] ... ok {1} tempest.api.network.test_security_groups.SecGroupTest.test_create_list_update_show_delete_security_group [6.688246s] ... ok {0} tempest.api.network.test_routers.RoutersIpV6Test.test_create_show_list_update_delete_router [7.832976s] ... ok {1} tempest.api.network.test_security_groups.SecGroupTest.test_create_show_delete_security_group_rule [2.365626s] ... ok {1} tempest.api.network.test_security_groups.SecGroupTest.test_list_security_groups [0.055835s] ... ok {0} tempest.api.object_storage.test_object_services.ObjectTest.test_create_object [0.072741s] ... ok {0} tempest.api.object_storage.test_object_services.ObjectTest.test_get_object [0.036119s] ... ok {0} tempest.api.object_storage.test_object_services.ObjectTest.test_list_object_metadata [0.031004s] ... ok {0} tempest.api.object_storage.test_object_services.ObjectTest.test_update_object_metadata [0.098799s] ... ok {1} tempest.api.network.test_subnetpools_extensions.SubnetPoolsTestJSON.test_create_list_show_update_delete_subnetpools [1.797095s] ... ok {2} tempest.api.compute.servers.test_create_server.ServersTestBootFromVolume.test_list_servers [0.050661s] ... ok {2} tempest.api.compute.servers.test_create_server.ServersTestBootFromVolume.test_verify_server_details [0.000848s] ... ok {1} tempest.api.network.test_versions.NetworksApiDiscovery.test_api_version_resources [0.358771s] ... ok {1} tempest.api.network.test_versions.NetworksApiDiscovery.test_show_api_v2_details [0.305700s] ... ok {3} tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_attach_detach_volume_to_instance [10.634964s] ... ok {0} tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete [5.628581s] ... ok {1} tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_admin_modify_quota [0.243153s] ... ok {1} tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_overlimit_upload [0.048136s] ... ok {1} tempest.api.object_storage.test_account_quotas.AccountQuotasTest.test_upload_valid_object [0.050628s] ... ok {0} tempest.api.volume.test_volumes_get.VolumesGetTest.test_volume_create_get_update_delete_from_image [5.493654s] ... ok {1} tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_large_object [0.213390s] ... ok {1} tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_too_many_objects [0.172302s] ... ok {1} tempest.api.object_storage.test_container_quotas.ContainerQuotasTest.test_upload_valid_object [0.087478s] ... ok {1} tempest.api.object_storage.test_container_services.ContainerTest.test_create_container [0.207878s] ... ok {1} tempest.api.object_storage.test_container_services.ContainerTest.test_list_container_contents [0.108056s] ... ok {1} tempest.api.object_storage.test_container_services.ContainerTest.test_list_container_metadata [0.071806s] ... ok {0} tempest.api.volume.test_volumes_list.VolumesListTestJSON.test_volume_list [0.068804s] ... ok {1} neutron_tempest_plugin.api.admin.test_tag.TagFilterFloatingIpTestJSON.test_filter_floatingip_tags [0.833904s] ... ok {2} tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers [0.121510s] ... ok {2} tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details [0.000402s] ... ok {0} tempest.scenario.test_dashboard_basic_ops.TestDashboardBasicOps.test_basic_scenario [9.024383s] ... ok {0} setUpClass (tempest.scenario.test_server_multinode.TestServerMultinode) ... SKIPPED: Less than 2 compute nodes, skipping multinode tests. {1} neutron_tempest_plugin.api.admin.test_tag.TagFilterNetworkTestJSON.test_filter_network_tags [1.562280s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagFilterSecGroupTestJSON.test_filter_security_group_tags [2.515283s] ... ok {3} tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops [28.680995s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagFilterSubnetpoolTestJSON.test_filter_subnetpool_tags [0.209815s] ... ok {1} neutron_tempest_plugin.api.admin.test_tag.TagFilterRouterTestJSON.test_filter_router_tags [0.417183s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagQosPolicyTestJSON.test_qos_policy_tags [0.956957s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagFilterPortTestJSON.test_filter_port_tags [0.660557s] ... ok {1} neutron_tempest_plugin.api.admin.test_tag.TagPortTestJSON.test_port_tags [1.209484s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagSecGroupTestJSON.test_security_group_tags [1.003340s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagSubnetPoolTestJSON.test_subnetpool_tags [0.804627s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagFilterQosPolicyTestJSON.test_filter_qos_policy_tags [0.973452s] ... ok {0} neutron_tempest_plugin.api.admin.test_tag.TagSubnetTestJSON.test_subnet_tags [1.243116s] ... ok {2} tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard [19.210344s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagFilterSubnetTestJSON.test_filter_subnet_tags [0.423748s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagNetworkTestJSON.test_network_tags [1.134584s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagRouterTestJSON.test_router_tags [1.754178s] ... ok {2} tempest.api.compute.servers.test_server_addresses.ServerAddressesTestJSON.test_list_server_addresses [0.043981s] ... ok {2} tempest.api.compute.servers.test_server_addresses.ServerAddressesTestJSON.test_list_server_addresses_by_network [0.097131s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.TagTrunkTestJSON.test_trunk_tags [0.751638s] ... ok {2} tempest.api.identity.admin.v3.test_policies.PoliciesTestJSON.test_create_update_delete_policy [0.135028s] ... ok {3} neutron_tempest_plugin.api.admin.test_tag.UpdateTagsTest.test_update_tags_affects_only_updated_resource [2.435779s] ... ok {2} tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_in_allowed_allocation_pools [2.353850s] ... ok {2} tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_port_with_no_securitygroups [2.401021s] ... ok {2} tempest.api.network.test_ports.PortsIpV6TestJSON.test_create_update_delete_port [1.145178s] ... ok {2} tempest.api.network.test_ports.PortsIpV6TestJSON.test_list_ports [0.061537s] ... ok {2} tempest.api.network.test_ports.PortsIpV6TestJSON.test_show_port [0.064967s] ... ok {2} tempest.api.network.test_routers.RoutersTest.test_add_multiple_router_interfaces [9.848294s] ... ok {2} tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_port_id [5.752944s] ... ok {2} tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id [5.151234s] ... ok {2} tempest.api.network.test_routers.RoutersTest.test_create_show_list_update_delete_router [3.404106s] ... ok {2} tempest.api.volume.test_versions.VersionsTest.test_list_versions [0.008920s] ... ok 2026-10-20 15:32:43.596 16 WARNING tempest.lib.common.ssh [-] Failed to establish authenticated ssh connection to cirros@10.96.250.215 ([Errno None] Unable to connect to port 22 on 10.96.250.215). Number attempts: 1. Retry after 2 seconds.: paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 10.96.250.215 2026-10-20 15:33:06.877 16 WARNING tempest.lib.common.ssh [-] Failed to establish authenticated ssh connection to cirros@10.96.250.215 ([Errno None] Unable to connect to port 22 on 10.96.250.215). Number attempts: 1. Retry after 2 seconds.: paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 10.96.250.215 {2} tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops [60.054395s] ... ok {2} neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_create_rbac_policy_with_target_tenant_none [2.508195s] ... ok {2} neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_create_rbac_policy_with_target_tenant_too_long_id [1.895880s] ... ok {2} neutron_tempest_plugin.api.admin.test_shared_network_extension.RBACSharedNetworksTest.test_network_only_visible_to_policy_target [3.016226s] ... ok {2} neutron_tempest_plugin.api.admin.test_tag.TagFilterTrunkTestJSON.test_filter_trunk_tags [0.288260s] ... ok {2} neutron_tempest_plugin.api.admin.test_tag.TagFloatingIpTestJSON.test_floatingip_tags [1.224314s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_admin_create_endpoint_group_for_tenant [0.162433s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_admin_create_ike_policy_for_tenant [0.512325s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_admin_create_ipsec_policy_for_tenant [0.126478s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_admin_create_vpn_service_for_tenant [12.067199s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_connection_with_cidr_and_endpoint_group [0.342791s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_connection_with_mix_ip_endpoint_group [0.404385s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_connection_with_subnet_and_local_endpoint_group [0.171242s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_connection_with_subnet_and_remote_endpoint_group [0.151851s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_delete_vpn_connection_with_ep_group [1.537407s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_delete_vpn_connection_with_legacy_mode [1.408829s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_update_delete_endpoint_group [0.239941s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_update_delete_ike_policy [0.214487s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_update_delete_ipsec_policy [0.201379s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_update_delete_vpn_service [11.303833s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_missing_peer_cidr [0.090553s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_small_MTU [0.098311s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_small_dpd [0.011294s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_with_missing_local_endpoint_group [0.179058s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_with_missing_remote_endpoint_group [0.300194s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_connection_wrong_peer_cidr [0.014878s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpn_service_subnet_not_on_router [4.691426s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpnservice_long_description [0.032805s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_create_vpnservice_long_name [0.022808s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_fail_create_endpoint_group_when_provide_subnet_id_with_cidr [0.056228s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_fail_create_endpoint_group_when_wrong_type [0.065840s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_fail_create_endpoint_group_with_mixed_IP_version [0.050575s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_list_ike_policies [0.020983s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_list_ipsec_policies [0.018256s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_list_vpn_connections [0.020951s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_list_vpn_services [0.021081s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_show_endpoint_group [0.043741s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_show_ike_policy [0.017616s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_show_ipsec_policy [0.019409s] ... ok {2} neutron_tempest_plugin.vpnaas.api.test_vpnaas.VPNaaSTestJSON.test_show_vpn_service [0.019047s] ... ok 2026-10-20 15:35:52.850 16 WARNING tempest.lib.common.ssh [-] Failed to establish authenticated ssh connection to cirros@10.96.250.212 ([Errno None] Unable to connect to port 22 on 10.96.250.212). Number attempts: 1. Retry after 2 seconds.: paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 10.96.250.212 2026-10-20 15:35:58.638 16 WARNING tempest.lib.common.ssh [-] Failed to establish authenticated ssh connection to cirros@10.96.250.216 ([Errno None] Unable to connect to port 22 on 10.96.250.216). Number attempts: 1. Retry after 2 seconds.: paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 10.96.250.216 {2} octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_basic_http_traffic [87.894670s] ... ok ====== Totals ====== Ran: 164 tests in 677.9280 sec. - Passed: 163 - Skipped: 1 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 481.2890 sec. ============== Worker Balance ============== - Worker 0 (27 tests) => 0:02:59.418983 - Worker 1 (39 tests) => 0:03:01.951694 - Worker 2 (65 tests) => 0:11:17.928003 - Worker 3 (33 tests) => 0:04:04.378751 + tempest cleanup