Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chart version 1.6.0 doesn't have its image available #115

Closed
mamoit opened this issue Jan 20, 2023 · 19 comments
Closed

Chart version 1.6.0 doesn't have its image available #115

mamoit opened this issue Jan 20, 2023 · 19 comments

Comments

@mamoit
Copy link

mamoit commented Jan 20, 2023

Since the release of version 1.6.0 a couple of hours ago, any install of the latest version of the chart is broken.
The image k8s.gcr.io/sig-storage/nfs-provisioner:v4.0.8 is not available.

Currently, the available versions in the registry are:

[
  "v2.2.2",
  "v3.0.0",
  "v3.0.1"
]

Easiest workaround for us (and we should have been doing it from the start), was to pin the chart version to 1.5.0.

The pipeline of the repo on master seems to be broken on the "Build nfs-ganesha base container", so it's most likely due to that.

@atalakey4work
Copy link

Guys, any update on this?

@andriisoldatenko
Copy link

i've installed prev version successfully:

helm install --version=1.5.0 nfs-provisioner nfs-ganesha-server-and-external-provisioner/nfs-server-provisioner -n nfs --wait
NAME: nfs-provisioner
LAST DEPLOYED: Sun Jan 22 16:06:45 2023
NAMESPACE: nfs
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The NFS Provisioner service has now been installed.

A storage class named 'nfs' has now been created
and is available to provision dynamic volumes.

You can use this storageclass by creating a `PersistentVolumeClaim` with the
correct storageClassName attribute. For example:

    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: test-dynamic-volume-claim
    spec:
      storageClassName: "nfs"
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 100Mi

@atalakey4work
Copy link

Thank you @andriisoldatenko but any idea when will the latest image get published so we can upgrade to LTS?

@kvaps
Copy link
Member

kvaps commented Jan 23, 2023

This is because of #109

Need to find a way to fix it

@kvaps
Copy link
Member

kvaps commented Jan 23, 2023

I have no access to approve workflow

@kmova or @msau42 could you kindly do this, please?

Also I created an issue to add admin rights for me:
kubernetes/org#3976

@msau42
Copy link
Contributor

msau42 commented Jan 25, 2023

approved

@atalakey4work
Copy link

@kvaps looking forward for your kind support to resolve the issue.

@alexandrebunn
Copy link

alexandrebunn commented Jan 25, 2023

We've faced the same issue,tue image tag v4.0.8 isn't available.

We tried to build the image, but 'make container' ends with the error below:

Step 1/7 : ARG GANESHA_VERSION=V4.0.8
Step 2/7 : FROM ghcr.io/kubernetes-sigs/nfs-ganesha:${GANESHA_VERSION}
manifest unknown
make: *** [release-tools/build.make:105: container-nfs-provisioner] Error 1

Following below more info about the process:

  • GO version
~/github/nfs-ganesha-server-and-external-provisioner$ go version
go version go1.16.7 linux/amd64
  • build step
~/github/nfs-ganesha-server-and-external-provisioner$ make build
./release-tools/verify-go-version.sh "go"
mkdir -p bin
# os_arch_seen captures all of the $os-$arch seen for the current binary
# that we want to build, if we've seen an $os-$arch before it means that
# we don't need to build it again, this is done to avoid building
# the windows binary multiple times (see the default value of $BUILD_PLATFORMS)
export os_arch_seen="" && echo '' | tr ';' '\n' | while read -r os arch suffix base_image addon_image; do \
        os_arch_seen_pre=${os_arch_seen%%$os-$arch*}; \
        if ! [ ${#os_arch_seen_pre} = ${#os_arch_seen} ]; then \
                continue; \
        fi; \
        if ! (set -x; cd ./cmd/nfs-provisioner && CGO_ENABLED=0 GOOS="$os" GOARCH="$arch" go build  -a -ldflags ' -X main.version=v3.0.1-17-gced97dc -extldflags "-static"' -o "/home/alexandrebunn/github/nfs-ganesha-server-and-external-provisioner/bin/nfs-provisioner$suffix" .); then \
                echo "Building nfs-provisioner for GOOS=$os GOARCH=$arch failed, see error(s) above."; \
                exit 1; \
        fi; \
        os_arch_seen+=";$os-$arch"; \
done
+ cd ./cmd/nfs-provisioner
+ CGO_ENABLED=0
+ GOOS=
+ GOARCH=
+ go build -a -ldflags ' -X main.version=v3.0.1-17-gced97dc -extldflags "-static"' -o /home/alexandrebunn/github/nfs-ganesha-server-and-external-provisioner/bin/nfs-provisioner .
  • make container
~/github/nfs-ganesha-server-and-external-provisioner$ make container
./release-tools/verify-go-version.sh "go"
mkdir -p bin
# os_arch_seen captures all of the $os-$arch seen for the current binary
# that we want to build, if we've seen an $os-$arch before it means that
# we don't need to build it again, this is done to avoid building
# the windows binary multiple times (see the default value of $BUILD_PLATFORMS)
export os_arch_seen="" && echo '' | tr ';' '\n' | while read -r os arch suffix base_image addon_image; do \
        os_arch_seen_pre=${os_arch_seen%%$os-$arch*}; \
        if ! [ ${#os_arch_seen_pre} = ${#os_arch_seen} ]; then \
                continue; \
        fi; \
        if ! (set -x; cd ./cmd/nfs-provisioner && CGO_ENABLED=0 GOOS="$os" GOARCH="$arch" go build  -a -ldflags ' -X main.version=v3.0.1-17-gced97dc -extldflags "-static"' -o "/home/alexandrebunn/github/nfs-ganesha-server-and-external-provisioner/bin/nfs-provisioner$suffix" .); then \
                echo "Building nfs-provisioner for GOOS=$os GOARCH=$arch failed, see error(s) above."; \
                exit 1; \
        fi; \
        os_arch_seen+=";$os-$arch"; \
done
+ cd ./cmd/nfs-provisioner
+ CGO_ENABLED=0
+ GOOS=
+ GOARCH=
+ go build -a -ldflags ' -X main.version=v3.0.1-17-gced97dc -extldflags "-static"' -o /home/alexandrebunn/github/nfs-ganesha-server-and-external-provisioner/bin/nfs-provisioner .
docker build -t nfs-provisioner:latest -f Dockerfile --label revision=v3.0.1-17-gced97dc .
Sending build context to Docker daemon  76.67MB
Step 1/7 : ARG GANESHA_VERSION=V4.0.8
Step 2/7 : FROM ghcr.io/kubernetes-sigs/nfs-ganesha:${GANESHA_VERSION}
manifest unknown
make: *** [release-tools/build.make:105: container-nfs-provisioner] Error 1
$

@bianchi2
Copy link

bianchi2 commented Feb 1, 2023

Same issue with 1.7.0

@rtrompier
Copy link

Hi guys, someone found a solution ?

@atalakey4work
Copy link

Any luck in fixing and pushing the LTS container image?

@modzilla99
Copy link
Contributor

For now you could use my image: https://github.com/modzilla99/nfs-ganesha-server-and-external-provisioner/pkgs/container/nfs-ganesha-server-and-external-provisioner

image:
  repository: ghcr.io/modzilla99/nfs-ganesha-server-and-external-provisioner

@blackshadev
Copy link

@kvaps the kubernetes/org#3976 has been merged.

Can you publish the images for us such that we can upgrade to versions after chart 1.5.0?

@atalakey4work
Copy link

Guys, any idea when this will be resolved?

@kvaps
Copy link
Member

kvaps commented Feb 21, 2023

It seems CI-pipeline does not push actually docker image.
Sorry, I have no enough time to solve this right now.
If someone could take a look and make a fix, I'll be happy to merge it.

@revant
Copy link

revant commented Mar 4, 2023

I changed the container build context directory from . to bin in release-tools/build.make after that make build and make container worked. nfs-provisioner:latest was successfully built locally.

Changed build.make: https://github.com/kubernetes-sigs/nfs-ganesha-server-and-external-provisioner/compare/master...revant:nfs-ganesha-server-and-external-provisioner:build-nfs-provisioner?expand=1

It seems only the base image (which is named ghcr.io/kubernetes-sigs/nfs-ganesha:V4.0.8) is built in .github/workflows/docker-build.yml.

Will it need one step to build nfs-provisioner and another step to build the final image which copies bin/nfs-provisioner to the base image (as specified in deploy/docker/Dockerfile)? What will be the final image? k8s.gcr.io/sig-storage/nfs-provisioner or ghcr.io/kubernetes-sigs/nfs-ganesha? or anything else #117?

Finally the helm chart needs to change .Values.image if final image is set to any name other than k8s.gcr.io/sig-storage/nfs-provisioner.

@kvaps
Copy link
Member

kvaps commented Mar 6, 2023

Hi @revant thanks for taking the time to play this.
The final image should be registry.k8s.io/sig-storage/nfs-provisioner:v4.0.8

Yeah, we need to update Helm chart as well

@kvaps
Copy link
Member

kvaps commented Mar 8, 2023

fixed by kubernetes/k8s.io#4893
/close

@k8s-ci-robot
Copy link
Contributor

@kvaps: Closing this issue.

In response to this:

fixed by kubernetes/k8s.io#4893
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests