How to get the deliverables after upgrading TAP v1.3.2 or later
search cancel

How to get the deliverables after upgrading TAP v1.3.2 or later

book

Article ID: 297886

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction

You were not getting deliverable by using the commands

kubectl get deliverable --namespace default

and getting output as "No resources found in default namespace."


Cause:

This issue is related to the change of Supply Chain Choreographer. Please kindly check TAP v1.3.2 Resolved issue note to get more information:  https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.3/tap/GUID-release-notes.html#resolved-issues-17

Supply Chain Choreographer
On a Build profile cluster, a ConfigMap containing the Deliverable is now produced. Previously a Deliverable was created directly on the cluster. 


Environment

Product Version: 1.3

Resolution


Please refer to the document to review Step4:

https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.3/tap/GUID-multicluster-getting-started.html#start-the-workload-on-the-build-profile-cluster-1
 

1. Verify that your supply chain has produced the necessary ConfigMap containing Deliverable content produced by the Workload:

For v1.3.2 to v1.3.4

kubectl get configmap tanzu-java-web-app --namespace ${DEVELOPER_NAMESPACE} -o go-template='{{.data.deliverable}}'

The output resembles the following:

apiVersion: carto.run/v1alpha1
kind: Deliverable
metadata:
  name: tanzu-java-web-app
  labels:
    app.kubernetes.io/component: deliverable
    app.tanzu.vmware.com/deliverable-type: web
spec:
  params:
  - name: gitops_ssh_secret
    value: ""
  source:
    git:
      url: http://git-server.default.svc.cluster.local/app-namespace/tanzu-java-web-app
      ref:
        branch: main


For v1.3.5 and later

kubectl get configmap tanzu-java-web-app-deliverable --namespace ${DEVELOPER_NAMESPACE} -o go-template='{{.data.deliverable}}'

The output resembles the following:

apiVersion: carto.run/v1alpha1
kind: Deliverable
metadata:
  name: tanzu-java-web-app
  labels:
    apis.apps.tanzu.vmware.com/register-api: "true"
    app.kubernetes.io/part-of: tanzu-java-web-app
    apps.tanzu.vmware.com/workload-type: web
    app.kubernetes.io/component: deliverable
    app.tanzu.vmware.com/deliverable-type: web
spec:
  params:
  - name: gitops_ssh_secret
    value: ""
  source:
    git:
      url: http://git-server.default.svc.cluster.local/app-namespace/tanzu-java-web-app
      ref:
        branch: main
 

2. Store the Deliverable content, which you can take to the Run profile clusters from the ConfigMap by running:

For v1.3.2 to v1.3.4,

kubectl get configmap tanzu-java-web-app -n ${DEVELOPER_NAMESPACE} -o go-template='{{.data.deliverable}}' > deliverable.yaml

For v1.3.5 and later

kubectl get configmap tanzu-java-web-app-deliverable -n ${DEVELOPER_NAMESPACE} -o go-template='{{.data.deliverable}}' > deliverable.yaml
 

***Note: For v1.3.2 to v1.3.4 and v1.4.0, there is a known issue:  https://docs.vmware.com/en/VMware-Tanzu-Application-Platform/1.3/tap/GUID-release-notes.html#known-issues-18

Supply Chain Choreographer
In a Build profile cluster, deliverables are created with the labels to associate them with their Workload missing. As a workaround, they will have to be manually injected.
These Deliverables are now rendered inside a ConfigMap. This resource was not renamed, and will cause Cartographer to overwrite one deliverable with the other depending on the timing of events in your cluste

Workaround: Please review Step6 or this KB : Target Cluster shown “Workload not applied to target” with the supplychain plugin in TAP GUI after upgrading TAP v1.3.2-1.3.4 and v1.4.0