diff --git a/ci/deploy-logging-dependencies/files/0000_03_cloud-credential-operator_01_crd.yaml b/ci/deploy-logging-dependencies/files/0000_03_cloud-credential-operator_01_crd.yaml deleted file mode 100644 index 470c9a74..00000000 --- a/ci/deploy-logging-dependencies/files/0000_03_cloud-credential-operator_01_crd.yaml +++ /dev/null @@ -1,182 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - capability.openshift.io/name: CloudCredential - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - name: credentialsrequests.cloudcredential.openshift.io -spec: - group: cloudcredential.openshift.io - names: - kind: CredentialsRequest - listKind: CredentialsRequestList - plural: credentialsrequests - singular: credentialsrequest - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - description: CredentialsRequest is the Schema for the credentialsrequests - API - type: object - required: - - spec - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: CredentialsRequestSpec defines the desired state of CredentialsRequest - type: object - required: - - secretRef - properties: - cloudTokenPath: - description: "cloudTokenPath is the path where the Kubernetes ServiceAccount - token (JSON Web Token) is mounted on the deployment for the workload - requesting a credentials secret. The presence of this field in combination - with fields such as spec.providerSpec.stsIAMRoleARN indicate that - CCO should broker creation of a credentials secret containing fields - necessary for token based authentication methods such as with the - AWS Secure Token Service (STS). \n cloudTokenPath may also be used - to specify the azure_federated_token_file path used in Azure configuration - secrets generated by ccoctl. Defaults to \"/var/run/secrets/openshift/serviceaccount/token\"." - type: string - providerSpec: - description: ProviderSpec contains the cloud provider specific credentials - specification. - type: object - x-kubernetes-preserve-unknown-fields: true - secretRef: - description: SecretRef points to the secret where the credentials - should be stored once generated. - type: object - properties: - apiVersion: - description: API version of the referent. - type: string - fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' - type: string - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' - type: string - resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' - type: string - uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' - type: string - serviceAccountNames: - description: ServiceAccountNames contains a list of ServiceAccounts - that will use permissions associated with this CredentialsRequest. - This is not used by CCO, but the information is needed for being - able to properly set up access control in the cloud provider when - the ServiceAccounts are used as part of the cloud credentials flow. - type: array - items: - type: string - status: - description: CredentialsRequestStatus defines the observed state of CredentialsRequest - type: object - required: - - lastSyncGeneration - - provisioned - properties: - conditions: - description: Conditions includes detailed status for the CredentialsRequest - type: array - items: - description: CredentialsRequestCondition contains details for any - of the conditions on a CredentialsRequest object - type: object - required: - - status - - type - properties: - lastProbeTime: - description: LastProbeTime is the last time we probed the condition - type: string - format: date-time - lastTransitionTime: - description: LastTransitionTime is the last time the condition - transitioned from one status to another. - type: string - format: date-time - message: - description: Message is a human-readable message indicating - details about the last transition - type: string - reason: - description: Reason is a unique, one-word, CamelCase reason - for the condition's last transition - type: string - status: - description: Status is the status of the condition - type: string - type: - description: Type is the specific type of the condition - type: string - lastSyncCloudCredsSecretResourceVersion: - description: LastSyncCloudCredsSecretResourceVersion is the resource - version of the cloud credentials secret resource when the credentials - request resource was last synced. Used to determine if the cloud - credentials have been updated since the last sync. - type: string - lastSyncGeneration: - description: LastSyncGeneration is the generation of the credentials - request resource that was last synced. Used to determine if the - object has changed and requires a sync. - type: integer - format: int64 - lastSyncTimestamp: - description: LastSyncTimestamp is the time that the credentials were - last synced. - type: string - format: date-time - providerStatus: - description: ProviderStatus contains cloud provider specific status. - type: object - x-kubernetes-preserve-unknown-fields: true - provisioned: - description: Provisioned is true once the credentials have been initially - provisioned. - type: boolean - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/ci/deploy-logging-dependencies/files/cluster_log_forwarder.yaml b/ci/deploy-logging-dependencies/files/cluster_log_forwarder.yaml index f9b61c88..8a1aef8f 100644 --- a/ci/deploy-logging-dependencies/files/cluster_log_forwarder.yaml +++ b/ci/deploy-logging-dependencies/files/cluster_log_forwarder.yaml @@ -1,19 +1,34 @@ -apiVersion: logging.openshift.io/v1 +apiVersion: observability.openshift.io/v1 kind: ClusterLogForwarder metadata: - name: instance + name: collector namespace: openshift-logging spec: + serviceAccount: + name: collector inputs: - - name: syslog - receiver: - type: syslog - syslog: + - name: syslog-receiver + type: receiver + receiver: + type: syslog port: 10514 + outputs: + - name: default-lokistack + type: lokiStack + lokiStack: + authentication: + token: + from: serviceAccount + target: + name: logging-loki + namespace: openshift-logging + tls: + ca: + key: service-ca.crt + configMapName: openshift-service-ca.crt pipelines: - - name: to-default - inputRefs: - - syslog - - application - outputRefs: - - default + - name: my-syslog + inputRefs: + - syslog-receiver + outputRefs: + - default-lokistack diff --git a/ci/deploy-logging-dependencies/files/cluster_logging.yaml b/ci/deploy-logging-dependencies/files/cluster_logging.yaml deleted file mode 100644 index cd080439..00000000 --- a/ci/deploy-logging-dependencies/files/cluster_logging.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: logging.openshift.io/v1 -kind: ClusterLogging -metadata: - name: instance -spec: - managementState: Managed - logStore: - type: lokistack - lokistack: - name: logging-loki - collection: - type: vector diff --git a/ci/deploy-logging-dependencies/files/operators.yaml b/ci/deploy-logging-dependencies/files/operators.yaml index d298d9fb..5a8df408 100644 --- a/ci/deploy-logging-dependencies/files/operators.yaml +++ b/ci/deploy-logging-dependencies/files/operators.yaml @@ -35,7 +35,7 @@ metadata: name: loki-operator namespace: openshift-operators-redhat spec: - channel: stable-5.9 + channel: stable-6.1 installPlanApproval: Automatic name: loki-operator source: redhat-operators @@ -47,7 +47,7 @@ metadata: name: cluster-logging namespace: openshift-logging spec: - channel: stable-5.9 + channel: stable-6.1 installPlanApproval: Automatic name: cluster-logging source: redhat-operators diff --git a/ci/deploy-logging-dependencies/tasks/deploy-cluster-logging.yml b/ci/deploy-logging-dependencies/tasks/deploy-cluster-logging.yml index 1fc21816..3a298407 100644 --- a/ci/deploy-logging-dependencies/tasks/deploy-cluster-logging.yml +++ b/ci/deploy-logging-dependencies/tasks/deploy-cluster-logging.yml @@ -1,22 +1,3 @@ -- name: Create cluster logging - ansible.builtin.shell: - cmd: | - oc apply -f {{ role_path }}/files/cluster_logging.yaml -n openshift-logging - -- name: Wait for cluster logging to be created - ansible.builtin.command: - cmd: - oc get clusterlogging --namespace=openshift-logging instance - delay: 10 - retries: 20 - register: output - until: output.stdout_lines | length != 0 - -- name: Wait for the cluster logging to be ready - ansible.builtin.command: - cmd: | - oc wait --timeout=300s --for condition=Ready=True --namespace=openshift-logging clusterlogging instance - - name: Create cluster log forwarder ansible.builtin.shell: cmd: | diff --git a/pkg/logging/service.go b/pkg/logging/service.go index 9e54b3a2..e33044c5 100644 --- a/pkg/logging/service.go +++ b/pkg/logging/service.go @@ -45,9 +45,9 @@ func Service( TargetPort: intstr.FromInt(instance.Spec.TargetPort), }} service.Spec.Selector = map[string]string{ - "app.kubernetes.io/instance": "collector", - "component": "collector", - "provider": "openshift", + "app.kubernetes.io/component": "collector", + "app.kubernetes.io/name": "vector", + "app.kubernetes.io/part-of": "cluster-logging", } service.Annotations = instance.Spec.Annotations service.Labels = labels diff --git a/tests/kuttl/suites/logging/tests/00-assert.yaml b/tests/kuttl/suites/logging/tests/00-assert.yaml index 74d32566..4833f5dd 100644 --- a/tests/kuttl/suites/logging/tests/00-assert.yaml +++ b/tests/kuttl/suites/logging/tests/00-assert.yaml @@ -12,9 +12,9 @@ spec: protocol: TCP targetPort: 10514 selector: - app.kubernetes.io/instance: collector - component: collector - provider: openshift + app.kubernetes.io/component: collector + app.kubernetes.io/name: vector + app.kubernetes.io/part-of: cluster-logging type: LoadBalancer ---