Skip to content

kn service export doesn't work with traffic splits #1946

Open
@dprotaso

Description

@dprotaso

Here's my sample knative service

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  annotations:
    serving.knative.dev/creator: kubernetes-admin
    serving.knative.dev/lastModifier: kubernetes-admin
  creationTimestamp: "2024-05-16T16:54:16Z"
  generation: 1
  name: hello
  namespace: default
  resourceVersion: "1576"
  uid: 3a9c7bf9-1c57-4698-b193-b8d0329b1fc7
spec:
  template:
    metadata:
      annotations:
        client.knative.dev/updateTimestamp: "2024-05-13T22:41:16Z"
        client.knative.dev/user-image: ghcr.io/knative/helloworld-go:latest
      creationTimestamp: null
    spec:
      containerConcurrency: 0
      containers:
      - env:
        - name: TARGET
          value: Earth
        image: ghcr.io/knative/helloworld-go@sha256:f96c789e20bd20354e951161672a1132520df1389f6078d374658354c95d1b7c
        name: user-container
        ports:
        - containerPort: 8080
          protocol: TCP
        readinessProbe:
          successThreshold: 1
          tcpSocket:
            port: 0
        resources: {}
      enableServiceLinks: false
      timeoutSeconds: 300
  traffic:
  - latestRevision: true
    percent: 50
  - latestRevision: false
    percent: 50
    revisionName: hello-00001
status:
  address:
    url: http://hello.default.svc.cluster.local
  conditions:
  - lastTransitionTime: "2024-05-16T16:54:58Z"
    status: "True"
    type: ConfigurationsReady
  - lastTransitionTime: "2024-05-16T16:55:01Z"
    status: "True"
    type: Ready
  - lastTransitionTime: "2024-05-16T16:55:01Z"
    status: "True"
    type: RoutesReady
  latestCreatedRevisionName: hello-00002
  latestReadyRevisionName: hello-00002
  observedGeneration: 1
  traffic:
  - latestRevision: true
    percent: 50
    revisionName: hello-00002
  - latestRevision: false
    percent: 50
    revisionName: hello-00001
  url: http://hello.default.example.com

Exporting with revisions doesnn't include the second revisions

kn service export hello -o yaml --with-revisions
apiVersion: client.knative.dev/v1alpha1
kind: Export
metadata:
  creationTimestamp: null
spec:
  revisions:
  - apiVersion: serving.knative.dev/v1
    kind: Revision
    metadata:
      annotations:
        client.knative.dev/user-image: ghcr.io/knative/helloworld-go:latest
        serving.knative.dev/routes: hello
      creationTimestamp: null
      labels:
        serving.knative.dev/configuration: hello
        serving.knative.dev/configurationGeneration: "1"
        serving.knative.dev/routingState: active
        serving.knative.dev/service: hello
      name: hello-00001
    spec:
      containerConcurrency: 0
      containers:
      - env:
        - name: TARGET
          value: World
        image: ghcr.io/knative/helloworld-go:latest
        name: user-container
        ports:
        - containerPort: 8080
          protocol: TCP
        readinessProbe:
          successThreshold: 1
          tcpSocket:
            port: 0
        resources: {}
      enableServiceLinks: false
      timeoutSeconds: 300
    status: {}
  service:
    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      creationTimestamp: null
      name: hello
    spec:
      template:
        metadata:
          annotations:
            client.knative.dev/user-image: ghcr.io/knative/helloworld-go:latest
          creationTimestamp: null
        spec:
          containerConcurrency: 0
          containers:
          - env:
            - name: TARGET
              value: Earth
            image: ghcr.io/knative/helloworld-go@sha256:f96c789e20bd20354e951161672a1132520df1389f6078d374658354c95d1b7c
            name: user-container
            ports:
            - containerPort: 8080
              protocol: TCP
            readinessProbe:
              successThreshold: 1
              tcpSocket:
                port: 0
            resources: {}
          enableServiceLinks: false
          timeoutSeconds: 300
      traffic:
      - latestRevision: true
        percent: 50
      - latestRevision: false
        percent: 50
        revisionName: hello-00001
    status: {}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions