Bug 1959166 - Service Telemetry Operator can error out if ElasticSearch (ECK) CRD is not installed
Summary: Service Telemetry Operator can error out if ElasticSearch (ECK) CRD is not in...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Service Telemetry Framework
Classification: Red Hat
Component: service-telemetry-operator-container
Version: 1.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z3
: 1.3 (STF)
Assignee: Leif Madsen
QA Contact: Leonid Natapov
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-10 19:53 UTC by Leif Madsen
Modified: 2021-11-10 11:55 UTC (History)
2 users (show)

Fixed In Version: service-telemetry-operator-container-1.3.7-1
Doc Type: Bug Fix
Doc Text:
Previously, when you installed STF without having Elastic Cloud on Kubernetes (ECK) Operator installed, the following error message was returned: "Failed to find exact match for elasticsearch.k8s.elastic.co/v1beta1.Elasticsearch". The error was as a result of Service Telemetry Operator trying to look up information from a non-existent API interface. With this update, the Service Telemetry Operator verifies that the API exists before it attempts to make requests to the API interface that is provided by ECK.
Clone Of:
Environment:
Last Closed: 2021-11-10 11:55:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github infrawatch service-telemetry-operator pull 275 0 None open Verify ElasticSearch API exists 2021-10-08 17:56:06 UTC
Github infrawatch service-telemetry-operator pull 276 0 None open Verify ElasticSearch API exists (#275) 2021-10-12 15:00:42 UTC
Red Hat Product Errata RHSA-2021:4582 0 None None None 2021-11-10 11:55:34 UTC

Description Leif Madsen 2021-05-10 19:53:40 UTC
Description of problem: The Service Telemetry Operator (STO) can error out when working on systems with the ECK (Elastic Cloud on Kubernetes) Operator installed.


Version-Release number of selected component (if applicable): STF 1.2


How reproducible: Consistent


Steps to Reproduce:

Install STO without ECK and deploy a `ServiceTelemetry` object. Because the STO tries to make sure the `ElasticSearch` object is present or absent, it does an object lookup, which can result in a failure.


Additional info:

See https://github.com/infrawatch/service-telemetry-operator/blob/master/roles/servicetelemetry/tasks/component_elasticsearch.yml#L12 which does not have a `when` clause. The issue with the `when` clause is if you set it to look for `backends.elasticsearch.enabled is true` then it will not drop the ElasticSeach object should you ever move from `true` to `false.

The error you would see is  `Failed to find exact match for elasticsearch.k8s.elastic.co/v1beta1.Elasticsearch`

The TODO indicates we should set the appropriate permissions so that we can do a lookup to determine if the CRD exists, and if it does, then we can continue with the `absent` and `present` lookups.

Comment 8 errata-xmlrpc 2021-11-10 11:55:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Release of components for Service Telemetry Framework 1.3.3 - Container Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4582


Note You need to log in before you can comment on or make changes to this bug.