Helm: Tidak dapat menginstal/mengambil grafik terbaru jika versi 'pra-rilis'

Dibuat pada 6 Mei 2017  ·  3Komentar  ·  Sumber: helm/helm

Versi helm yang terpengaruh: v2.4.1

Isu

helm [install | fetch] <chart repo>/<chart> gagal jika <chart> terbaru dalam <chart repo> memiliki versi "pra-rilis" -- yaitu, berisi nilai tambahan di luar, katakanlah v0.1.0 , seperti v0.1.0-alpha.1 atau v0.1.0-dev-sha.abc1234 .

rincian

Bekerja di v2.3.1 :

$ helm version
Client: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}

$ helm search -r workflow-dev
NAME                        VERSION                                 DESCRIPTION
workflow-dev/workflow       v2.13.1-dev-20170504190907-sha.3d6bbf9  Deis Workflow

$ helm fetch workflow-dev/workflow
$ ls
workflow-v2.13.1-dev-20170504190907-sha.3d6bbf9.tgz

Tidak bekerja di v2.4.1 :

$ helm version
Client: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}

$ helm search -r workflow-dev
NAME                        VERSION                                 DESCRIPTION
workflow-dev/workflow       v2.13.1-dev-20170504190907-sha.3d6bbf9  Deis Workflow
...

$ helm fetch workflow-dev/workflow
Error: chart "workflow" not found in workflow-dev index. (try 'helm repo update'). No chart version found for workflow-

Namun, jika bagan terbaru dalam repo memiliki versi rilis 'resmi', bagan tersebut berhasil diambil di v2.4.1 :

 $ helm search -r jenkins
NAME            VERSION DESCRIPTION
stable/jenkins  0.6.2   Open source continuous integration server. It s..

 $ helm fetch stable/jenkins

 $ ls
jenkins-0.6.2.tgz

Masalah Serupa/Terkait

https://github.com/kubernetes/charts/issues/999 diajukan secara khusus untuk bagan stable/traefik .

Memang, seperti yang kita lihat, bagan ini kebetulan memiliki sedikit info tambahan tentang string versi (versi lengkap: 1.2.1-a , oleh karena itu menguatkan klaim masalah ini bahwa info tambahan (biasanya dianggap "pra-rilis") adalah melanggar pemasangan/pengambilan:

$ helm search -r traefik
NAME            VERSION DESCRIPTION
stable/traefik  1.2.1-a A Traefik based Kubernetes ingress controller w...

$ helm fetch stable/traefik
Error: chart "traefik" not found in stable index. (try 'helm repo update'). No chart version found for traefik-

Peringatan

Namun, penting untuk dicatat (dan mungkin berguna dalam men-debug/menunjukkan masalah), jika versi bagan "pra-rilis" ditentukan secara eksplisit, itu dapat diinstal/diambil tanpa masalah. Melanjutkan dari atas:

$ helm fetch stable/traefik --version 1.2.1-a

$ ls
traefik-1.2.1-a.tgz

Komentar yang paling membantu

Alasannya adalah karena versi Traefik, menurut SemVer, adalah pra-rilis. Di Helm 2.4.1, kami memutuskan untuk tidak menginstal pra-rilis kecuali secara eksplisit diberikan versi. #2279

Solusinya adalah menjalankan sesuatu yang memungkinkan pra-rilis memenuhi kriteria rentang: helm fetch stable/traefik --debug --version=">1.0.0-a"

@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan. Kami berpikir mungkin --devel

Semua 3 komentar

Alasannya adalah karena versi Traefik, menurut SemVer, adalah pra-rilis. Di Helm 2.4.1, kami memutuskan untuk tidak menginstal pra-rilis kecuali secara eksplisit diberikan versi. #2279

Solusinya adalah menjalankan sesuatu yang memungkinkan pra-rilis memenuhi kriteria rentang: helm fetch stable/traefik --debug --version=">1.0.0-a"

@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan. Kami berpikir mungkin --devel

@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan.

Memang, satu kasus penggunaan kami adalah untuk mencurahkan seluruh repo bagan ke bagan berversi _only_ 'unstable/dev/pre-release'. Ini memiliki manfaat untuk tidak 'meramaikan' repo bagan 'resmi' kami yang hanya berisi versi resmi.

Akan berguna untuk mempertahankan kemampuan untuk menarik bagan terbaru dari repo dev tersebut tanpa menentukan versi atau rentang versi apa pun (seperti yang dapat dilakukan di helm pra-2.4.x): helm install dev-chart-repo/dev-chart , alih-alih entah bagaimana harus melacak versi dev-chart terbaru dan menyediakan rentang yang tepat melalui --version .

Jika flag --devel diperlukan untuk melakukan hal yang disebutkan di atas, itu tidak masalah.

Meskipun saya dapat memahami (agak) alasan di balik penolakan untuk memasang bagan "pra-rilis", saya tidak dapat melihat bagaimana itu berguna dengan fetch .

Selain itu, pesan kesalahan saat ini menyesatkan dan menyebabkan pemborosan waktu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat