Welcome to the Linux Foundation Forum!

Lab 5.1 I'm stuck at the jx get applications command at step 2

Hello,

I made it to Lab 5.1, but I'm stuck at step 2.
I did jx project quickstart which worked for me, but I get nothing when I do jx get applications.

This is what I've got:

Pipeline should start soon for: LFS268-z4kz/lfs268-golab

Watch pipeline activity via: jx get activity -f LFS268-z4kz/lfs268-golab -w
Browse the pipeline log via: jx get build logs LFS268-z4kz/lfs268-golab
You can list the pipelines via: jx get pipelines
When the pipeline is complete: jx get applications

For more help on available commands see: https://jenkins-x.io/developing/browsing/

I then do jx get build logs LFS268-z4kz/lfs268-golab:

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage > [32mfrom-build-pack[0m and container [32mprepare[0m
2024/12/12 10:00:09 Entrypoint initialization

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage [32mfrom-build-pack[0m and container [32mplace-scripts[0m
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-0-dqb6f
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-1-rfbvk
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-2-gzg7p
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-3-78xhp
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-5-vsp48
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-6-sv4lb
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-7-gl2sf
2024/12/12 10:00:10 Decoded script /tekton/scripts/script-8-j7d7r

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage > [32mfrom-build-pack[0m and container [32mworking-dir-initializer[0m

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage > [32mfrom-build-pack[0m and container [32mstep-git-clone[0m
git cloning url: https://github.com/LFS268-z4kz/lfs268-golab.git version > master@d3dd9d348f8655c7526f956d9873951c382dfde2 to dir: source
Cloning into 'source'...
HEAD is now at d3dd9d3 chore: Jenkins X build pack
checked out revision: master@d3dd9d348f8655c7526f956d9873951c382dfde2 to dir: source

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage [32mfrom-build-pack[0m and container [32mstep-next-version[0m

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage > [32mfrom-build-pack[0m and container [32mstep-jx-variables[0m
WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set
about to run: git clone https://github.com/LFS268-z4kz/jx3-gke-gsm.git /tmp/jx-> git-1241205471 in dir /tmp
Cloning into '/tmp/jx-git-1241205471'...
export APP_NAME='lfs268-golab'
export BRANCH_NAME='master'
export BUILD_NUMBER='1'
export DOCKERFILE_PATH='Dockerfile'
export DOCKER_REGISTRY='gcr.io'
export DOCKER_REGISTRY_ORG='jenkinsx-444410'
export DOMAIN='34.121.66.84.nip.io'
about to run: git rev-parse --abbrev-ref HEAD in dir .
master
export GIT_BRANCH='master'
export JENKINS_X_URL='http://dashboard-jx.34.121.66.84.nip.io/LFS268-z4kz/lfs268-golab/master/1'
export JX_CHART_REPOSITORY='http://jenkins-x-chartmuseum.jx.svc.cluster.local:8080'
export KANIKO_FLAGS='--skip-unused-stages --snapshot-mode=redo'
export MINK_AS='tekton-bot'
export MINK_IMAGE='gcr.io/jenkinsx-444410/lfs268-golab:0.0.1'
export NAMESPACE_SUB_DOMAIN='-jx.'
export PIPELINE_KIND='release'
export PUSH_CONTAINER_REGISTRY='gcr.io'
export REPO_NAME='lfs268-golab'
export REPO_OWNER='LFS268-z4kz'
export VERSION='0.0.1'
added variables to file: .jx/variables.sh
about to run: git config --get user.name in dir .
jenkins-x-bot
about to run: git config --get user.email in dir .
jenkins-x@googlegroups.com
about to run: git add * in dir .
about to run: git status -s in dir .
A .jx/variables.sh
A VERSION
about to run: git commit -m chore: add variables in dir .
[master f1c0a69] chore: add variables
2 files changed, 22 insertions(+)
create mode 100644 .jx/variables.sh
create mode 100644 VERSION

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage [32mfrom-build-pack[0m and container [32mstep-build-make-build[0m
pattern ./...: directory prefix . does not contain main module or its selected dependencies
pattern ./...: directory prefix . does not contain main module or its selected dependencies
CGO_ENABLED=0 GO15VENDOREXPERIMENT=1 go build -ldflags '' -o bin/lfs268-golab main.go

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage [32mfrom-build-pack[0m and container [32mstep-check-registry[0m
sourcing .jx/variables.sh
verifying the container registry is setup
WARNING: no $GIT_SECRET_MOUNT_PATH environment variable set
about to run: git clone https://github.com/LFS268-z4kz/jx3-gke-gsm.git /tmp/jx-git-3811397816 in dir /tmp
Cloning into '/tmp/jx-git-3811397816'...
no ECR code necessary as using provider gke

Showing logs for build [32mlfs268-z4kz/lfs268-golab/master #1 release[0m stage [32mfrom-build-pack[0m and container [32mstep-build-container-build[0m
error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated correctly, and try again: checking push permission for "gcr.io/jenkinsx-444410/lfs268-golab:0.0.1": creating push check transport for gcr.io failed: GET https://gcr.io/v2/token?scope=repository:jenkinsx-444410/lfs268-golab:push,pull&service=gcr.io: DENIED: Permission "artifactregistry.repositories.uploadArtifacts" denied on resource "projects/jenkinsx-444410/locations/us/repositories/gcr.io" (or it may not exist)
[31m
Pipeline failed on stage 'from-build-pack' : container 'step-build-container-build'. The
execution of the pipeline has stopped.[0m

Note: I notice this error message from the above log:

GET https://gcr.io/v2/token?scope=repository:jenkinsx-444410/lfs268-golab:push,pull&service=gcr.io: DENIED: Permission "artifactregistry.repositories.uploadArtifacts" denied on resource "projects/jenkinsx-444410/locations/us/repositories/gcr.io" (or it may not exist)

I'm looking at the Google Cloud Artifact Registry settings, which I set from Lab 4.1, and it seems to be enabled and scanning is on.

Here is what I get when I run jx get pipelines:

Name URL LAST_BUILD STATUS DURATION
lfs268-z4kz/jx3-gke-gsm/PR-1 #1733997316936 completed-verify N/A N/A N/A N/A
lfs268-z4kz/jx3-gke-gsm/PR-1 #1733997405434 completed-verify N/A N/A N/A N/A
lfs268-z4kz/jx3-gke-gsm/main #1733997436433 completed-bootjob N/A N/A N/A N/A
lfs268-z4kz/jx3-gke-gsm/main #1733997601335 completed-bootjob N/A N/A N/A N/A
lfs268-z4kz/lfs268-golab/master #1733997602395 completed-release N/A N/A N/A N/A

I also tried kubectl -n jx get pods and kubectl -n jx describe pod z4kz-lfs268-golab-master-release-tzvkz-from-build-pack-pod:

z4kz-lfs268-golab-master-release-tzvkz-from-build-pack-pod 0/9 Error 0 25m

and

...

State: Terminated
Reason: Error
Message: [{"key":"StartedAt","value":"2024-12-12T10:01:45.083Z","type":3}]
Exit Code: 1
Started: Thu, 12 Dec 2024 03:01:28 -0700
Finished: Thu, 12 Dec 2024 03:01:45 -0700
Ready: False
Restart Count: 0
Environment Variables from:
jx-boot-job-env-vars Secret Optional: true
Environment:
HOME: /tekton/home
BUILD_ID: 1733997602395
JOB_NAME: release
JOB_SPEC: type:postsubmit
JOB_TYPE: postsubmit
PULL_BASE_REF: master
PULL_BASE_SHA: d3dd9d348f8655c7526f956d9873951c382dfde2
PULL_NUMBER:
PULL_PULL_REF:
PULL_PULL_SHA:
PULL_REFS: master:d3dd9d348f8655c7526f956d9873951c382dfde2
REPO_NAME: lfs268-golab
REPO_OWNER: LFS268-z4kz
REPO_URL: https://github.com/LFS268-z4kz/lfs268-golab.git
Mounts:
/tekton/bin from tekton-internal-bin (ro)
/tekton/creds from tekton-creds-init-home-8 (rw)
/tekton/creds-secrets/tekton-container-registry-auth from tekton-internal-secret-volume-> tekton-container-registry-a-frpb7 (rw)
/tekton/creds-secrets/tekton-git from tekton-internal-secret-volume-tekton-git-mm68l (rw)
/tekton/home from tekton-internal-home (rw)
/tekton/results from tekton-internal-results (rw)
/tekton/run/0 from tekton-internal-run-0 (ro)
/tekton/run/1 from tekton-internal-run-1 (ro)
/tekton/run/2 from tekton-internal-run-2 (ro)
/tekton/run/3 from tekton-internal-run-3 (ro)
/tekton/run/4 from tekton-internal-run-4 (ro)
/tekton/run/5 from tekton-internal-run-5 (ro)
/tekton/run/6 from tekton-internal-run-6 (ro)
/tekton/run/7 from tekton-internal-run-7 (ro)
/tekton/run/8 from tekton-internal-run-8 (rw)
/tekton/scripts from tekton-internal-scripts (ro)
/tekton/steps from tekton-internal-steps (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jdtxt (ro)
/workspace from ws-9kxlx (rw)
Conditions:
Type Status
PodReadyToStartContainers False
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
tekton-internal-workspace:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-home:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-results:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-steps:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-secret-volume-tekton-container-registry-a-frpb7:
Type: Secret (a volume populated by a Secret)
SecretName: tekton-container-registry-auth
Optional: false
tekton-internal-secret-volume-tekton-git-mm68l:
Type: Secret (a volume populated by a Secret)
SecretName: tekton-git
Optional: false
tekton-internal-scripts:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-bin:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-internal-downward:
Type: DownwardAPI (a volume populated by information about the pod)
Items:
metadata.annotations['tekton.dev/ready'] -> ready
tekton-creds-init-home-0:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-0:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-1:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-1:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-2:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-2:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-3:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-3:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-4:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-4:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-5:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-5:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-6:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-6:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-7:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-7:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
tekton-creds-init-home-8:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium: Memory
SizeLimit:
tekton-internal-run-8:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
ws-9kxlx:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
kube-api-access-jdtxt:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: Burstable
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:

...

Comments

  • There could be possibly two issues:
    1. Tekton does not have upload permissions to GCR. Make sure all the step mentioned in the lab 4.1 are correctly followed.
    2. You changed your github access token. If so, you will have to delete reference to previous token from Google cloud console first and then re-create the K8s cluster. This is also called out in the lab documentation.

    Hope this helps!

  • zacts
    zacts Posts: 40

    Thanks, let me check it out.

  • zacts
    zacts Posts: 40

    Thanks @HimanshuGautam.

    I got this to work. I recreated my GitHub access token, deleted the Google GSM secrets, and made sure I had the exact jx binary as in the Lab 4.1 guide. Everything seems to be working after that. I'm thinking the main issue was the Google GSM secrets, because I for sure still had those from a previous run.

  • zacts
    zacts Posts: 40

    Also, it takes a while for the builds to run. You won't necessarily see full output until the build finishes. It will take a while before jx get applications works. I think it took about 20-30m for my build to complete.

  • zacts
    zacts Posts: 40

    It's probably a good idea to run jx get build logs, jx get pipelines, and jx get applications in a tmux session. It seems like it's stuck, but it eventually completes the build if you watch those.

Categories

Upcoming Training