Issues while Deploying a devfile using odo on Power

I am trying Deploying a devfile using odo on Power. However, I am seeing the below issues while creating devfile:-
[cloud-user@shivani2-bastion springboot-ex]$ odo url create --host apps.shivani2.example.com
 ✓  URL myspring-devfile-8080 created for component: myspring-devfile
To apply the URL configuration changes, please use `odo push`
[cloud-user@shivani2-bastion springboot-ex]$ odo push
Validation
 ✓  Validating the devfile [74599ns]
Creating Kubernetes resources for component myspring-devfile
 ✗  Waiting for component to start [5m]
 ✗  Failed to start component with name myspring-devfile.
Error: Failed to create the component: error while waiting for deployment rollout: timeout while waiting for myspring-devfile deployment roll out
[cloud-user@shivani2-bastion springboot-ex]$

Am I missing anything?

can you try to run odo push with verbose logging: odo push -v 4 it might give more information about what is happening

odo push -v 4

[cloud-user@shivani2-bastion springboot-ex]$ odo push -v 4
I0616 10:56:28.265176   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.265591   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.559496   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.559655   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.559720   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.559788   10580 context.go:48] absolute devfile path: '/home/cloud-user/sar/springboot-ex/devfile.yaml'
I0616 10:56:28.560212   10580 content.go:32] converted devfile YAML to JSON
I0616 10:56:28.560294   10580 apiVersion.go:50] devfile apiVersion: '1.0.0'
I0616 10:56:28.560306   10580 context.go:64] devfile apiVersion '1.0.0' is supported in odo
I0616 10:56:28.562525   10580 schema.go:47] validated devfile schema
I0616 10:56:28.562983   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.563041   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.570721   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.570828   10580 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 10:56:28.655902   10580 pods.go:29] Waiting for component=myspring pod
 ✗  Failed to start component with name myspring.
Error: Failed to create the component: unable to get pod for component myspring: error while waiting for pod component=myspring: waited 4m0s but couldn't find running pod matching selector: 'component=myspring'

A more detailed run:-
[cloud-user@shivani2-bastion springboot-ex]$ odo push -v 9
I0616 11:03:04.600458   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.600751   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.606490   10605 loader.go:375] Config loaded from file:  /home/cloud-user/openstack-upi/auth/kubeconfig
I0616 11:03:04.608112   10605 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/api/v1/namespaces/openshift-operators'
I0616 11:03:04.990609   10605 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/openshift-operators 200 OK in 382 milliseconds
I0616 11:03:04.990651   10605 round_trippers.go:449] Response Headers:
I0616 11:03:04.990659   10605 round_trippers.go:452]     Audit-Id: 26175935-ab81-47e5-b4c6-3ed83cab65c7
I0616 11:03:04.990668   10605 round_trippers.go:452]     Cache-Control: no-cache, private
I0616 11:03:04.990675   10605 round_trippers.go:452]     Content-Type: application/json
I0616 11:03:04.990683   10605 round_trippers.go:452]     Content-Length: 548
I0616 11:03:04.990692   10605 round_trippers.go:452]     Date: Tue, 16 Jun 2020 15:03:04 GMT
I0616 11:03:04.990755   10605 request.go:1022] Response Body: {"kind":"Namespace","apiVersion":"v1","metadata":{"name":"openshift-operators","selfLink":"/api/v1/namespaces/openshift-operators","uid":"cf0e542b-9109-45c3-a575-a9257b333e58","resourceVersion":"8716","creationTimestamp":"2020-06-02T11:42:26Z","labels":{"openshift.io/scc":"anyuid"},"annotations":{"openshift.io/node-selector":"","openshift.io/sa.scc.mcs":"s0:c20,c0","openshift.io/sa.scc.supplemental-groups":"1000380000/10000","openshift.io/sa.scc.uid-range":"1000380000/10000"}},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active"}}
I0616 11:03:04.991770   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.991955   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.992020   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.992090   10605 context.go:48] absolute devfile path: '/home/cloud-user/sar/springboot-ex/devfile.yaml'
I0616 11:03:04.992532   10605 content.go:32] converted devfile YAML to JSON
I0616 11:03:04.992614   10605 apiVersion.go:50] devfile apiVersion: '1.0.0'
I0616 11:03:04.992625   10605 context.go:64] devfile apiVersion '1.0.0' is supported in odo
I0616 11:03:04.995027   10605 schema.go:47] validated devfile schema
I0616 11:03:04.995490   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.995549   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:04.999333   10605 loader.go:375] Config loaded from file:  /home/cloud-user/openstack-upi/auth/kubeconfig
I0616 11:03:05.002385   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:05.002486   10605 preference.go:188] The path for preference file is /home/cloud-user/.odo/preference.yaml
I0616 11:03:05.002619   10605 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/openshift-operators/deployments/myspring'
I0616 11:03:05.119739   10605 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/openshift-operators/deployments/myspring 200 OK in 117 milliseconds
I0616 11:03:05.119783   10605 round_trippers.go:449] Response Headers:
I0616 11:03:05.119793   10605 round_trippers.go:452]     Audit-Id: 304febd7-1b9b-4621-8016-68d97a99ac45
I0616 11:03:05.119801   10605 round_trippers.go:452]     Cache-Control: no-cache, private
I0616 11:03:05.119808   10605 round_trippers.go:452]     Content-Type: application/json
I0616 11:03:05.119815   10605 round_trippers.go:452]     Content-Length: 2480
I0616 11:03:05.119823   10605 round_trippers.go:452]     Date: Tue, 16 Jun 2020 15:03:05 GMT
I0616 11:03:05.119882   10605 request.go:1022] Response Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"myspring","namespace":"openshift-operators","selfLink":"/apis/apps/v1/namespaces/openshift-operators/deployments/myspring","uid":"6c1d8b6d-6e82-4dfc-a6ae-1cefe4bf3cf2","resourceVersion":"5982752","generation":1,"creationTimestamp":"2020-06-16T11:03:45Z","labels":{"component":"myspring"}},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"myspring"}},"template":{"metadata":{"name":"myspring","namespace":"openshift-operators","creationTimestamp":null,"labels":{"component":"myspring"}},"spec":{"volumes":[{"name":"odo-projects","emptyDir":{}},{"name":"odo-supervisord-shared-data","emptyDir":{}},{"name":"springbootpvc-myspring-nkmh-vol","persistentVolumeClaim":{"claimName":"springbootpvc-myspring-nkmh"}}],"initContainers":[{"name":"copy-supervisord","image":"registry.access.redhat.com/openshiftdo/odo-init-image-rhel7:1.1.3","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"containers":[{"name":"tools","image":"maysunfaisal/springbootbuild","command":["tail"],"args":["-f","/dev/null"],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"}],"resources":{"limits":{"memory":"768Mi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"springbootpvc-myspring-nkmh-vol","mountPath":"/data"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"},{"name":"runtime","image":"maysunfaisal/springbootruntime","command":["tail"],"args":["-f","/dev/null"],"ports":[{"name":"8080-tcp","containerPort":8080,"protocol":"TCP"}],"env":[{"name":"ODO_COMMAND_RUN","value":"/artifacts/bin/start-server.sh"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"/"}],"resources":{"limits":{"memory":"768Mi"}},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"},{"name":"springbootpvc-myspring-nkmh-vol","mountPath":"/data"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}},"strategy":{"type":"Recreate"},"revisionHistoryLimit":10,"progressDeadlineSeconds":600},"status":{}}
I0616 11:03:05.128437   10605 pods.go:29] Waiting for component=myspring pod
I0616 11:03:05.128533   10605 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/api/v1/namespaces/openshift-operators/pods?labelSelector=component%3Dmyspring&watch=true'
I0616 11:03:05.138078   10605 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/openshift-operators/pods?labelSelector=component%3Dmyspring&watch=true 200 OK in 9 milliseconds
I0616 11:03:05.138105   10605 round_trippers.go:449] Response Headers:
I0616 11:03:05.138113   10605 round_trippers.go:452]     Date: Tue, 16 Jun 2020 15:03:05 GMT
I0616 11:03:05.138122   10605 round_trippers.go:452]     Cache-Control: no-cache, private
I0616 11:03:05.138139   10605 round_trippers.go:452]     Content-Type: application/json
 ✗  Failed to start component with name myspring.
Error: Failed to create the component: unable to get pod for component myspring: error while waiting for pod component=myspring: waited 4m0s but couldn't find running pod matching selector: 'component=myspring'
[cloud-user@shivani2-bastion springboot-ex]$

@kadel do you find anything suspicious in the output above?

@sarveshtamba looks like the push action itself failed
maybe you want to check all pods you are running , for example,
oc get pods -n xxxx while xxxx is the project you are running on and check the status of pods pushed and logs of those pods, I am sure there might be better way but this is what I am debuging
FYI
@zhengxiaomei123 I think we successfully run devfile on z platform, can you confirm and anything special need to be done can be shared here?

@jichenjc
Events:
  Type     Reason            Age        From               Message
  ----     ------            ----       ----               -------
  Warning  FailedScheduling  <unknown>  default-scheduler  Failed to bind volumes: timed out waiting for the condition

looks like you might have issues on volume settings, see logs of the pod or check the volume defintion ...

Created a persistent volume as below:-
[cloud-user@shivani1-bastion springboot-ex]$ cat ../pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: springbootpvc
spec:
  capacity:
    storage: 1Gi
  accessModes:
  - ReadWriteOnce
  nfs:
    path: /data
    server: <IP_ADDRESS>

However now Im seeing the following error:-
[cloud-user@shivani1-bastion springboot-ex]$ odo push

Validation
 ✓  Validating the devfile [114548ns]

Creating Kubernetes resources for component myspring
 ✗  Waiting for component to start [1m]
 ✗  Failed to start component with name myspring.
Error: Failed to create the component: error while waiting for deployment rollout: watch channel was closed

Trying to debug this further.

Not much help from the logs too, hope I am doing it the right way.
[cloud-user@shivani1-bastion springboot-ex]$ oc logs -f myspring-df4fdb845-n6w6w
Error from server (BadRequest): a container name must be specified for pod myspring-df4fdb845-n6w6w, choose one of: [tools runtime] or one of the init containers: [copy-supervisord]
[cloud-user@shivani1-bastion springboot-ex]$ oc logs -f myspring-df4fdb845-n6w6w -c runtime
[cloud-user@shivani1-bastion springboot-ex]$ oc logs -f myspring-df4fdb845-n6w6w -c tools
[cloud-user@shivani1-bastion springboot-ex]$ oc logs -f myspring-df4fdb845-n6w6w -c copy-supervisord

[cloud-user@shivani1-bastion springboot-ex]$ oc describe pvc springbootpvc-myspring-lyrf
Name:          springbootpvc-myspring-lyrf
Namespace:     myproject
StorageClass:  standard
Status:        Pending
Volume:
Labels:        component=myspring
               storage-name=springbootpvc
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/cinder
               volume.kubernetes.io/selected-node: shivani1-worker-1
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Mounted By:    myspring-84787869-f89jw
Events:
  Type    Reason                Age    From                         Message
  ----    ------                ----   ----                         -------
  Normal  WaitForFirstConsumer  8m23s  persistentvolume-controller  waiting for first consumer to be created before binding

@sarveshtamba The storage for devfiles case need at least 5Gi , please expand the storage size of your PV and try again.

@zhengxiaomei123 recreated with PV size at 5gi, however the PVC shows the same error:-
[cloud-user@shivani1-bastion springboot-ex]$ oc describe pvc springbootpvc-myspring-tfsn
Name:          springbootpvc-myspring-tfsn
Namespace:     default
StorageClass:  standard
Status:        Pending
Volume:
Labels:        component=myspring
               storage-name=springbootpvc
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/cinder
               volume.kubernetes.io/selected-node: shivani1-worker-1
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Mounted By:    myspring-766f79cbcf-t5csz
Events:
  Type    Reason                Age    From                         Message
  ----    ------                ----   ----                         -------
  Normal  WaitForFirstConsumer  4m36s  persistentvolume-controller  waiting for first consumer to be created before binding
[cloud-user@shivani1-bastion springboot-ex]$

@zhengxiaomei123 @jichenjc Are there are any specifications required for creating the PV and the PVC? Since the devfile.yaml also does not have much info about the PV and the PVC.

@sarveshtamba  No specifications is required. But the image used in devfile.yaml should be for P arch.
For your question, please refer to this definition of PV :
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pvnfs0010
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  - ReadWriteMany
  - ReadOnlyMany
  nfs:
    path: /nfs10/
    server: <IP_ADDRESS>
  persistentVolumeReclaimPolicy: Recycle

Do you mean these images in devfile.yaml?
   type: dockerimage
    image: maysunfaisal/springbootbuild
    alias: tools

    type: dockerimage
    image: maysunfaisal/springbootruntime
    alias: runtime

@elsony can you help here? There seems to be issue with the images used in the 'devfile.yaml' for "Java Spring Boot" and "Node.js" when trying on PowerPC64LE (ppc64le) platform. Can these be multiarch including support for ppc64le platform?

@maysunfaisal where can I get the source for image "maysunfaisal/springbootbuild" referenced in the springBoot devfile. Looks like we might need to build this image on PowerPC64LE - ppc64le platform in order to use the sample devfile on that platform.

@sarveshtamba the dockerfiles are here https://github.com/elsony/devfile-registry/compare/master...maysunfaisal:uploadDockerfiles?expand=1
The maven devfile is the same logic(except that it has one component) and would also try that out for your use case https://github.com/elsony/devfile-registry/blob/master/devfiles/maven/devfile.yaml

Built the image quay.io/eclipse/che-nodejs10-ubi:nightly for nodejs devfile.yaml on Power using build_images.sh
Also I was able to build odo-init-image using golang:1.12 as base image alongwith changes to set GOARCH=ppc64le in Dockerfile.
However when I do odo push I face the following issues:-
[root@shivani2-bastion nodejs-ex]# ODO_BOOTSTRAPPER_IMAGE=docker.io/stamba/odo-init-image:latest odo push -f

Validation
 ✓  Validating the devfile [75056ns]

Creating Kubernetes resources for component mynodejs
 ✓  Waiting for component to start [54ms]

Applying URL changes
 ✓  URL mynodejs-3000 successfully deleted
 ✓  URL mynodejs-3000: http://mynodejs-3000-default.apps.shivani2.example.com created

Syncing to component mynodejs
 ◒  Syncing files to the component ✗
Unable to exec command [mkdir -p /projects/nodejs-web-app]:
time="2020-06-23T12:11:52Z" level=error msg="exec failed: container_linux.go:349: starting container process caused \"exec format error\""
exec failed: container_linux.go:349: starting container process caused "exec format error"

 ✗  Syncing files to the component [865ms]
 ✗  Failed to start component with name mynodejs.
Error: Failed to create the component: Failed to sync to component with name mynodejs: failed to sync to component with name mynodejs: error while streaming command: command terminated with exit code 1

[root@shivani2-bastion nodejs-ex]# ODO_BOOTSTRAPPER_IMAGE=docker.io/stamba/odo-init-image:latest odo push -f -v9
I0623 08:10:37.815826   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:37.816130   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:37.822135   37153 loader.go:375] Config loaded from file:  /home/cloud-user/openstack-upi/auth/kubeconfig
I0623 08:10:37.824507   37153 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default'
I0623 08:10:38.201569   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/default 200 OK in 377 milliseconds
I0623 08:10:38.201650   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.201666   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.201679   37153 round_trippers.go:452]     Content-Length: 452
I0623 08:10:38.201692   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.201705   37153 round_trippers.go:452]     Audit-Id: 844410bf-9ef1-4af6-ba62-567fc74325a7
I0623 08:10:38.201717   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.201773   37153 request.go:1022] Response Body: {"kind":"Namespace","apiVersion":"v1","metadata":{"name":"default","selfLink":"/api/v1/namespaces/default","uid":"b219022b-695d-49bf-8cfb-9fe1f7dfa482","resourceVersion":"8180","creationTimestamp":"2020-06-22T09:40:44Z","annotations":{"openshift.io/sa.scc.mcs":"s0:c8,c2","openshift.io/sa.scc.supplemental-groups":"1000060000/10000","openshift.io/sa.scc.uid-range":"1000060000/10000"}},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active"}}
I0623 08:10:38.203462   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.203671   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.203773   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.203888   37153 context.go:48] absolute devfile path: '/home/cloud-user/odo/nodejs-ex/devfile.yaml'
I0623 08:10:38.204466   37153 content.go:32] converted devfile YAML to JSON
I0623 08:10:38.204640   37153 apiVersion.go:50] devfile apiVersion: '1.0.0'
I0623 08:10:38.204664   37153 context.go:64] devfile apiVersion '1.0.0' is supported in odo
I0623 08:10:38.209658   37153 schema.go:47] validated devfile schema
I0623 08:10:38.210401   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.210497   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.217259   37153 loader.go:375] Config loaded from file:  /home/cloud-user/openstack-upi/auth/kubeconfig
I0623 08:10:38.218612   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.218710   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:38.218899   37153 round_trippers.go:423] curl -k -v -XGET  -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs'
I0623 08:10:38.276919   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs 200 OK in 57 milliseconds
I0623 08:10:38.277009   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.277054   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.277084   37153 round_trippers.go:452]     Audit-Id: fe7b82d6-89d0-4215-9ee0-d9cde9dc299b
I0623 08:10:38.277152   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.277169   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.277184   37153 round_trippers.go:452]     Content-Length: 2577
I0623 08:10:38.277376   37153 request.go:1022] Response Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9","resourceVersion":"465150","generation":8,"creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"},"annotations":{"deployment.kubernetes.io/revision":"1"}},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"mynodejs"}},"template":{"metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"volumes":[{"name":"odo-projects","emptyDir":{}},{"name":"odo-supervisord-shared-data","emptyDir":{}}],"initContainers":[{"name":"copy-supervisord","image":"docker.io/stamba/odo-init-image:latest","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"containers":[{"name":"runtime","image":"quay.io/eclipse/che-nodejs10-ubi:nightly","command":["/opt/odo/bin/supervisord"],"args":["-c","/opt/odo/conf/devfile-supervisor.conf"],"ports":[{"name":"nodejs","containerPort":3000,"protocol":"TCP"}],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"},{"name":"ODO_COMMAND_RUN","value":"nodemon app.js"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"${CHE_PROJECTS_ROOT}/nodejs-web-app/app"}],"resources":{"limits":{"memory":"1Gi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}},"strategy":{"type":"Recreate"},"revisionHistoryLimit":10,"progressDeadlineSeconds":600},"status":{"observedGeneration":8,"replicas":1,"updatedReplicas":1,"readyReplicas":1,"availableReplicas":1,"conditions":[{"type":"Available","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:11:43Z","reason":"MinimumReplicasAvailable","message":"Deployment has minimum availability."},{"type":"Progressing","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:10:42Z","reason":"NewReplicaSetAvailable","message":"ReplicaSet \"mynodejs-57b586b5f6\" has successfully progressed."}]}}
I0623 08:10:38.290337   37153 pods.go:29] Waiting for component=mynodejs pod
I0623 08:10:38.290449   37153 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods?labelSelector=component%3Dmynodejs&watch=true'
I0623 08:10:38.297445   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods?labelSelector=component%3Dmynodejs&watch=true 200 OK in 6 milliseconds
I0623 08:10:38.297467   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.297476   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.297484   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.297491   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.311040   37153 pods.go:56] Status of mynodejs-57b586b5f6-xzj8q pod is Running
I0623 08:10:38.311060   37153 pods.go:62] Pod mynodejs-57b586b5f6-xzj8q is Running

Validation
 •  Validating the devfile  ...
I0623 08:10:38.311163   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311173   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311185   37153 command.go:80] the command type "init" is not found in the devfile
I0623 08:10:38.311199   37153 command.go:157] No init command was provided
I0623 08:10:38.311208   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311220   37153 command.go:174] Build command: devbuild
I0623 08:10:38.311231   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311241   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311253   37153 command.go:181] Run command: devrun
 ✓  Validating the devfile [129728ns]

Creating Kubernetes resources for component mynodejs
I0623 08:10:38.311284   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311386   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311398   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311411   37153 utils.go:124] Updating container runtime entrypoint with supervisord
I0623 08:10:38.311419   37153 utils.go:130] Updating container runtime with supervisord volume mounts
I0623 08:10:38.311429   37153 utils.go:140] Updating container runtime env with run command
I0623 08:10:38.311437   37153 utils.go:149] Updating container runtime env with run command's workdir
I0623 08:10:38.311449   37153 utils.go:86] Found component "Container" with name "runtime"
I0623 08:10:38.311478   37153 adapter.go:224] Creating deployment mynodejs
I0623 08:10:38.311491   37153 adapter.go:225] The component name is mynodejs
I0623 08:10:38.311564   37153 round_trippers.go:423] curl -k -v -XGET  -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs'
I0623 08:10:38.349299   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs 200 OK in 37 milliseconds
I0623 08:10:38.349352   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.349367   37153 round_trippers.go:452]     Audit-Id: 4cd4a5d0-65e2-4c72-bde0-4f7ac9d0e4bf
I0623 08:10:38.349380   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.349392   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.349405   37153 round_trippers.go:452]     Content-Length: 2577
I0623 08:10:38.349418   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.349515   37153 request.go:1022] Response Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9","resourceVersion":"465150","generation":8,"creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"},"annotations":{"deployment.kubernetes.io/revision":"1"}},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"mynodejs"}},"template":{"metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"volumes":[{"name":"odo-projects","emptyDir":{}},{"name":"odo-supervisord-shared-data","emptyDir":{}}],"initContainers":[{"name":"copy-supervisord","image":"docker.io/stamba/odo-init-image:latest","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"containers":[{"name":"runtime","image":"quay.io/eclipse/che-nodejs10-ubi:nightly","command":["/opt/odo/bin/supervisord"],"args":["-c","/opt/odo/conf/devfile-supervisor.conf"],"ports":[{"name":"nodejs","containerPort":3000,"protocol":"TCP"}],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"},{"name":"ODO_COMMAND_RUN","value":"nodemon app.js"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"${CHE_PROJECTS_ROOT}/nodejs-web-app/app"}],"resources":{"limits":{"memory":"1Gi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}},"strategy":{"type":"Recreate"},"revisionHistoryLimit":10,"progressDeadlineSeconds":600},"status":{"observedGeneration":8,"replicas":1,"updatedReplicas":1,"readyReplicas":1,"availableReplicas":1,"conditions":[{"type":"Available","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:11:43Z","reason":"MinimumReplicasAvailable","message":"Deployment has minimum availability."},{"type":"Progressing","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:10:42Z","reason":"NewReplicaSetAvailable","message":"ReplicaSet \"mynodejs-57b586b5f6\" has successfully progressed."}]}}
I0623 08:10:38.350029   37153 adapter.go:229] The component already exists, attempting to update it
I0623 08:10:38.354235   37153 request.go:1022] Request Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"selector":{"matchLabels":{"component":"mynodejs"}},"template":{"metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"volumes":[{"name":"odo-projects"},{"name":"odo-supervisord-shared-data","emptyDir":{}}],"initContainers":[{"name":"copy-supervisord","image":"docker.io/stamba/odo-init-image:latest","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}]}],"containers":[{"name":"runtime","image":"quay.io/eclipse/che-nodejs10-ubi:nightly","command":["/opt/odo/bin/supervisord"],"args":["-c","/opt/odo/conf/devfile-supervisor.conf"],"ports":[{"name":"nodejs","containerPort":3000}],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"},{"name":"ODO_COMMAND_RUN","value":"nodemon app.js"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"${CHE_PROJECTS_ROOT}/nodejs-web-app/app"}],"resources":{"limits":{"memory":"1Gi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"imagePullPolicy":"Always"}]}},"strategy":{"type":"Recreate"}},"status":{}}
I0623 08:10:38.354362   37153 round_trippers.go:423] curl -k -v -XPUT  -H "Accept: application/json, */*" -H "Content-Type: application/json" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs'
I0623 08:10:38.409904   37153 round_trippers.go:443] PUT https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs 200 OK in 55 milliseconds
I0623 08:10:38.409965   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.409979   37153 round_trippers.go:452]     Audit-Id: 1e066866-ec76-42e1-bcde-206c20a99064
I0623 08:10:38.409991   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.410003   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.410015   37153 round_trippers.go:452]     Content-Length: 2521
I0623 08:10:38.410027   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.410122   37153 request.go:1022] Response Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9","resourceVersion":"466676","generation":9,"creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"}},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"mynodejs"}},"template":{"metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"volumes":[{"name":"odo-projects","emptyDir":{}},{"name":"odo-supervisord-shared-data","emptyDir":{}}],"initContainers":[{"name":"copy-supervisord","image":"docker.io/stamba/odo-init-image:latest","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"containers":[{"name":"runtime","image":"quay.io/eclipse/che-nodejs10-ubi:nightly","command":["/opt/odo/bin/supervisord"],"args":["-c","/opt/odo/conf/devfile-supervisor.conf"],"ports":[{"name":"nodejs","containerPort":3000,"protocol":"TCP"}],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"},{"name":"ODO_COMMAND_RUN","value":"nodemon app.js"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"${CHE_PROJECTS_ROOT}/nodejs-web-app/app"}],"resources":{"limits":{"memory":"1Gi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}},"strategy":{"type":"Recreate"},"revisionHistoryLimit":10,"progressDeadlineSeconds":600},"status":{"observedGeneration":8,"replicas":1,"updatedReplicas":1,"readyReplicas":1,"availableReplicas":1,"conditions":[{"type":"Available","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:11:43Z","reason":"MinimumReplicasAvailable","message":"Deployment has minimum availability."},{"type":"Progressing","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:10:42Z","reason":"NewReplicaSetAvailable","message":"ReplicaSet \"mynodejs-57b586b5f6\" has successfully progressed."}]}}
I0623 08:10:38.410591   37153 adapter.go:234] Successfully updated component mynodejs
I0623 08:10:38.410724   37153 round_trippers.go:423] curl -k -v -XGET  -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Accept: application/json, */*" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default/services/mynodejs'
I0623 08:10:38.504880   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/default/services/mynodejs 200 OK in 94 milliseconds
I0623 08:10:38.504914   37153 round_trippers.go:449] Response Headers:
I0623 08:10:38.504922   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:38 GMT
I0623 08:10:38.504930   37153 round_trippers.go:452]     Audit-Id: d430e02a-4402-4d29-8683-7be79999d8af
I0623 08:10:38.504938   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:38.504946   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:38.504954   37153 round_trippers.go:452]     Content-Length: 647
I0623 08:10:38.504989   37153 request.go:1022] Response Body: {"kind":"Service","apiVersion":"v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/api/v1/namespaces/default/services/mynodejs","uid":"b5fb6922-95d2-4c5b-9dd6-eaa29ee3b12f","resourceVersion":"402380","creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"ports":[{"name":"nodejs","protocol":"TCP","port":3000,"targetPort":3000}],"selector":{"component":"mynodejs"},"clusterIP":"<IP_ADDRESS>","type":"ClusterIP","sessionAffinity":"None"},"status":{"loadBalancer":{}}}
I0623 08:10:38.506376   37153 request.go:1022] Request Body: {"kind":"Service","apiVersion":"v1","metadata":{"name":"mynodejs","namespace":"default","resourceVersion":"402380","creationTimestamp":null,"labels":{"component":"mynodejs"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"ports":[{"name":"nodejs","port":3000,"targetPort":3000}],"selector":{"component":"mynodejs"},"clusterIP":"<IP_ADDRESS>"},"status":{"loadBalancer":{}}}
I0623 08:10:38.506438   37153 round_trippers.go:423] curl -k -v -XPUT  -H "Accept: application/json, */*" -H "Content-Type: application/json" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default/services/mynodejs'
I0623 08:10:39.243242   37153 round_trippers.go:443] PUT https://api.shivani2.example.com:6443/api/v1/namespaces/default/services/mynodejs 200 OK in 736 milliseconds
I0623 08:10:39.243303   37153 round_trippers.go:449] Response Headers:
I0623 08:10:39.243317   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:39 GMT
I0623 08:10:39.243329   37153 round_trippers.go:452]     Audit-Id: b4f79896-44d0-4d42-a7cc-394e74487dbe
I0623 08:10:39.243373   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:39.243390   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:39.243402   37153 round_trippers.go:452]     Content-Length: 647
I0623 08:10:39.243459   37153 request.go:1022] Response Body: {"kind":"Service","apiVersion":"v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/api/v1/namespaces/default/services/mynodejs","uid":"b5fb6922-95d2-4c5b-9dd6-eaa29ee3b12f","resourceVersion":"402380","creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"ports":[{"name":"nodejs","protocol":"TCP","port":3000,"targetPort":3000}],"selector":{"component":"mynodejs"},"clusterIP":"<IP_ADDRESS>","type":"ClusterIP","sessionAffinity":"None"},"status":{"loadBalancer":{}}}
I0623 08:10:39.243799   37153 adapter.go:256] Successfully update Service for component mynodejs
I0623 08:10:39.243825   37153 deployments.go:47] Waiting for mynodejs deployment rollout
 •  Waiting for component to start  ...
I0623 08:10:39.244017   37153 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments?fieldSelector=metadata.name%3Dmynodejs&watch=true'
I0623 08:10:39.274428   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments?fieldSelector=metadata.name%3Dmynodejs&watch=true 200 OK in 30 milliseconds
I0623 08:10:39.274487   37153 round_trippers.go:449] Response Headers:
I0623 08:10:39.274504   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:39.274518   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:39.274531   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:39 GMT
 ✓  Waiting for component to start [31ms]
I0623 08:10:39.275493   37153 deployments.go:84] Deployment "mynodejs" successfully rolled out
I0623 08:10:39.275509   37153 deployments.go:88] Waiting for deployment spec update to be observed...
I0623 08:10:39.275619   37153 pods.go:29] Waiting for component=mynodejs pod
I0623 08:10:39.275781   37153 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods?labelSelector=component%3Dmynodejs&watch=true'
I0623 08:10:39.292832   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods?labelSelector=component%3Dmynodejs&watch=true 200 OK in 16 milliseconds
I0623 08:10:39.292866   37153 round_trippers.go:449] Response Headers:
I0623 08:10:39.292879   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:39.292892   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:39.292905   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:39 GMT
I0623 08:10:39.293895   37153 pods.go:56] Status of mynodejs-57b586b5f6-xzj8q pod is Running
I0623 08:10:39.293912   37153 pods.go:62] Pod mynodejs-57b586b5f6-xzj8q is Running
I0623 08:10:39.293963   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml
I0623 08:10:39.295337   37153 loader.go:375] Config loaded from file:  /home/cloud-user/openstack-upi/auth/kubeconfig
I0623 08:10:39.296177   37153 round_trippers.go:423] curl -k -v -XGET  -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Accept: application/json, */*" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/apis/route.openshift.io/v1?timeout=32s'
I0623 08:10:39.317550   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/route.openshift.io/v1?timeout=32s 200 OK in 21 milliseconds
I0623 08:10:39.317608   37153 round_trippers.go:449] Response Headers:
I0623 08:10:39.317623   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:39.317636   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:39 GMT
I0623 08:10:39.317677   37153 round_trippers.go:452]     Content-Length: 418
I0623 08:10:39.317696   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:39.317709   37153 round_trippers.go:452]     Cache-Control: no-store
I0623 08:10:39.317771   37153 request.go:1022] Response Body: {"kind":"APIResourceList","apiVersion":"v1","groupVersion":"route.openshift.io/v1","resources":[{"name":"routes","singularName":"","namespaced":true,"kind":"Route","verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"categories":["all"],"storageVersionHash":"jo1F7GfnXH4="},{"name":"routes/status","singularName":"","namespaced":true,"kind":"Route","verbs":["get","patch","update"]}]}
I0623 08:10:39.318443   37153 url.go:372] Listing ingresses with label selector: app.kubernetes.io/instance=mynodejs
I0623 08:10:39.318651   37153 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/apis/extensions/v1beta1/namespaces/default/ingresses?labelSelector=app.kubernetes.io%2Finstance%3Dmynodejs'
I0623 08:10:39.414445   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/extensions/v1beta1/namespaces/default/ingresses?labelSelector=app.kubernetes.io%2Finstance%3Dmynodejs 200 OK in 95 milliseconds
I0623 08:10:39.414487   37153 round_trippers.go:449] Response Headers:
I0623 08:10:39.414496   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:39.414503   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:39.414512   37153 round_trippers.go:452]     Content-Length: 175
I0623 08:10:39.414520   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:39 GMT
I0623 08:10:39.414527   37153 round_trippers.go:452]     Audit-Id: efce0f7c-ffa8-4195-ba49-e0bc7c1484a6
I0623 08:10:39.414569   37153 request.go:1022] Response Body: {"kind":"IngressList","apiVersion":"extensions/v1beta1","metadata":{"selfLink":"/apis/extensions/v1beta1/namespaces/default/ingresses","resourceVersion":"466680"},"items":[]}
I0623 08:10:39.415745   37153 url.go:349] Listing routes with label selector: app.kubernetes.io/part-of=,app.kubernetes.io/instance=mynodejs
I0623 08:10:39.415775   37153 occlient.go:2680] Listing routes with label selector: app.kubernetes.io/part-of=,app.kubernetes.io/instance=mynodejs
I0623 08:10:39.415877   37153 round_trippers.go:423] curl -k -v -XGET  -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Accept: application/json, */*" 'https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes?labelSelector=app.kubernetes.io%2Fpart-of%3D%2Capp.kubernetes.io%2Finstance%3Dmynodejs'
I0623 08:10:40.761083   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes?labelSelector=app.kubernetes.io%2Fpart-of%3D%2Capp.kubernetes.io%2Finstance%3Dmynodejs 200 OK in 1345 milliseconds
I0623 08:10:40.761119   37153 round_trippers.go:449] Response Headers:
I0623 08:10:40.761128   37153 round_trippers.go:452]     Audit-Id: 7392aeb4-f3ef-49c9-9602-c49e210f880d
I0623 08:10:40.761137   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:40.761145   37153 round_trippers.go:452]     Cache-Control: no-store
I0623 08:10:40.761155   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:40.761165   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:40 GMT
I0623 08:10:40.761175   37153 round_trippers.go:452]     Content-Length: 1282
I0623 08:10:40.761229   37153 request.go:1022] Response Body: {"kind":"RouteList","apiVersion":"route.openshift.io/v1","metadata":{"selfLink":"/apis/route.openshift.io/v1/namespaces/default/routes","resourceVersion":"466681"},"items":[{"metadata":{"name":"mynodejs-3000","namespace":"default","selfLink":"/apis/route.openshift.io/v1/namespaces/default/routes/mynodejs-3000","uid":"04c52ee0-3ee8-4b1b-8188-b0eb5998fdf8","resourceVersion":"465160","creationTimestamp":"2020-06-23T12:05:19Z","labels":{"app":"","app.kubernetes.io/instance":"mynodejs","app.kubernetes.io/managed-by":"odo","app.kubernetes.io/managed-by-version":"v1.2.2","app.kubernetes.io/part-of":"","odo.openshift.io/url-name":"mynodejs-3000"},"annotations":{"openshift.io/host.generated":"true"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"host":"mynodejs-3000-default.apps.shivani2.example.com","to":{"kind":"Service","name":"mynodejs","weight":100},"port":{"targetPort":3000},"wildcardPolicy":"None"},"status":{"ingress":[{"host":"mynodejs-3000-default.apps.shivani2.example.com","routerName":"default","conditions":[{"type":"Admitted","status":"True","lastTransitionTime":"2020-06-23T12:05:19Z"}],"wildcardPolicy":"None","routerCanonicalHostname":"apps.shivani2.example.com"}]}}]}
I0623 08:10:40.762684   37153 preference.go:188] The path for preference file is /root/.odo/preference.yaml

Applying URL changes
I0623 08:10:40.762842   37153 url.go:907] config and cluster mismatch for url mynodejs-3000
I0623 08:10:40.762945   37153 request.go:1022] Request Body: {"kind":"DeleteOptions","apiVersion":"route.openshift.io/v1"}
I0623 08:10:40.763007   37153 round_trippers.go:423] curl -k -v -XDELETE  -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "Accept: application/json, */*" -H "Content-Type: application/json" 'https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes/mynodejs-3000'
I0623 08:10:41.029731   37153 round_trippers.go:443] DELETE https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes/mynodejs-3000 200 OK in 266 milliseconds
I0623 08:10:41.029768   37153 round_trippers.go:449] Response Headers:
I0623 08:10:41.029777   37153 round_trippers.go:452]     Audit-Id: 9b02ed02-c085-4c61-9bdf-d18b05d1d580
I0623 08:10:41.029785   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:41.029793   37153 round_trippers.go:452]     Cache-Control: no-store
I0623 08:10:41.029803   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:41.029814   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:40 GMT
I0623 08:10:41.029822   37153 round_trippers.go:452]     Content-Length: 194
I0623 08:10:41.029866   37153 request.go:1022] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Success","details":{"name":"mynodejs-3000","group":"route.openshift.io","kind":"routes","uid":"04c52ee0-3ee8-4b1b-8188-b0eb5998fdf8"}}
 ✓  URL mynodejs-3000 successfully deleted
I0623 08:10:41.030005   37153 round_trippers.go:423] curl -k -v -XGET  -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "Accept: application/json, */*" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" 'https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs'
I0623 08:10:41.224777   37153 round_trippers.go:443] GET https://api.shivani2.example.com:6443/apis/apps/v1/namespaces/default/deployments/mynodejs 200 OK in 194 milliseconds
I0623 08:10:41.224812   37153 round_trippers.go:449] Response Headers:
I0623 08:10:41.224821   37153 round_trippers.go:452]     Audit-Id: 6ef628ee-741c-47ba-9f2f-6a5fb3ef481e
I0623 08:10:41.224829   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:41.224837   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:41.224845   37153 round_trippers.go:452]     Content-Length: 2577
I0623 08:10:41.224852   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:41 GMT
I0623 08:10:41.224919   37153 request.go:1022] Response Body: {"kind":"Deployment","apiVersion":"apps/v1","metadata":{"name":"mynodejs","namespace":"default","selfLink":"/apis/apps/v1/namespaces/default/deployments/mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9","resourceVersion":"466679","generation":9,"creationTimestamp":"2020-06-23T08:10:42Z","labels":{"component":"mynodejs"},"annotations":{"deployment.kubernetes.io/revision":"1"}},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"mynodejs"}},"template":{"metadata":{"name":"mynodejs","namespace":"default","creationTimestamp":null,"labels":{"component":"mynodejs"}},"spec":{"volumes":[{"name":"odo-projects","emptyDir":{}},{"name":"odo-supervisord-shared-data","emptyDir":{}}],"initContainers":[{"name":"copy-supervisord","image":"docker.io/stamba/odo-init-image:latest","command":["/usr/bin/cp"],"args":["-r","/opt/odo-init/.","/opt/odo/"],"resources":{},"volumeMounts":[{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"containers":[{"name":"runtime","image":"quay.io/eclipse/che-nodejs10-ubi:nightly","command":["/opt/odo/bin/supervisord"],"args":["-c","/opt/odo/conf/devfile-supervisor.conf"],"ports":[{"name":"nodejs","containerPort":3000,"protocol":"TCP"}],"env":[{"name":"CHE_PROJECTS_ROOT","value":"/projects"},{"name":"ODO_COMMAND_RUN","value":"nodemon app.js"},{"name":"ODO_COMMAND_RUN_WORKING_DIR","value":"${CHE_PROJECTS_ROOT}/nodejs-web-app/app"}],"resources":{"limits":{"memory":"1Gi"}},"volumeMounts":[{"name":"odo-projects","mountPath":"/projects"},{"name":"odo-supervisord-shared-data","mountPath":"/opt/odo/"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}},"strategy":{"type":"Recreate"},"revisionHistoryLimit":10,"progressDeadlineSeconds":600},"status":{"observedGeneration":9,"replicas":1,"updatedReplicas":1,"readyReplicas":1,"availableReplicas":1,"conditions":[{"type":"Available","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:11:43Z","reason":"MinimumReplicasAvailable","message":"Deployment has minimum availability."},{"type":"Progressing","status":"True","lastUpdateTime":"2020-06-23T08:11:43Z","lastTransitionTime":"2020-06-23T08:10:42Z","reason":"NewReplicaSetAvailable","message":"ReplicaSet \"mynodejs-57b586b5f6\" has successfully progressed."}]}}
I0623 08:10:41.225508   37153 request.go:1022] Request Body: {"kind":"Route","apiVersion":"route.openshift.io/v1","metadata":{"name":"mynodejs-3000","creationTimestamp":null,"labels":{"app":"","app.kubernetes.io/instance":"mynodejs","app.kubernetes.io/managed-by":"odo","app.kubernetes.io/managed-by-version":"v1.2.2","app.kubernetes.io/part-of":"","odo.openshift.io/url-name":"mynodejs-3000"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"host":"","to":{"kind":"Service","name":"mynodejs","weight":null},"port":{"targetPort":3000}},"status":{"ingress":null}}
I0623 08:10:41.225576   37153 round_trippers.go:423] curl -k -v -XPOST  -H "Content-Type: application/json" -H "User-Agent: odo/v0.0.0 (linux/ppc64le) kubernetes/$Format" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" -H "Accept: application/json, */*" 'https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes'
I0623 08:10:41.601190   37153 round_trippers.go:443] POST https://api.shivani2.example.com:6443/apis/route.openshift.io/v1/namespaces/default/routes 201 Created in 375 milliseconds
I0623 08:10:41.601247   37153 round_trippers.go:449] Response Headers:
I0623 08:10:41.601262   37153 round_trippers.go:452]     Audit-Id: bb5745d6-285d-4366-af86-0a97e8dff410
I0623 08:10:41.601275   37153 round_trippers.go:452]     Cache-Control: no-cache, private
I0623 08:10:41.601288   37153 round_trippers.go:452]     Cache-Control: no-store
I0623 08:10:41.601304   37153 round_trippers.go:452]     Content-Type: application/json
I0623 08:10:41.601321   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:41 GMT
I0623 08:10:41.601334   37153 round_trippers.go:452]     Content-Length: 907
I0623 08:10:41.601410   37153 request.go:1022] Response Body: {"kind":"Route","apiVersion":"route.openshift.io/v1","metadata":{"name":"mynodejs-3000","namespace":"default","selfLink":"/apis/route.openshift.io/v1/namespaces/default/routes/mynodejs-3000","uid":"2125a42c-aa3b-483b-bdb5-ac4ec4527519","resourceVersion":"466691","creationTimestamp":"2020-06-23T12:10:41Z","labels":{"app":"","app.kubernetes.io/instance":"mynodejs","app.kubernetes.io/managed-by":"odo","app.kubernetes.io/managed-by-version":"v1.2.2","app.kubernetes.io/part-of":"","odo.openshift.io/url-name":"mynodejs-3000"},"annotations":{"openshift.io/host.generated":"true"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"Deployment","name":"mynodejs","uid":"beae47b6-6c27-4d99-b5be-67bb926badb9"}]},"spec":{"host":"mynodejs-3000-default.apps.shivani2.example.com","to":{"kind":"Service","name":"mynodejs","weight":100},"port":{"targetPort":3000},"wildcardPolicy":"None"},"status":{"ingress":null}}
 ✓  URL mynodejs-3000: http://mynodejs-3000-default.apps.shivani2.example.com created

Syncing to component mynodejs
I0623 08:10:41.603274   37153 adapter.go:129] Push: componentName: mynodejs, path: /home/cloud-user/odo/nodejs-ex, files: [], delFiles: [], isForcePush: true
 •  Syncing files to the component  ...
I0623 08:10:41.603418   37153 adapter.go:151] Creating /projects/nodejs-web-app on the remote container if it doesn't already exist
I0623 08:10:41.603467   37153 exec.go:24] Executing command [mkdir -p /projects/nodejs-web-app] for pod: mynodejs-57b586b5f6-xzj8q in container: runtime
I0623 08:10:41.604004   37153 round_trippers.go:423] curl -k -v -XPOST  -H "X-Stream-Protocol-Version: v4.channel.k8s.io" -H "X-Stream-Protocol-Version: v3.channel.k8s.io" -H "X-Stream-Protocol-Version: v2.channel.k8s.io" -H "X-Stream-Protocol-Version: channel.k8s.io" -H "Authorization: Bearer h4rqEmOjAs4X9aySqCNsH0N_x_LA4qV_9KSprzMa4UE" 'https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods/mynodejs-57b586b5f6-xzj8q/exec?command=mkdir&command=-p&command=%2Fprojects%2Fnodejs-web-app&container=runtime&stderr=true&stdout=true'
I0623 08:10:42.104250   37153 round_trippers.go:443] POST https://api.shivani2.example.com:6443/api/v1/namespaces/default/pods/mynodejs-57b586b5f6-xzj8q/exec?command=mkdir&command=-p&command=%2Fprojects%2Fnodejs-web-app&container=runtime&stderr=true&stdout=true 101 Switching Protocols in 500 milliseconds
I0623 08:10:42.104287   37153 round_trippers.go:449] Response Headers:
I0623 08:10:42.104298   37153 round_trippers.go:452]     Connection: Upgrade
I0623 08:10:42.104306   37153 round_trippers.go:452]     Upgrade: SPDY/3.1
I0623 08:10:42.104313   37153 round_trippers.go:452]     X-Stream-Protocol-Version: v4.channel.k8s.io
I0623 08:10:42.104334   37153 round_trippers.go:452]     Date: Tue, 23 Jun 2020 12:10:42 GMT
time="2020-06-23T12:10:42Z" level=error msg="exec failed: container_linux.go:349: starting container process caused \"exec format error\""
exec failed: container_linux.go:349: starting container process caused "exec format error"
 ✗
Unable to exec command [mkdir -p /projects/nodejs-web-app]:
time="2020-06-23T12:10:42Z" level=error msg="exec failed: container_linux.go:349: starting container process caused \"exec format error\""
exec failed: container_linux.go:349: starting container process caused "exec format error"

 ✗  Syncing files to the component [848ms]
 ✗  Failed to start component with name mynodejs.
Error: Failed to create the component: Failed to sync to component with name mynodejs: failed to sync to component with name mynodejs: error while streaming command: command terminated with exit code 1
[root@shivani2-bastion nodejs-ex]#

Is there anything obvious what is creating the issues?

@kadel @zhengxiaomei123 ^^ any inputs on above.

I figured out the issue - even though I had built the che-nodejs10-ubi image locally it was still trying to pull quay.io/eclipse/che-nodejs10-ubi:nightly image from registry instead of this local image.
So for testing purposes, I retagged & pushed this local image to my docker registry and changed the devfile.yaml accordingly to use docker.io/stamba/che-nodejs10-ubi. With this the odo push was success and I was able to access the odo URL which was created, fetch a response from the sample nodejs application.
[root@shivani2-bastion nodejs-ex]# ODO_BOOTSTRAPPER_IMAGE=docker.io/stamba/odo-init-image:latest odo push -f -v 3

Validation
 •  Validating the devfile  ...
 ✓  Validating the devfile [66539ns]

Creating Kubernetes resources for component mynodejs
I0624 10:23:49.231085   41679 utils.go:124] Updating container runtime entrypoint with supervisord
I0624 10:23:49.231164   41679 utils.go:130] Updating container runtime with supervisord volume mounts
I0624 10:23:49.231174   41679 utils.go:140] Updating container runtime env with run command
I0624 10:23:49.231185   41679 utils.go:149] Updating container runtime env with run command's workdir
I0624 10:23:49.231211   41679 adapter.go:224] Creating deployment mynodejs
I0624 10:23:49.231225   41679 adapter.go:225] The component name is mynodejs
I0624 10:23:49.299812   41679 adapter.go:269] Successfully created component mynodejs
I0624 10:23:49.581711   41679 adapter.go:278] Successfully created Service for component mynodejs
 •  Waiting for component to start  ...
 ✓  Waiting for component to start [8s]

Applying URL changes
 ✓  URL mynodejs-3000: http://mynodejs-3000-default.apps.shivani2.example.com created

Syncing to component mynodejs
 •  Syncing files to the component  ...
I0624 10:23:57.779931   41679 exec.go:24] Executing command [mkdir -p /projects/nodejs-web-app] for pod: mynodejs-84f68f6679-vdzdw in container: runtime
 ✓  Syncing files to the component [974ms]

Executing devfile commands for component mynodejs
 •  Executing devbuild command "npm install"  ...
I0624 10:23:58.754629   41679 exec.go:24] Executing command [/bin/sh -c cd ${CHE_PROJECTS_ROOT}/nodejs-web-app/app && npm install] for pod: mynodejs-84f68f6679-vdzdw in container: runtime
npm WARN<EMAIL_ADDRESS>No repository field.

added 50 packages from 37 contributors and audited 50 packages in 5.783s
found 0 vulnerabilities

 ✓  Executing devbuild command "npm install" [7s]
 •  Executing devrun command "nodemon app.js"  ...
I0624 10:24:05.645994   41679 exec.go:24] Executing command [/opt/odo/bin/supervisord ctl stop all] for pod: mynodejs-84f68f6679-vdzdw in container: runtime
debugrun                                   OK
devrun                                     OK
I0624 10:24:05.977097   41679 exec.go:24] Executing command [/opt/odo/bin/supervisord ctl start devrun] for pod: mynodejs-84f68f6679-vdzdw in container: runtime
devrun: started
 ✓  Executing devrun command "nodemon app.js" [2s]

Pushing devfile component mynodejs
 ✓  Changes successfully pushed to component
[root@shivani2-bastion nodejs-ex]# echo $?
0
[root@shivani2-bastion nodejs-ex]# curl http://mynodejs-3000-default.apps.shivani2.example.com
Hello World!
[root@shivani2-bastion nodejs-ex]# oc get all
NAME                                          READY   STATUS    RESTARTS   AGE
pod/mynodejs-84f68f6679-vdzdw                 1/1     Running   0          25m
pod/nfs-client-provisioner-548d67cbc4-2742g   1/1     Running   22         2d4h

NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP                            PORT(S)    AGE
service/kubernetes   ClusterIP      <IP_ADDRESS>      <none>                                 443/TCP    2d5h
service/mynodejs     ClusterIP      <IP_ADDRESS>   <none>                                 3000/TCP   25m
service/openshift    ExternalName   <none>          kubernetes.default.svc.cluster.local   <none>     2d4h

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mynodejs                 1/1     1            1           25m
deployment.apps/nfs-client-provisioner   1/1     1            1           2d4h

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/mynodejs-84f68f6679                 1         1         1       25m
replicaset.apps/nfs-client-provisioner-548d67cbc4   1         1         1       2d4h

NAME                                     HOST/PORT                                         PATH   SERVICES   PORT   TERMINATION   WILDCARD
route.route.openshift.io/mynodejs-3000   mynodejs-3000-default.apps.shivani2.example.com          mynodejs   3000                 None
[root@shivani2-bastion nodejs-ex]# oc describe pod mynodejs-84f68f6679-vdzdw
Name:         mynodejs-84f68f6679-vdzdw
Namespace:    default
Priority:     0
Node:         shivani2-worker-1/<IP_ADDRESS>
Start Time:   Wed, 24 Jun 2020 10:23:49 -0400
Labels:       component=mynodejs
              pod-template-hash=84f68f6679
Annotations:  k8s.v1.cni.cncf.io/networks-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "dns": {},
                    "default-route": [
                        "<IP_ADDRESS>"
                    ]
                }]
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/mynodejs-84f68f6679
Init Containers:
  copy-supervisord:
    Container ID:  cri-o://62cff4334bf5b190fbf6555f2e723fa93c9dde1f985a43913cb96503fc891a2a
    Image:         docker.io/stamba/odo-init-image:latest
    Image ID:      docker.io/stamba/odo-init-image@sha256:804bb790c0efa7ef1ae7de5f1889612fa5defa7329341489013e7663095caf55
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/cp
    Args:
      -r
      /opt/odo-init/.
      /opt/odo/
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 24 Jun 2020 10:23:54 -0400
      Finished:     Wed, 24 Jun 2020 10:23:54 -0400
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /opt/odo/ from odo-supervisord-shared-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-g4vzd (ro)
Containers:
  runtime:
    Container ID:  cri-o://3731780b8d38649085809c8788e6c0593e6fb9cdcdfdd87372056788b1a87599
    Image:         docker.io/stamba/che-nodejs10-ubi:nightly
    Image ID:      docker.io/stamba/che-nodejs10-ubi@sha256:a605079fc0ab1aa8a88edca43bb1f870ada52c5cebcc378603d640831db47235
    Port:          3000/TCP
    Host Port:     0/TCP
    Command:
      /opt/odo/bin/supervisord
    Args:
      -c
      /opt/odo/conf/devfile-supervisor.conf
    State:          Running
      Started:      Wed, 24 Jun 2020 10:23:56 -0400
    Ready:          True
    Restart Count:  0
    Limits:
      memory:  1Gi
    Requests:
      memory:  1Gi
    Environment:
      CHE_PROJECTS_ROOT:            /projects
      ODO_COMMAND_RUN:              nodemon app.js
      ODO_COMMAND_RUN_WORKING_DIR:  ${CHE_PROJECTS_ROOT}/nodejs-web-app/app
    Mounts:
      /opt/odo/ from odo-supervisord-shared-data (rw)
      /projects from odo-projects (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-g4vzd (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  odo-projects:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  odo-supervisord-shared-data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  default-token-g4vzd:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-g4vzd
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From                        Message
  ----    ------     ----       ----                        -------
  Normal  Scheduled  <unknown>  default-scheduler           Successfully assigned default/mynodejs-84f68f6679-vdzdw to shivani2-worker-1
  Normal  Pulling    26m        kubelet, shivani2-worker-1  Pulling image "docker.io/stamba/odo-init-image:latest"
  Normal  Pulled     26m        kubelet, shivani2-worker-1  Successfully pulled image "docker.io/stamba/odo-init-image:latest"
  Normal  Created    26m        kubelet, shivani2-worker-1  Created container copy-supervisord
  Normal  Started    26m        kubelet, shivani2-worker-1  Started container copy-supervisord
  Normal  Pulling    26m        kubelet, shivani2-worker-1  Pulling image "docker.io/stamba/che-nodejs10-ubi:nightly"
  Normal  Pulled     26m        kubelet, shivani2-worker-1  Successfully pulled image "docker.io/stamba/che-nodejs10-ubi:nightly"
  Normal  Created    26m        kubelet, shivani2-worker-1  Created container runtime
  Normal  Started    26m        kubelet, shivani2-worker-1  Started container runtime
[root@shivani2-bastion nodejs-ex]# curl mynodejs-3000-default.apps.shivani2.example.com
Hello World!

So verified that the flow for Deploying a devfile using odo works fine on Power!

I figured out the issue - even though I had built the che-nodejs10-ubi image locally it was still trying to pull quay.io/eclipse/che-nodejs10-ubi:nightly image from registry instead of this local image.
So for testing purposes, I retagged & used this local image and changed the devfile.yaml accordingly. With this the odo push was success and I was able to access the odo URL which was created, fetch a response from the sample nodejs application.
[root@shivani2-bastion nodejs-ex]# curl http://mynodejs-3000-default.apps.shivani2.example.com
Hello World!
[root@shivani2-bastion nodejs-ex]# oc get all
NAME                                          READY   STATUS    RESTARTS   AGE
pod/mynodejs-84f68f6679-vdzdw                 1/1     Running   0          25m
pod/nfs-client-provisioner-548d67cbc4-2742g   1/1     Running   22         2d4h
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP                            PORT(S)    AGE
service/kubernetes   ClusterIP      <IP_ADDRESS>                                       443/TCP    2d5h
service/mynodejs     ClusterIP      <IP_ADDRESS>                                    3000/TCP   25m
service/openshift    ExternalName             kubernetes.default.svc.cluster.local        2d4h
NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mynodejs                 1/1     1            1           25m
deployment.apps/nfs-client-provisioner   1/1     1            1           2d4h
NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/mynodejs-84f68f6679                 1         1         1       25m
replicaset.apps/nfs-client-provisioner-548d67cbc4   1         1         1       2d4h
NAME                                     HOST/PORT                                         PATH   SERVICES   PORT   TERMINATION   WILDCARD
route.route.openshift.io/mynodejs-3000 mynodejs-3000-default.apps.shivani2.example.com          mynodejs   3000                 None

I figured out the issue - even though I had built the che-nodejs10-ubi image locally it was still trying to pull quay.io/eclipse/che-nodejs10-ubi:nightly image from registry instead of this local image.
So for testing purposes, I retagged & used this local image and changed the devfile.yaml accordingly. With this the odo push was success and I was able to access the odo URL which was created, fetch a response from the sample nodejs application.
[root@shivani2-bastion nodejs-ex]# curl http://mynodejs-3000-default.apps.shivani2.example.com
Hello World!
[root@shivani2-bastion nodejs-ex]# oc get all
NAME                                          READY   STATUS    RESTARTS   AGE
pod/mynodejs-84f68f6679-vdzdw                 1/1     Running   0          25m
pod/nfs-client-provisioner-548d67cbc4-2742g   1/1     Running   22         2d4h
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP                            PORT(S)    AGE
service/kubernetes   ClusterIP      <IP_ADDRESS>      <none>                                 443/TCP    2d5h
service/mynodejs     ClusterIP      <IP_ADDRESS>   <none>                                 3000/TCP   25m
service/openshift    ExternalName   <none>          kubernetes.default.svc.cluster.local   <none>     2d4h
NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mynodejs                 1/1     1            1           25m
deployment.apps/nfs-client-provisioner   1/1     1            1           2d4h
NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/mynodejs-84f68f6679                 1         1         1       25m
replicaset.apps/nfs-client-provisioner-548d67cbc4   1         1         1       2d4h
NAME                                     HOST/PORT                                         PATH   SERVICES   PORT   TERMINATION   WILDCARD
route.route.openshift.io/mynodejs-3000   mynodejs-3000-default.apps.shivani2.example.com          mynodejs   3000                 None

So verified that the flow for Deploying a devfile using odo works fine on Power!

looks like a happy ending. So closing it
/close


feat: inserting a question in a table

This PR depends on #136 and #137.
Once those two and this one are merged, #108 will be closed.

I think you should open one PR at a time :rofl:  I'm confused between #137 and #138

@ykdojo I think we can insert questions from front-end, this will simplify quite a lot of stuff. I'll open a PR later today.

@iShibi I actually explained my thought process behind this approach here. Mind taking a look? I think it's a nice, more simplified example than this PR.


chore: add link digitomize in cp/cp-helpers

Fixes Issue
closes #2206
Changes proposed
added digitomize link in the
category -> Competitive Programming
subcategory -> Helpers
Screenshots

Note to reviewers

@rupali-codes
The changes are fine, but need deployment to double check.

Hi @sarava338
Please add the category description for the subcategory cp-helpers.

You can find the component in TopBar/categoryDescriptions.ts

oops, I missed it out. 😅

Hey @Anmol-Baranwal, But I don't have any description for the sub category cp-helpers ?
Do you have any ? Or I will pick up something myself?

@sarava338
You can add something that fits the description. Please write a brief one yourself :)

Ok, There is no description for other CP sub categories too. Does it require a new issue ? Or May i proceed to add them here as well ?

Ok, There is no description for other CP sub categories too. Does it require a new issue ? Or May i proceed to add them here as well ?

If you want, you can add them. Just check if there are no category descriptions for them, maybe with an incorrect name.

Ok, There is no description for other CP sub categories too. Does it require a new issue ? Or May i proceed to add them here as well ?

If you want, you can add them. Just check if there are no category descriptions for them, maybe with an incorrect name.

I think you can add them in @Anmol-Baranwal. It'll make the process go quickly.

Upated with the description of my choice.

cp-platforms: Online platforms such as Codeforces, HackerRank, and LeetCode provide a virtual arena for programmers to engage in competitive programming challenges, honing their problem-solving skills.

cp-tutorials: Various online resources offer tutorials on algorithms, data structures, and problem-solving techniques, assisting aspiring competitive programmers in enhancing their coding proficiency and strategic thinking.

cp-helpers: Coding libraries, templates, and community forums serve as valuable aids for competitive programmers, offering pre-written code snippets, discussions, and collaborative support to optimize problem-solving efficiency.

I can't merge this. @rupali-codes, can you help me?


on_message_begin called again after on_message_complete

2017-09-21 19:48:16 [thread:10505] DEBUG (line=534, func=on_message_complete): tid:10505 on_message_complete
2017-09-21 19:48:16 [thread:10505] DEBUG file=http_analyzer.c (line=369, func=on_message_begin): tid:10505,
2017-09-21 19:48:16 [thread:10505] DEBUG file=http_analyzer.c (line=371, func=on_message_begin): tid:10505
Another problem is that http response was partially parsed. The totally bytes of http response is 744. 580 bytes of the http response was parsed. Part of the parsed content is:
HTTP/1.1 404 Not Found
Server: Tengine
Date: Thu, 21 Sep 2017 11:48:16 GMT
Content-Type: text/htq
And part of the un-parsed content :

Server:
lb1

This is too incomplete to be actionable.  Can you post steps to reproduce?

@bnoordhuis Thanks. I agree with you that more information is needed. But could you please tell me what information should be collected, is that the whole http response?

The response would be a good first step, yes.

HTTP/1.1 301 Moved Permanently
Server: Tengine
Date: Sun, 24 Sep 2017 20:48:53 GMT
Content-Type: text/html
Content-Length: 278
Connection: keep-alive
Location: https://www.starwin.com/

301 Moved Permanently

301 Moved Permanently
The requested resource has been assigned a new permanent URI.
Powered by Tengine

Case2: (the response body is same as Case1, but stopped at different place.
HTTP/1.1 301 Moved Permanently^M
Server: Tengine^M
Date: Mon, 25 Sep 2017 00:05:16 GMT^M
Content-Type: text/html^M
Content-Length: 278^M
Connection: keep-alive^M
Location: https://www.starwin.com/^M
^M
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">^M
^M
<title>301 Moved Permanently</title>^M
^M

301 Moved Permanently
^M

The requested resource has been assigned a new permanent URI.
^M

Powered by Tengine^M
^M

remains:
ermanently</title>^M
^M

301 Moved Permanently
^M

The requested resource has been assigned a new permanent URI.
^M

Powered by Tengine^M
^M

Case3:
HTTP/1.1 200 ^M
Server: Tengine^M
Date: Mon, 25 Sep 2017 00:12:26 GMT^M
Content-Type: application/json;charset=UTF-8^M
Transfer-Encoding: chunked^M
Connection: keep-alive^M
Vary: Accept-Encoding^M
X-B3-Sampled: 1^M
X-B3-SpanId: 9011a762c94b1cee^M
X-B3-TraceId: 9011a762c94b1cee^M
X-Application-Context: starwin-service^M
Content-Encoding: gzip^M
^M
21f^M
^_<8b>^H^@^@^@^@^@^@^Ce<93>Án^Z1^P<86>_%²<94>^[ {a<97>À<8d>^R<90>PQ<8a><80>ô^REÈ]&Ô<8d>×^Ù^
BHQO½¥·öÖSÏ=¶}<9f>&}<8d><8e>ÙÝfS$¤Õ|3ó{ü^OÞ<91>X+^GÊ<91>î<8e>Hañ{µ#bIº<8c>²^ZQ<^AÒ%<8f>_¾>|úøûçÝÃý^O<82>T#c<8c>R<86>^AlR^G±<9b>^X}#°<9b><84>§u^V<9e>b"Î<92>Lr'ÖÐKtæO8k6Ã<88>RZÍõóT<9b>6«´TÃR)^RáJ^E<<93>^^^D^R¾)<99>Ê¤¬^Q¡b^CÜBµ²Fø<9a>^KÉßH8^RH<8b>^SBvF£FÔ*É^DL|°<83>6(ë´[^QN ãÛs¾%Ý^NÍ<83>ù6õ®^L/ÇãÅøUÿ%^Ö:î2<8b>pt±<98>öF³^A2<97><97>M¦£×½ù`1¼¼8GÊÓTn§<99><84>rrË%Tã¼<80>;ßKI<91>ÏÃ^F¥!^R#ìí^XÖ Ë<8a>·ú}îØ\äûú~ÿøù[Ðúóá×aCÂ^M¡Ð ^^Cý[%ÏXP#ï´PO^HÇ×<8e>ËÉ<91>M^Uü¯»0ÊÀ^R A<8d>Á^F<92>Ô   Ð64¥^YQ¿ ëL^V{ZÞ4w¼Ïe|X»V£ã^Z¥^]Ø2¸^Q<8a>«X¨ÕÌqS\ö¿Ì@-«\¨5X<87>ü^E¬^D<8e>ã<8e>3ØQå<86>^K^K³,<8e>ÁÚ*<97>Üº^Y8'!ÁÿG_'©^D^GE+ (k×i§^^^D'^AíRÿ#~*Sm*¶<83>µQ<9d>²zà<9f>ÏsÙ§<8a>\<8d><9d>°°PÛ_ï½Ã6<93>þ<95>Ù|@¿]c´A<87>®®ñ^Aée1ïþ/<9c>^]Ó^GÙ^C^@^@^M
0^M
^M

remains:
^Uü¯»0ÊÀ^R A<8d>Á^F<92>Ô    Ð64¥^YQ¿ ëL^V{ZÞ4w¼Ïe|X»V£ã^Z¥^]Ø2¸^Q<8a>«X¨ÕÌqS\ö¿Ì@-«\¨5X<87>ü^E¬^D<8e>ã<8e>3ØQå<86>^K^K³,<8e>ÁÚ*<97>Üº^Y8'!ÁÿG_'©^D^GE+ (k×i§^^^D'^AíRÿ#~*Sm*¶<83>µQ<9d>²zà<9f>ÏsÙ§<8a>\<8d><9d>°°PÛ_ï½Ã6<93>þ<95>Ù|@¿]c´A<87>®®ñ^Aée1ïþ/<9c>^]Ó^GÙ^C^@^@^M
0^M

Case4:
HTTP/1.1 302 Moved Temporarily^M
Server: Tengine^M
Date: Mon, 25 Sep 2017 00:10:06 GMT^M
Content-Type: text/html^M
Content-Length: 258^M
Connection: keep-alive^M
Location: http://forum.dabo.com/^M
Access-Control-Allow-Origin: *^M
^M
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">^M
^M
<title>302 Found</title>^M
^M

302 Found
^M

The requested resource resides temporarily under a different URI.
^M

Powered by Tengine^M
^M

remains:
//DTD HTML 2.0//EN">^M
^M
<title>302 Found</title>^M
^M

302 Found
^M

The requested resource resides temporarily under a different URI.
^M

Powered by Tengine^M
^M

Case5:
HTTP/1.1 200 OK^M
Server: Tengine^M
Date: Mon, 25 Sep 2017 00:11:07 GMT^M
Content-Type: text/html; charset=UTF-8^M
Connection: keep-alive^M
Vary: Accept-Encoding^M
X-Pingback: http://www.dabo.com/caifu/xmlrpc.php^M
Link: <http://www.dabo.com/caifu/wp-json/>; rel="https://api.w.org/"^M
^M

remains:
 25 Sep 2017 00:11:07 GMT^M
Content-Type: text/html; charset=UTF-8^M
Connection: keep-alive^M
Vary: Accept-Encoding^M
X-Pingback: http://www.dabo.com/caifu/xmlrpc.php^M
Link: <http://www.dabo.com/caifu/wp-json/>; rel="https://api.w.org/"^M

Case6:
HTTP/1.1 404 Not Found^M
Server: Tengine^M
Date: Mon, 25 Sep 2017 00:11:00 GMT^M
Content-Type: text/html; charset=utf-8^M
Content-Length: 579^M
Connection: keep-alive^M
^M
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">^M
^M
<title>404 Not Found</title>^M
^M

404 Not Found
^M

The requested URL was not found on this server. Sorry for the inconvenience.
^M
Please report this message and include the following information to us.
^M
Thank you very much!
^M

^M

^M
URL:	^M
http://www.starlinked.com/	^M

^M

^M
Server:	^M
lb101.sl.com	^M

^M

^M
Date:	^M
2017/09/25 08:11:00	^M

^M

^M

Powered by Tengine^M
^M

remains:

^M
Server:	^M
lb101.sl.com	^M

^M

^M
Date:	^M
2017/09/25 08:11:00	^M

^M

^M

Powered by Tengine^M
^M

@bnoordhuis ,Is those information above enough for triage?

@tianchao-haohan Thanks for the updates.  Can you post or link your code that interacts with http-parser?

It seems that the problem was gone recently. I'm not sure what change caused this. From your comments, it seem that the problem cause by the inappropriate usage of http_parser.
Here is the code snippet about how to use http_parser:
parseCount = http_parser_execute (&currSessionDetail->reqParser,
&currSessionDetail->reqParserSettings,
(const char *) data, dataLen);
/* Init http request parser */
reqParser = &hsd->reqParser;
reqParserSettings = &hsd->reqParserSettings;
memset (reqParserSettings, 0, sizeof (*reqParserSettings));
reqParserSettings->on_message_begin = onReqMessageBegin;
reqParserSettings->on_url = onReqUrl;
reqParserSettings->on_header_field = onReqHeaderField;
reqParserSettings->on_header_value = onReqHeaderValue;
reqParserSettings->on_headers_complete = onReqHeadersComplete;
reqParserSettings->on_body = onReqBody;
reqParserSettings->on_message_complete = onReqMessageComplete;
http_parser_init (reqParser, HTTP_REQUEST);

/* Init http response parser */
resParser = &hsd->resParser;
resParserSettings = &hsd->resParserSettings;
memset (resParserSettings, 0, sizeof (*resParserSettings));
resParserSettings->on_message_begin = onRespMessageBegin;
resParserSettings->on_url = onRespUrl;
resParserSettings->on_header_field = onRespHeaderField;
resParserSettings->on_header_value = onRespHeaderValue;
resParserSettings->on_headers_complete = onRespHeadersComplete;
resParserSettings->on_body = onRespBody;
resParserSettings->on_message_complete = onRespMessageComplete;
http_parser_init (resParser, HTTP_RESPONSE);

GET .\.\.\.\.\.\.\.\.\.\/winnt/win.ini HTTP/1.1^M
Host: <IP_ADDRESS>^M
Accept-Charset: iso-8859-1,utf-8;q=0.9,*;q=0.1^M
Accept-Language: en^M
Connection: Keep-Alive^M
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)^M
Pragma: no-cache^M
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*^M

remains:
.\.\.\.\.\.\.\.\.\.\/winnt/win.ini HTTP/1.1^M
Host: <IP_ADDRESS>^M
Accept-Charset: iso-8859-1,utf-8;q=0.9,*;q=0.1^M
Accept-Language: en^M
Connection: Keep-Alive^M
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)^M
Pragma: no-cache^M
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*^M

.\.\.\.\.\.\.\.\.\.\/winnt/win.ini is not a valid request path.  Check that HTTP_PARSER_ERRNO(parser) == HPE_OK after http_parser_execute() returns.  If it isn't, you should close the connection.
I'll close this out.  Let me know if there is reason to believe it's a http-parser bug after all.


WIP Quote key and value when uploading a secret

Currently we break horribly when a user adds a multiline secret in yaml
(via the | operator):
failed: [localhost] (item=cert-test) => {"ansible_loop_var": "item",
"changed": true, "item": {"key": "cert-test", "value": {"ca.crt":
"-----BEGIN CERTIFICATE-----\nMIIEgjCCA
uqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhDT09M\nLkxBQjEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIyMDEwNTEz\nfoo\nbar\nbaz\n"}},
"rc": 127, "return_code": 127, "stderr": "Failed to parse K=V data:
invalid key/value pair \"CERTIFICATE-----\": format must be
key=value\nsh: line 1:
MIIEgjCCAuqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMREwDwYDVQ QKDAhDT09M:
command not found\nsh: line 2:
LkxBQjEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIyMDEwNTEz:
command not found

Let's try to escape key and value and let the yaml parsers do their job.
Tested with:
secrets:
cert-test:
ca.crt: |
-----BEGIN CERTIFICATE-----
MIIEgjCCAuqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhDT09M
LkxBQjEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIyMDEwNTEz
foo
bar
baz
And got the following:
$ oc exec -it -n vault vault-0 -- bash -c 'vault kv get secret/hub/cert-test'
======= Metadata =======
Key                Value
---                -----
created_time       2022-04-22T08:36:34.624976106Z
custom_metadata    <nil>
deletion_time      n/a
destroyed          false
version            2

===== Data =====
Key       Value
---       -----
ca.crt    -----BEGIN CERTIFICATE-----
MIIEgjCCAuqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhDT09M
LkxBQjEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIyMDEwNTEz
foo
bar
baz

it went through for me. didn't check the vault for content though. But no errors

Thanks @ikke-t I think this change makes sense in general, so I'll go ahead and merge it. If any additional fixes are needed for the cert multiline issue, we can add those on top.


[CARBONDATA-2926] fixed ArrayIndexOutOfBoundException with varchar columns and empty sort_columns

problem:
ArrayIndexOutOfBoundException if varchar column is present before dictionary columns along with empty sort_columns.
root cause:
CarbonFactDataHandlerColumnar.isVarcharColumnFull() method uses model.getVarcharDimIdxInNoDict()
and index of varchar column in no dictonary array became negative.
currently index was calculated based on ordinal-number of dictionary columns. This can go negative in no_sort column case,
solution:
take the varchar dimension index from no dictionary array from at runtime based on schema.
Also hotfix: removed number validation in table properties of sdk, now we support 7 properties
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed? NA

[ ] Any backward compatibility impacted? NA

[ ] Document update required? NA

[ ] Testing done
updated UT

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA. NA

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/212/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/381/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.3/8451/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/232/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.3/8471/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/401/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/259/

LGTM

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.3/8498/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/428/


Cannot enter more than one character in a password field

Rows with .Password as RowType cannot handle more than one character. I have tested this on an iPhone 5, iPad retina and the simulator. I have not found a way to fix/circumvent this bug.
Tested on Xcode 6.1.1 and Yosemite 10.10.1; using SDK 8.1 on iOS 8.1.2

Thanks.

The current version fixes this issue. Thanks for the report.

This issue still exists in the demo app. Downloading the source code and running without any changes shows this same error.


Remove generateAPIToc from elements-utils

Since elements-utils is not used for API toc generation anymore, we should remove API-related functionality from that package. We can make this in a separate issue, so after this gets merged, let's create an issue covering that.
Originally posted by @mpodlasin in https://github.com/stoplightio/elements/pull/1110#discussion_r621125544

Let's handle as part of #959.

We can also rename this to Remove elements-utils, can't we? cc @mpodlasin


Leverage CLI: Unit Tests

What

Add more unit tests
Minor improvements

@angelofenoglio It looks great rocket , please don't forget to commit the requirement detailed in this comment please 🙏🏼
Thanks in avance!

Working on it!
Initially I thought of adding the required files to create a virtual environment (via pipenv or poetry) to run the tests in isolation and not mess with the developer's global python installation. However, I think that adding an adequate dockerfile and the necessary make entries to run them would be more beneficial, considering that these will be added when creating integration tests (the next step) anyway.
What do you think? @exequielrafaela @diego-ojeda-binbash

@angelofenoglio I agree. Let's not worry about running tests in an isolated environments at this point (you are only active developer at the moment anyway). And, as you said, we will have a docker image for running integration tests which should help us with unit tests too.

@angelofenoglio It looks great rocket , please don't forget to commit the requirement detailed in this comment please 🙏🏼
Thanks in avance!

Working on it!
Initially I thought of adding the required files to create a virtual environment (via pipenv or poetry) to run the tests in isolation and not mess with the developer's global python installation. However, I think that adding an adequate dockerfile and the necessary make entries to run them would be more beneficial, considering that these will be added when creating integration tests (the next step) anyway.
What do you think? @exequielrafaela @diego-ojeda-binbash

@angelofenoglio I agree. Let's not worry about running tests in an isolated environments at this point (you are only active developer at the moment anyway). And, as you said, we will have a docker image for running integration tests which should help us with unit tests too.

I'll leave it simple for now then.

@angelofenoglio It looks great rocket , please don't forget to commit the requirement detailed in this comment please 🙏🏼
Thanks in avance!

Working on it!
Initially I thought of adding the required files to create a virtual environment (via pipenv or poetry) to run the tests in isolation and not mess with the developer's global python installation. However, I think that adding an adequate dockerfile and the necessary make entries to run them would be more beneficial, considering that these will be added when creating integration tests (the next step) anyway.
What do you think? @exequielrafaela @diego-ojeda-binbash

@angelofenoglio I agree. Let's not worry about running tests in an isolated environments at this point (you are only active developer at the moment anyway). And, as you said, we will have a docker image for running integration tests which should help us with unit tests too.

I'll leave it simple for now then.

@diego-ojeda-binbash @angelofenoglio great! And yes we always try to favor a dockerized approach when possible, this should cover the isolation and security concerns, and also simplify to run all te tests in automation via CI (most probable via GH actions) in the near future 🤝 ✅


[52]

Incluir o nuget de material design
Alterar a forma de se apresentar as imagens

Codecov Report

Merging #53 (769c3fd) into main (e5124f6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #53   +/-   ##
=======================================
  Coverage   35.84%   35.84%
=======================================
  Files          10       10
  Lines         159      159
  Branches       23       23
=======================================
  Hits           57       57
  Misses         96       96
  Partials        6        6

Flag
Coverage Δ

unittests
35.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e5124f6...769c3fd. Read the comment docs.

Codecov Report

Merging #53 (769c3fd) into main (e5124f6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #53   +/-   ##
=======================================
  Coverage   35.84%   35.84%
=======================================
  Files          10       10
  Lines         159      159
  Branches       23       23
=======================================
  Hits           57       57
  Misses         96       96
  Partials        6        6

Flag
Coverage Δ

unittests
35.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e5124f6...769c3fd. Read the comment docs.


Tweak Git image size

Changes
Add --nodocs to reduce the image size.
Submitter Checklist

[ ] Includes tests if functionality changed/was added
[ ] Includes docs if changes are user-facing
[X] Set a kind label on this PR
[X] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes
NONE

I was curious, this seems to save 10MB off a 108MB image (98 MB without docs), a 9% savings. 📉
/lgtm

/approve

I was curious, this seems to save 10MB off a 108MB image (98 MB without docs), a 9% savings. 📉
/lgtm

I figured it not a huge improvement, but surprisingly a lot for just adding one CLI flag.


Docs website can't be reached

Describe the bug
Hi there. It looks like the server where the documentation is hosted is down.
I checked the docs folder and it looks like nextjs is being used. Maybe Node is having a hard time and the docs are down.
Just wanted to let you know and let me know if I can do something to help.
To Reproduce
Steps to reproduce the behavior:

Go to https://react-query.tanstack.com/

Expected behavior
The docs should open, but the server can't be reached.
Screenshots

Not having problems with docs site at the moment.

Hosted on Vercel. Working great.


C# File.FileExists(string path) is non static

Godot version
3.5.stable.mono
System information
Win 11
Issue description
In c# bindings method FileExists described as:
[GodotMethodAttribute("file_exists")]
public bool FileExists(string path);

Opposed to Godot docs:
bool file_exists ( String path ) static

Steps to reproduce
As Described in issue description.
Minimal reproduction project
No response

According to the 3.5 docs:

The file_exists method is not static in 3.x, it was only made static in 4.0.