-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
When there is a product or backend CR's spec validation or external reference validation error, CR status is not updated
For example, duplicated metric system name spec error:
apiVersion: capabilities.3scale.net/v1beta1 kind: Product metadata: name: product1 spec: name: "OperatedProduct 1" metrics: metric01: friendlyName: Metric01 unit: "1" hits: description: Number of API hits friendlyName: Hits unit: "hit" methods: metric01: friendlyName: Method01
The 3scale operator detects error and generates event and logs the error. But it does not update status.
The resulting product CR:
apiVersion: capabilities.3scale.net/v1beta1
kind: Product
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"capabilities.3scale.net/v1beta1","kind":"Product","metadata":{"annotations":{},"name":"product1","namespace":"caps"},"spec":{"methods":{"metric01":{"friendlyName":"Method01"}},"metrics":{"hits":{"description":"Number of API hits","friendlyName":"Hits","
unit":"hit"},"metric01":{"friendlyName":"Metric01","unit":"1"}},"name":"OperatedProduct 1"}}
creationTimestamp: "2020-08-31T14:54:09Z"
generation: 2
name: product1
namespace: caps
resourceVersion: "161084022"
selfLink: /apis/capabilities.3scale.net/v1beta1/namespaces/caps/products/product1
uid: f3babacd-0324-4788-896f-76b7cfa34e84
spec:
methods:
metric01:
friendlyName: Method01
metrics:
hits:
description: Number of API hits
friendlyName: Hits
unit: hit
metric01:
friendlyName: Metric01
unit: "1"
name: OperatedProduct 1
systemName: operatedproduct1
Operator's log:
2020-08-31T16:54:10.133+0200 INFO controller_product ERROR {"product": "product1", "spec validation error": "spec.methods[metric01]: Invalid value: v1beta1.MethodSpec{Name:\"Method01\", Description:\"\"}: method system_name not unique."