diff --git a/content/lightspeed/index.md b/content/lightspeed/index.md new file mode 100644 index 00000000..9311f476 --- /dev/null +++ b/content/lightspeed/index.md @@ -0,0 +1,106 @@ +--- +title: Lightspeed +linktitle: Lightspeed +description: All about OpenShift Lightspeed +tags: ['ai','lightspeed','v4.20'] +icon: redhat/Technology_icon-Red_Hat-Ansible_Lightspeed-Standard-RGB +--- +# All about OpenShift Lightspeed + +Resources: + * + + +```yaml +apiVersion: ols.openshift.io/v1alpha1 +kind: OLSConfig +metadata: + name: cluster +spec: + llm: + providers: + - credentialsSecretRef: + name: azure-api-keys + deploymentName: gpt-4 + models: + - name: gpt-4 + name: Azure + type: azure_openai + url: 'https://llm-gpt4-lightspeed.cognitiveservices.azure.com/' + ols: + defaultModel: gpt-4 + defaultProvider: Azure + introspectionEnabled: true + logLevel: DEBUG + queryFilters: + - name: ip-address + pattern: '((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}' + replaceWith: + rag: + - image: 'quay.io/dialvare/acme-byok:latest' + indexID: '' + indexPath: /rag/vector_db +``` + + + +```yaml +apiVersion: ols.openshift.io/v1alpha1 +kind: OLSConfig +metadata: + labels: + app.kubernetes.io/created-by: lightspeed-operator + app.kubernetes.io/instance: olsconfig-sample + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: olsconfig + app.kubernetes.io/part-of: lightspeed-operator + name: cluster +spec: + llm: + providers: + - credentialsSecretRef: + name: credentials + models: + - name: granite-8b-code + url: 'https://granite-8b-code-code-assistant.apps.cluster-v7lnz.v7lnz.sandbox5321.opentlc.com/v1' + name: granite-8b-code + type: rhoai_vllm + url: 'https://granite-8b-code-code-assistant.apps.cluster-v7lnz.v7lnz.sandbox5321.opentlc.com/v1' + ols: + conversationCache: + postgres: + credentialsSecret: lightspeed-postgres-secret + dbName: postgres + maxConnections: 2000 + sharedBuffers: 256MB + user: postgres + type: postgres + defaultModel: granite-8b-code + defaultProvider: granite-8b-code + deployment: + console: + replicas: 1 + replicas: 1 + introspectionEnabled: true + logLevel: DEBUG + olsDataCollector: + logLevel: INFO +``` + + +Official documentation: + +Tested with: + +|Component|Version| +|---|---| +|OpenShift|v4.17.14| +|OpenShift Virt|v4.17.4| + + +- Cross-cluster VM live migration (TP) +- Light Speed + - anyuid + - Ingress encrypte anntionation + - Deployment - RWO & Node anti afitnity ✅ + - Pod Logs permissions denied diff --git a/content/lightspeed/iso-example.png b/content/lightspeed/iso-example.png new file mode 100644 index 00000000..63087c20 Binary files /dev/null and b/content/lightspeed/iso-example.png differ diff --git a/content/lightspeed/route-issue/deployment.yaml b/content/lightspeed/route-issue/deployment.yaml new file mode 100644 index 00000000..154afe84 --- /dev/null +++ b/content/lightspeed/route-issue/deployment.yaml @@ -0,0 +1,42 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: route-issue + labels: + app: route-issue + app.kubernetes.io/component: route-issue + app.kubernetes.io/instance: route-issue + app.kubernetes.io/name: route-issue + app.kubernetes.io/part-of: route-issue + app.openshift.io/runtime: nginx +spec: + replicas: 1 + selector: + matchLabels: + app: route-issue + template: + metadata: + creationTimestamp: null + labels: + app: route-issue + deployment: route-issue + spec: + containers: + - name: route-issue + image: quay.io/openshift-examples/otq-openshift/fixme-app:202511031025 + ports: + - containerPort: 8080 + protocol: TCP + resources: {} + imagePullPolicy: Always + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} + schedulerName: default-scheduler + imagePullSecrets: [] + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% diff --git a/content/lightspeed/route-issue/fixme.png b/content/lightspeed/route-issue/fixme.png new file mode 100644 index 00000000..cbc94dc3 Binary files /dev/null and b/content/lightspeed/route-issue/fixme.png differ diff --git a/content/lightspeed/route-issue/kustomization.yaml b/content/lightspeed/route-issue/kustomization.yaml new file mode 100644 index 00000000..50cbc144 --- /dev/null +++ b/content/lightspeed/route-issue/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- service.yaml +- route.yaml diff --git a/content/lightspeed/route-issue/lightspeed.md b/content/lightspeed/route-issue/lightspeed.md new file mode 100644 index 00000000..4e7b97ba --- /dev/null +++ b/content/lightspeed/route-issue/lightspeed.md @@ -0,0 +1,3 @@ +You: The route is not available. Why? + +OpenShift Lightspeed: The Route `fixme` is not functional because the associated Service `fixme` has a selector `app=fixmy`, but no Pods matching this label exist in the `fixme` namespace. Ensure Pods with the correct label (`app=fixmy`) are running to resolve the issue. \ No newline at end of file diff --git a/content/lightspeed/route-issue/lightspeed.png b/content/lightspeed/route-issue/lightspeed.png new file mode 100644 index 00000000..d74d4f49 Binary files /dev/null and b/content/lightspeed/route-issue/lightspeed.png differ diff --git a/content/lightspeed/route-issue/route.yaml b/content/lightspeed/route-issue/route.yaml new file mode 100644 index 00000000..b4eb062a --- /dev/null +++ b/content/lightspeed/route-issue/route.yaml @@ -0,0 +1,16 @@ +--- +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: fixme +spec: + to: + kind: Service + name: fixme + weight: 100 + port: + targetPort: 8080 + tls: + termination: edge + insecureEdgeTerminationPolicy: Redirect + wildcardPolicy: None diff --git a/content/lightspeed/route-issue/service.yaml b/content/lightspeed/route-issue/service.yaml new file mode 100644 index 00000000..00851cd4 --- /dev/null +++ b/content/lightspeed/route-issue/service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: fixme +spec: + selector: + app: fixmy + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 diff --git a/content/lightspeed/storage-issue/deployment.yml b/content/lightspeed/storage-issue/deployment.yml new file mode 100644 index 00000000..a548dd14 --- /dev/null +++ b/content/lightspeed/storage-issue/deployment.yml @@ -0,0 +1,37 @@ + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: storage-issue + labels: + app: storage-issue + app.openshift.io/runtime: redhat + app.kubernetes.io/part-of: storage-issue +spec: + replicas: 2 + strategy: + type: Recreate + selector: + matchLabels: + app: storage-issue + template: + metadata: + labels: + app: storage-issue + spec: + automountServiceAccountToken: false + volumes: + - name: pvc + persistentVolumeClaim: + claimName: storage-issue + containers: + - name: tools + volumeMounts: + - mountPath: /pvc + name: pvc + image: registry.access.redhat.com/ubi9/ubi-micro:latest + command: + - "/bin/sh" + - "-c" + - "sleep infinity" \ No newline at end of file diff --git a/content/lightspeed/storage-issue/kustomization.yaml b/content/lightspeed/storage-issue/kustomization.yaml new file mode 100644 index 00000000..983c4bac --- /dev/null +++ b/content/lightspeed/storage-issue/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yml +- pvc.yaml diff --git a/content/lightspeed/storage-issue/lightspeed.md b/content/lightspeed/storage-issue/lightspeed.md new file mode 100644 index 00000000..4492257b --- /dev/null +++ b/content/lightspeed/storage-issue/lightspeed.md @@ -0,0 +1,10 @@ +You: Why is my deployment storage-issue in project demo-app only one of two pods running? + +OpenShift Lightspeed: The issue lies with the second pod (`storage-issue-5cb4d5d794-qph6w`) being stuck in `ContainerCreating` state. This is likely due to the `PersistentVolumeClaim` (`storage-issue`) being configured with `ReadWriteOnce` access mode, which restricts the volume to be mounted by only one pod at a time. + +### Resolution: +1. **Change Access Mode**: Update the PVC to use `ReadWriteMany` if your storage backend supports it. +2. **Separate PVCs**: Create individual PVCs for each pod if `ReadWriteMany` is not supported. +3. **Verify Storage Backend**: Ensure the storage class (`coe-netapp-san`) supports the required access mode. + +Let me know if you need guidance on implementing these changes. \ No newline at end of file diff --git a/content/lightspeed/storage-issue/lightspeed.png b/content/lightspeed/storage-issue/lightspeed.png new file mode 100644 index 00000000..724c101f Binary files /dev/null and b/content/lightspeed/storage-issue/lightspeed.png differ diff --git a/content/lightspeed/storage-issue/pvc.yaml b/content/lightspeed/storage-issue/pvc.yaml new file mode 100644 index 00000000..3537bd23 --- /dev/null +++ b/content/lightspeed/storage-issue/pvc.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: storage-issue +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: coe-netapp-san \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 8cbacf13..e18b1f55 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -206,6 +206,9 @@ nav: - S2I - R shiny: build/s2i-r-shiny.md - Universal Base Images: build/universal-base-image.md + - Lightspeed: + - lightspeed/index.md + - Deploy: - deploy/index.md - Keycloak: deploy/keycloak/index.md diff --git a/new-page-template.md b/new-page-template.md index d36f774f..73049571 100644 --- a/new-page-template.md +++ b/new-page-template.md @@ -3,6 +3,7 @@ title: New Page linktitle: New Page description: Some information tags: ['tagA','tagB','v4.17'] +icon: redhat/Technology_icon-Red_Hat-OpenShift_Virtualization-Standard-RGB --- # Some information diff --git a/overrides/.icons/redhat/Technology_icon-Red_Hat-Ansible_Lightspeed-Standard-RGB.svg b/overrides/.icons/redhat/Technology_icon-Red_Hat-Ansible_Lightspeed-Standard-RGB.svg new file mode 100644 index 00000000..cd11abf6 --- /dev/null +++ b/overrides/.icons/redhat/Technology_icon-Red_Hat-Ansible_Lightspeed-Standard-RGB.svg @@ -0,0 +1,99 @@ +Red Hat Lightspeed icon +IBM watsonx code assistant, AI, ML, artificial intelligence, machine learning + + + + + 2024-03-01T15:25:41.440Z + pending + TRAb4084a09-1269-420a-827e-aefbf4c3841f + Icon + 2024-03-01T15:25:41.440Z + square + true + true + pending + 2024-07-13T00:09:40.560Z + rhcc-audience:internal + yes + Technology icon + DERb4084a09-1269-420a-827e-aefbf4c3841f + pmeilleu@redhat.com + Standard + yes + + + rhcc-product:red-hat-ansible-automation-platform + rhcc-product:red-hat-enterprise-linux + rhcc-product:red-hat-openshift + + + + + Technology icon + + + image/svg+xml + 2024-05-06T15:04:07.603Z + + + Red Hat Lightspeed icon + + + + + IBM watsonx code assistant, AI, ML, artificial intelligence, machine learning + + + 2025-12-29T11:03:00.000-05:00 + Activate + Activate + 2024-10-02T19:50:10.716Z + workflow-process-service + Activate + workflow-process-service + false + 2024-10-02T19:50:10.716Z + workflow-process-service + 2024-10-02T19:50:10.716Z + 38 + 38 + + + Use technology icons to represent Red Hat products and components. Do not remove the icon from the bounding shape. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file