-
Bug
-
Resolution: Obsolete
-
Undefined
-
Logging 5.9.0
-
False
-
None
-
False
-
NEW
-
OBSDA-549 - Reliability and performance tuning for log collection
-
NEW
-
Bug Fix
-
-
Description of problem:
Create clf/instance under openshift-logging namespace at first and then continue deploying CLF. Once the CLFs number exceeds the threshold(). The openshift-logging clf/instance can not be started. It should reject the new CLF rather than halt clf/instance.
Steps to Reproduce:
- deploy CLF/instance under openshift-logging
cat <<EOF | oc apply -f - apiVersion: "logging.openshift.io/v1" kind: "ClusterLogging" metadata: name: "instance" namespace: openshift-logging spec: managementState: "Managed" collection: type: "vector" nodeSelector: vector: enabled EOF cat <<EOF | oc apply -f - apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance spec: outputs: - name: cloudwatch type: cloudwatch cloudwatch: groupBy: logType region: us-east-2 tuning: delivery: AtLeastOnce secret: name: cloudwatch-credentials pipelines: - name: pipe1 inputRefs: - application - infrastructure - audit outputRefs: - cloudwatch EOF
- continue deploying CLF under the other namespaces until you see message the "buffer exceeds the allowed node limit "
function new_clf() { oc create serviceaccount clf-to-cloudwatch oc adm policy add-cluster-role-to-user collect-audit-logs -z clf-to-cloudwatch oc adm policy add-cluster-role-to-user collect-application-logs -z clf-to-cloudwatch oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z clf-to-cloudwatch AWS_KEY_ID="AKIAUMQAHCJOEL7LM6CN" notsecret AWS_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" notsecret oc create secret generic cloudwatch-credentials --from-literal=aws_secret_access_key=${AWS_KEY} --from-literal=aws_access_key_id=${AWS_KEY_ID} cat <<EOF|oc create -f - apiVersion: "logging.openshift.io/v1" kind: "ClusterLogging" metadata: name: "clf-to-cloudwatch" spec: managementState: "Managed" collection: type: "vector" nodeSelector: vector: enabled EOF cat <<EOF | oc apply -f - apiVersion: logging.openshift.io/v1 kind: ClusterLogForwarder metadata: name: clf-to-cloudwatch spec: inputs: - application: namespaces: - project-qa-1 name: myLogsQA outputs: - name: cloudwatch type: cloudwatch cloudwatch: groupBy: logType region: us-east-2 tuning: delivery: AtLeastOnce secret: name: cloudwatch-credentials pipelines: - name: pipe1 inputRefs: - application - infrastructure - audit outputRefs: - cloudwatch serviceAccountName: clf-to-cloudwatch EOF } for i in `seq 1 70`; do ns=test$i oc project $ns || oc new-project $ns new_clf sleep 1s oc get pods done
- # check the collector pods under openshift-logging
Actual results:
There isn't running pods under openshift-logging
There isn't error in CLF/instance status.
Expected results:
The collector pods are still running under openshift-logging
The new CLF is rejected as the CLF number exceed the threshold
The new CLF is rejected and error message in clf.status.