Service upgrade (image pull) via the API

We tried to do so:

now=$(date -u +"%Y-%m-%dT%H:%M:%SZ")

curl -H "Authorization: Bearer token-xxx" 'https://kubernetes.tld/v3/project/c-ckzdb:p-ttrrr/workloads/deployment:projects:lolo-lpn' -X PUT --data-binary '{"annotations":{"cattle.io/timestamp":"'"$now"'","workload.cattle.io/state":"{\"cmFuY2hlcjItbm9kZTAx\":\"c-ckzdb:m-b915e3ee4064\"}"},"baseType":"workload","containers":[{"allowPrivilegeEscalation":false,"image":"mongo:latest","imagePullPolicy":"Always","initContainer":false,"name":"lolo-lpn","privileged":false,"readOnly":false,"resources":{"type":"/v3/project/schemas/resourceRequirements","requests":{},"limits":{}},"restartCount":0,"runAsNonRoot":false,"stdin":true,"stdinOnce":false,"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","tty":true,"type":"container","volumeMounts":[{"mountPath":"/data/db","name":"lolo-mongo","readOnly":false,"type":"/v3/project/schemas/volumeMount"}],"capAdd":[],"capDrop":[]},{"allowPrivilegeEscalation":false,"environment":{"MONGODB_URI":"mongodb://lolo:lolo@lolo-lpn/lolobuttonadmin","NODE_ENV":"production"},"image":"registry.jls.digital/various/lolo-button-admin:dev","imagePullPolicy":"Always","initContainer":false,"name":"lolo-lpn-admin","privileged":false,"readOnly":false,"resources":{"type":"/v3/project/schemas/resourceRequirements"},"restartCount":0,"runAsNonRoot":false,"stdin":true,"stdinOnce":false,"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","tty":true,"type":"container"}],"created":"2018-09-05T08:15:12Z","createdTS":1536135312000,"creatorId":null,"deploymentConfig":{"maxSurge":0,"maxUnavailable":1,"minReadySeconds":0,"progressDeadlineSeconds":600,"revisionHistoryLimit":10,"strategy":"RollingUpdate"},"deploymentStatus":{"availableReplicas":1,"conditions":[{"lastTransitionTime":"2018-09-05T08:15:12Z","lastTransitionTimeTS":1536135312000,"lastUpdateTime":"2018-09-05T08:15:12Z","lastUpdateTimeTS":1536135312000,"message":"Deployment has minimum availability.","reason":"MinimumReplicasAvailable","status":"True","type":"Available"},{"lastTransitionTime":"2018-10-24T07:47:55Z","lastTransitionTimeTS":1540367275000,"lastUpdateTime":"2018-10-24T11:50:22Z","lastUpdateTimeTS":1540381822000,"message":"ReplicaSet \"lolo-lpn-86455cf677\" has successfully progressed.","reason":"NewReplicaSetAvailable","status":"True","type":"Progressing"}],"observedGeneration":39,"readyReplicas":1,"replicas":1,"type":"/v3/project/schemas/deploymentStatus","unavailableReplicas":0,"updatedReplicas":1},"dnsPolicy":"ClusterFirst","hostIPC":false,"hostNetwork":false,"hostPID":false,"id":"deployment:projects:lolo-lpn","imagePullSecrets":[{"name":"jls-registry","type":"/v3/project/schemas/localObjectReference"}],"labels":{"workload.user.cattle.io/workloadselector":"deployment-projects-lolo-lpn"},"name":"lolo-lpn","namespaceId":"projects","paused":false,"projectId":"c-ckzdb:p-mksps","publicEndpoints":[{"addresses":["104.248.35.182"],"allNodes":true,"hostname":"lolo-lpn.jls.digital","ingressId":"projects:projects-lb","nodeId":null,"podId":null,"port":443,"protocol":"HTTPS","serviceId":"projects:ingress-3f26d46d22347f72677bcd49089c25b9","type":"publicEndpoint"}],"restartPolicy":"Always","scale":1,"schedulerName":"default-scheduler","scheduling":{"node":{"nodeId":"c-ckzdb:m-b915e3ee4064"}},"selector":{"matchLabels":{"workload.user.cattle.io/workloadselector":"deployment-projects-lolo-lpn"},"type":"/v3/project/schemas/labelSelector"},"state":"active","terminationGracePeriodSeconds":30,"transitioning":"no","transitioningMessage":"","type":"deployment","uuid":"cfe0448a-b0e3-11e8-ba7e-3a420f52ae39","volumes":[{"hostPath":{"kind":"","path":"lolo-mongo"},"name":"lolo-mongo","type":"/v3/project/schemas/volume"}],"workloadAnnotations":{"deployment.kubernetes.io/revision":"30","deployment.kubernetes.io/timestamp":"'"$now"'","field.cattle.io/creatorId":"user-d7jrs"},"workloadLabels":{"workload.user.cattle.io/workloadselector":"deployment-projects-lolo-lpn"}}' --compressed

Unfortunately “annotations”:{“cattle.io/timestamp":“'”$now"'” did not resolve the issue. Maybe we misunderstood something here?