tests:

  - title: deployment_*
    errors:
      - 'special characters are not allowed'
    status: ProdFailed
    defects: PROD-0

  - title: deployment_*
    errors:
      - "SaltReqTimeoutError: Message timed out"
    status: ProdFailed
    defects: PROD-35053

  - title: deployment_*
    errors:
      - "Exception: Step 'Configure salt-minion on osd"
      - No space left on device
    status: ProdFailed
    defects: PROD-36101

  - title: 'tempest.api.network.admin.test_routers.RoutersAdminTest.test_update_router_set_gateway[id-6cc285d8-46bf-4f36-9b1a-783e3008ba79]'
    errors:
      - 'testtools.matchers._impl.MismatchError: 0 != 1'
    status: ProdFailed
    defects: PROD-25134

  - title: 'tempest.api.network.admin.test_routers.RoutersAdminTest.test_update_router_set_gateway[id-6cc285d8-46bf-4f36-9b1a-783e3008ba79]'
    errors:
      - 'testtools.matchers._impl.MismatchError: 0 != 1'
    status: ProdFailed
    defects: PROD-25134

  - title: tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_image_specify_multibyte_character_image_name[id-3b7c6fe4-dfe7-477c-9243-b06359db51e6]
    errors:
      - "tempest.lib.exceptions.Conflict: Conflict with state of target resource"
      - "Details: {u'message': u\"Cannot 'createImage' instance"
      - "while it is in task_state image_uploading\", u'code': 409}"
    status: ProdFailed
    defects: PROD-35752


## ==================================================
  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_delete_image_metadata_item"
    errors:
      - "502 PUT https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_paused_server[id-71bcb732-0261-11e7-9086-fa163e4fa634]"
    errors:
      - "502 GET https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_paused_server[id-71bcb732-0261-11e7-9086-fa163e4fa634]"
    errors:
      - "502 DELETE https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_stopped_server[id-aaacd1d0-55a2-4ce8-818a-b5439df8adc9]"
    errors:
      - "502 GET https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_stopped_server[id-aaacd1d0-55a2-4ce8-818a-b5439df8adc9]"
    errors:
      - "502 DELETE https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_suspended_server[id-8ca07fec-0262-11e7-907e-fa163e4fa634]"
    errors:
      - "502 DELETE https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: "tempest.api.compute.images.test_images_oneserver.ImagesOneServerTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314]"
    errors:
      - "502 DELETE https://10.6.0.80:8774/v2.1/images/"
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.compute.servers.test_virtual_interfaces.VirtualInterfacesTestJSON.test_list_virtual_interfaces[id-96c4e2ef-5e4d-4d7f-87f5-fed6dca18016,network]
    errors:
      - self.client.list_virtual_interfaces(self.server['id'])
      - BadRequest not raised
    status: ProdFailed
    defects: PROD-35966

  - title: ".setUpClass (tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON)"
    errors:
      - 'resp, body = self.get("images/%s" % image_id)'
      - "tempest.lib.exceptions.UnexpectedResponseCode: Unexpected response code received"
      - "Details: 502"
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_get_console_output_server_id_in_shutoff_status[id-5b65d4e7-4ecd-437c-83c0-d6b79d927568]
    errors:
      - "502 POST https://10.6.0.80:8774/v2.1/servers"
      - "tempest.lib.exceptions.UnexpectedResponseCode: Unexpected response code received"
      - "Details: 502"
    status: ProdFailed
    defects: PROD-35224

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_delete_image[id-3731d080-d4c5-4872-b41a-64d0d0021314]"
    errors:
      - "message': u\"Cannot 'createImage' instance"
      - "while it is in task_state image_uploading\", u'code': 409"
    status: ProdFailed
    defects: PROD-35223

  - title: "tempest.api.compute.images.test_images.ImagesTestJSON.test_create_image_from_paused_server[id-71bcb732-0261-11e7-9086-fa163e4fa634]"
    errors:
      - "failed to reach ACTIVE state (current state SAVING) within the required time (600 s)."
    status: ProdFailed
    defects: PROD-35223

  - title: ".setUpClass (tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON)"
    errors:
      - 'resp, body = self.get("images/%s" % image_id)'
      - "Details: 502"
    status: ProdFailed
    defects: PROD-35212

  - title: ".tearDownClass (tempest.api.image.v2.test_images.ListUserImagesTest)"
    errors:
      - "raise testtools.MultipleExceptions(*cleanup_errors)"
      - "Details: 502, <traceback object at"
    status: ProdFailed
    defects: PROD-35212

  - title: ".tearDownClass (tempest.api.compute.images.test_list_image_filters.ListImageFiltersTestJSON)"
    errors:
      - "raise testtools.MultipleExceptions(*cleanup_errors)"
      - "Details: 502, <traceback object at"
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.compute.images.test_images.ImagesTestJSON.test_delete_saving_image[id-aa06b52b-2db5-4807-b218-9441f75d74e3]
    errors:
      - resp, body = self.get("images/%s" % image_id)
      - "Details: 502"
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_create_backup[id-b963d4f1-94b3-4c40-9e97-7b583f46e470,image]
    errors:
      - 502 GET https://10.6.0.80:9292/v2/images/
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.volume.test_volumes_actions.VolumesActionsTest.test_volume_upload[id-d8f1ca95-3d5b-44a3-b8ca-909691c9532d,image]
    errors:
      - 502 GET https://10.6.0.80:9292/v2/images/
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.volume.test_volumes_negative.VolumesNegativeTest.test_create_volume_from_image_with_decreasing_size[id-5b810c91-0ad1-47ce-aee8-615f789be78f,image,negative]
    errors:
      - 502 PUT https://10.6.0.80:9292/v2/images/
    status: ProdFailed
    defects: PROD-35212

  - title: tempest.api.compute.servers.test_delete_server.DeleteServersTestJSON.test_delete_server_while_in_shelved_state[id-bb0cb402-09dd-4947-b6e5-5e7e1cfa61ad]
    errors:
      - 'tempest.lib.exceptions.TimeoutException: Request timed out'
      - 'failed to reach SHELVED_OFFLOADED status and task state "None" within the required time (600 s). Current status: SHELVED. Current task state: shelving_offloading'
    status: ProdFailed
    defects: PROD-35225

  - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_create_backup[id-b963d4f1-94b3-4c40-9e97-7b583f46e470,image]
    errors:
      - failed to reach active state (current state saving) within the required time
    status: ProdFailed
    defects: PROD-35222


  - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_create_backup[id-b963d4f1-94b3-4c40-9e97-7b583f46e470,image]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv6_create[id-fc9996de-4f55-4fc4-b8ef-a4b9170c7078]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_create_backup[id-b963d4f1-94b3-4c40-9e97-7b583f46e470,image]
    errors:
      - "message': u'No image found with ID"
      - "u'code': u'404 Not Found'"
    status: ProdFailed
    defects: PROD-36275

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_list[id-6546ef3c-c0e2-46af-b892-f795f4d01119,smoke]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.scenario.v2.test_load_balancer.LoadBalancerScenarioTest.test_load_balancer_ipv6_CRUD[id-86ffecc4-dce8-46f9-936e-8a4c6bcf3959]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_update[id-b75a4d15-49d2-4149-a745-635eed1aacc3]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693


  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete_cascade[id-643ef031-c800-45f2-b229-3c8f8b37c829]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_delete[id-643ef031-c800-45f2-b229-3c8f8b37c829]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_status[id-60acc1b0-fa46-41f8-b526-c81ae2f42c30]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show[id-826ae612-8717-4c64-a8a7-cb9570a85870]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_ipv4_create[id-61c6343c-a5d2-4b9f-8c7d-34ea83f0596b]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_show_stats[id-105afcba-4dd6-46d6-8fa4-bd7330aa1259]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

  - title: octavia_tempest_plugin.tests.api.v2.test_load_balancer.LoadBalancerAPITest.test_load_balancer_failover[id-fc2e07a6-9776-4559-90c9-141170d4c397]
    errors:
      - show_loadbalancer provisioning_status updated to an invalid state of ERROR
    status: ProdFailed
    defects: PROD-34693

# ---------------------------------------------------
  - title: "tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_get_console_output_server_id_in_shutoff_status[id-5b65d4e7-4ecd-437c-83c0-d6b79d927568]"
    errors:
      - "Details: {u'message': u'Guest does not have a console available.', u'code': 404}"
    status: ProdFailed
    defects: PROD-35224

  - title: "tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_create_ebs_image_and_check_boot[compute,id-36c34c67-7b54-4b59-b188-02a2f458a63b,image,volume]"
    errors:
      - "Invalid volume: Volume status must be available or error or error_restoring or error_extending or error_managing and must not be migrating, attached, belong to a group, have snapshots or be disassociated from snapshots after volume transfer"
    status: ProdFailed
    defects: PROD-35217

  - title: "tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_create_server_from_volume_snapshot[compute,id-05795fb2-b2a7-4c9f-8fac-ff25aedb1489,image,slow,volume]"
    errors:
      - "Invalid volume: Volume status must be available or error or error_restoring or error_extending or error_managing and must not be migrating, attached, belong to a group, have snapshots or be disassociated from snapshots after volume transfer"
    status: ProdFailed
    defects: PROD-35217

  - title: .tearDownClass (tempest.api.volume.test_volumes_actions.VolumesActionsTest)
    errors:
      - "Invalid volume: Volume status must be available or error or error_restoring or error_extending or error_managing and must not be migrating, attached, belong to a group, have snapshots or be disassociated from snapshots after volume transfer"
    status: ProdFailed
    defects: PROD-35217

  - title: ".setUpClass (tempest.api.network.admin.test_agent_management.AgentManagementTestJSON)"
    errors:
      - 'File "/usr/local/lib/python2.7/dist-packages/tempest/api/network/admin/test_agent_management.py", line 35, in resource_setup'
      - "IndexError: list index out of range"
    status: ProdFailed
    defects: PROD-25221

  - title: tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesTestJSON.test_create_list_show_delete_interfaces_by_fixed_ip[id-d290c06c-f5b3-11e7-8ec8-002293781009,network]
    errors:
      - 'tempest.lib.exceptions.NotFound: Object not found'
      - "u'type': u'PortNotFound'"
    status: ProdFailed
    defects: PROD-29650

## ==================================================
#             CVP SANITY
## ==================================================
  - title: test_ntp_peers_state
    errors:
      - "NTP peers state is not as expected on some nodes; could not find declared system peer"
    status: WontFix


  - title: test_prometheus_alert_count[ReclassRemoteDesync]
    errors:
      - "local files under /srv/salt/reclass have diverged from expected remote state"
    status: WontFix

  - title: test_prometheus_alert_count[ContrailBGPSessionsDown]
    errors:
      - "1 OpenContrail BGP sessions on the ntw01 node are down for 2 minutes."
    status: ProdFailed
    defects: PROD-34379

  - title: test_prometheus_alert_count[SystemMemoryFullWarning]
    errors:
      - The ctl
      - node uses
      - "% of memory for 2 minutes."
    status: WontFix
    defects: PROD-33922

  - title: test_prometheus_alert_count[SystemMemoryFullMajor]
    errors:
      - The ctl
      - node uses
      - "% of memory for 2 minutes."
    status: WontFix
    defects: PROD-33922

  - title: test_prometheus_alert_count[OpenstackServiceEndpointDown]
    errors:
      - opencontrail public API endpoint from the OpenStack Service Catalog didn't pass the HTTP-probe check.
    status: ProdFailed
    defects: PROD-35759

  - title: test_prometheus_alert_count[TelegrafRemoteGatherErrors]
    errors:
      - Remote Telegraf has gathering errors for the last 10 minutes. Check 'monitoring_remote_agent' container's logs for details.
    status: ProdFailed
    defects: PROD-35759

  - title: test_prometheus_alert_count[AlertmanagerNotificationFailureWarning]
    errors:
      - Alertmanager webhook notifications on the
      - fail for 2 minutes.
    status: ProdFailed
    defects: PROD-35884

  - title: test_ceph_health
    errors:
      - "1/3 mons down, quorum cmn01,cmn02"
    status: ProdFailed
    defects: PROD-35761

  - title: test_ceph_health
    errors:
      - client is using insecure global_id reclaim
      - mons are allowing insecure global_id reclaim
    status: ProdFailed
    defects: PROD-36461

  - title: test_prometheus_alert_count[CephMonitorDownMinor]
    errors:
      - "1 of Ceph Monitors are down"
    status: ProdFailed
    defects: PROD-35761

  - title: test_prometheus_alert_count[DockerdServiceReplicaFlapping]
    comment: New in 2019.2.12
    errors:
      - Docker Swarm monitoring_alertmanager service replica is flapping for 15 minutes.
    defects: PROD-35958
    status: ProdFailed

  - title: test_public_ui_alert_manager
    comment: New in 2019.2.12
    errors:
      - 502 Bad Gateway
    defects: PROD-35958
    status: ProdFailed

  - title: test_internal_ui_alert_manager
    comment: New in 2019.2.12
    errors:
      - Internal AlertManager page is not reachable on http://10.6.0.70:15011 from ctl nodes
    defects: PROD-35958
    status: ProdFailed

  - title: test_stacklight_services_replicas
    comment: New in 2019.2.12
    errors:
      - Some monitoring services don't have the expected number of replicas
      - docker-prod-local.docker.mirantis.net/openstack-docker/alertmanager:2019.2.4
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_alert_count[PrometheusTargetDown]
    comment: New in 2019.2.12
    errors:
      - The Prometheus target for the alertmanager job on the 10.0.0.147:9093 node is down
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_alert_count[DockerServiceMonitoringAlertmanagerReplicasDownMinor]
    comment: New in 2019.2.12
    errors:
      - Docker Swarm 'monitoring_alertmanager' service replicas are down
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_alert_count[SystemCpuStealTimeWarning]
    comment: Some unstabilities after deployment. Error has gone after some time
    errors:
      - The CPU steal time was above
    status: MixedSuccess

  - title: test_prometheus_alert_count[NetdevBudgetRanOutsWarning]
    comment: Some unstabilities after deployment. Error has gone after some time
    errors:
      - The rate of net_rx_action loops terminations
    status: MixedSuccess

## ==================================================
#              LMA2.0_Automated
## ==================================================
  - title: test_openstack_api_check_status_metrics
    errors:
      - ">           assert any(x in allowed_values for x in metric['value']), msg"
      - "Incorrect value in metric"
      - "u'interface': u'public'"
      - "u'name': u'opencontrail'"
      - "u'service_name': u'opencontrail'"
    status: WontFix
    defects: PROD-35759

  - title: test_grafana_dashboard_panel_queries[ceph-rbd-overview]
    errors:
      - "HTTPError: 404 Client Error: Not Found for url: http://"
      - ":15013/api/dashboards/db/ceph-rbd-overview"
    status: ProdFailed
    defects: PROD-35601

  - title: test_nova_notifications
    comment: "New bug in 2019.2.12"
    errors:
      - ">           lambda: (server.id not in [s.id for s in client.servers.list()])"
      - "E               TimeoutError: Waiting timed out"
    status: ProdFailed
    defects: PROD-35859

  - title: test_grafana_dashboard_panel_queries[octavia]
    errors:
      - Query "openstack_api_check_status{interface="public",service_name=~"octavia.*"}"
    status: ProdFailed
    defects: PROD-35860

  - title: test_alerta_smoke
    errors:
      - "UnknownError: Missing authorization API Key or Bearer Token"
    status: ProdFailed
    defects: PROD-35882

  - title: test_alerta_alerts_consistency
    errors:
      - "UnknownError: Missing authorization API Key or Bearer Token"
    status: ProdFailed
    defects: PROD-35882

  - title: test_kpi_metrics
    errors:
      - 'TimeoutError: Waiting timed out'
    status: TestFailed
    defects: PROD-35920

  - title: test_docker_container_status
    comment: New in 2019.2.12
    errors:
      - "Container monitoring_alertmanager.1 on the node mon01 has incorrect state 'Ready'. Current state: 'Ready"
    defects: PROD-35958
    status: ProdFailed

  - title: test_alertmanager_endpoint_availability
    comment: New in 2019.2.12
    errors:
      - E       assert False
    defects: PROD-35958
    status: ProdFailed

  - title: test_alertmanager_ha
    comment: New in 2019.2.12
    errors:
      - E       assert False
    defects: PROD-35958
    status: ProdFailed

  - title: test_docker_service_replicas
    comment: New in 2019.2.12
    errors:
      - Service 'monitoring_alertmanager' in mode 'replicated' has incorrect count of replicas
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_targets
    comment: New in 2019.2.12
    errors:
      - Incorrect count of metrics for alertmanager target
    defects: PROD-35958
    status: ProdFailed

  - title: test_grafana_dashboard_panel_queries[alertmanager]
    comment: New in 2019.2.12
    errors:
      - assert (3 == 0)
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_targets
    comment: New in 2019.2.12
    errors:
      -  Incorrect value in metric up{job="alertmanager"}
    defects: PROD-35958
    status: ProdFailed

  - title: test_docker_container_status
    comment: New in 2019.2.14
    errors:
      - "Container monitoring_alerta.1 on the node mon01 has incorrect state 'Ready'. Current state: 'Ready 1 second ago'"
    defects: PROD-35958
    status: ProdFailed

  - title: test_docker_service_replicas
    comment: New in 2019.2.14
    errors:
      - "Service 'monitoring_alerta' in mode 'replicated' has incorrect count of replicas: 0/1"
    defects: PROD-35958
    status: ProdFailed

  - title: test_prometheus_relay
    comment: New in 2019.2.12
    errors:
      - "TypeError: 'NoneType' object is not iterable"
    defects: PROD-35958
    status: ProdFailed

  - title: test_alerta_alerts_consistency
    comment: New in 2019.2.12
    errors:
      - "HTTPConnectionPool(host='10.6.0.70', port=15011): Max retries exceeded with url: /api/v1/alerts"
    defects: PROD-35932
    status: ProdFailed

  - title: test_fluentd_logs[kibana]
    comment: New in 2019.2.12
    errors:
      - "Loggers with mask 'kibana.*' not found in logger list "
    defects: PROD-35965
    status: ProdFailed




