cilium / cilium

eBPF-based Networking, Security, and Observability
https://cilium.io
Apache License 2.0
19.83k stars 2.91k forks source link

Change the examples image tags to point to a more "stable" tag instead of latest #4483

Closed aanm closed 3 years ago

aanm commented 6 years ago

Related with #4464

tgraf commented 6 years ago

@aanm To what branch are you referring to?

aanm commented 6 years ago

@tgraf all of them? (which branches exist?)

manalibhutiyani commented 6 years ago

@aanm #4464 was specific to kafka docker image.

aanm commented 6 years ago

@manalibhutiyani I know but most of the examples are not using a specific image tag, they are pointing to latest which can break examples and/or cause test flakes if those images are updated.

tgraf commented 6 years ago

@aanm OK, so you are referring to non Cilium image tags?

aanm commented 6 years ago

@aanm OK, so you are referring to non Cilium image tags?

@tgraf Correct!

joestringer commented 6 years ago

@aanm Where exactly?

$ git grep "\/latest"
.github/pull_request_template.md:Note: [The runtime testsuite will modify the host it runs on.](http://cilium.readthedocs.io/en/latest/contributing/#testsuite)
Documentation/bpf.rst:  http://suricata.readthedocs.io/en/latest/capture-hardware/ebpf-xdp.html
Documentation/bpf.rst:  (https://prototype-kernel.readthedocs.io/en/latest/networking/XDP/index.html)
Documentation/concepts.rst:.. _AWS VPC Route Tables: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html
Documentation/concepts.rst:.. _GCE Routes: https://cloud.google.com/compute/docs/reference/latest/routes
Documentation/configuration/metrics.rst:`kubernetes_sd_config configuration <https://prometheus.io/docs/prometheus/latest/configuration/configuration/>`_.
Documentation/configuration/metrics.rst:`Prometheus documentation <https://prometheus.io/docs/prometheus/latest/configuration/configuration/>`_
Documentation/install/guides/kops.rst:        curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
Documentation/install/guides/kops.rst:The default Cilium version deployed by ``kops`` is old. Upgrade the Cilium DaemonSet to a newer version with the following commands. The following illustrates the upgrade process for Kubernetes v1.10 since that is the version we created. And we are upgrading Cilium to ``v1.0.3`` but you can replace to any stable version ``vX.Y.Z``. (Please consult `Cilium Upgrade Guide <http://cilium.readthedocs.io/en/latest/install/upgrade/>`_ for more details.)
Documentation/install/guides/kops.rst:Follow the `Cilium getting started guide example <http://cilium.readthedocs.io/en/latest/gettingstarted/minikube/#step-2-deploy-the-demo-application>`_ to test that the cluster is setup properly and that Cilium CNI and security policies are functional.
Documentation/install/upgrade.rst:``true``, it has a etcd endpoint running with `TLS <https://coreos.com/etcd/docs/latest/op-guide/security.html>`_,
Documentation/install/upgrade.rst:and the etcd is set up to have `client to server authentication <https://coreos.com/etcd/docs/latest/op-guide/security.html#example-2-client-to-server-authentication-with-https-client-certificates>`_.
Documentation/kubernetes/install.rst:If etcd is running with `TLS <https://coreos.com/etcd/docs/latest/op-guide/security.html>`_,
Documentation/kubernetes/install.rst:    #. Use certificate authority file, with the name ``ca.crt``, used to create in `etcd <https://coreos.com/etcd/docs/latest/op-guide/security.html#example-1-client-to-server-transport-security-with-https>`_;
Documentation/kubernetes/install.rst:`client to server authentication <https://coreos.com/etcd/docs/latest/op-guide/security.html#example-2-client-to-server-authentication-with-https-client-certificates>`_,
Documentation/policy/troubleshooting.rst:We will use the example from the `Minikube Getting Started Guide <http://cilium.readthedocs.io/en/latest/gettingstarted/minikube/#getting-started-using-minikube>`_ to trace the policy. In this example, there is:
Gopkg.lock:    "tools/clientcmd/api/latest",
README.rst:.. _`Layer 7 Policy`: http://docs.cilium.io/en/latest/policy/#layer-7
README.rst:.. _`Why Cilium?`: http://docs.cilium.io/en/latest/intro/#why-cilium
README.rst:.. _`Getting Started`: http://docs.cilium.io/en/latest/gettingstarted/
README.rst:.. _`Architecture and Concepts`: http://docs.cilium.io/en/latest/concepts/
README.rst:.. _`Installing Cilium`: http://docs.cilium.io/en/latest/install/guides/
README.rst:.. _Contributing: http://docs.cilium.io/en/latest/contributing
README.rst:.. _`BPF and XDP Reference Guide`: http://docs.cilium.io/en/latest/bpf/
README.rst:    :target: http://cilium.readthedocs.io/en/latest/
bpf/include/linux/bpf.h: * https://elixir.bootlin.com/linux/latest/source/include/linux/skbuff.h
contrib/release/README.md:[2]: https://docs.aws.amazon.com/cli/latest/userguide/installing.html
contrib/release/uploadrev:    perror "https://docs.aws.amazon.com/cli/latest/userguide/installing.html"
examples/mesos/README.md:https://cilium.readthedocs.io/en/latest/gettingstarted/mesos
examples/minikube/README.rst:https://cilium.readthedocs.io/en/latest/gettingstarted/minikube
pkg/envoy/envoy/api/v2/core/base.pb.go: // <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
vendor/github.com/go-openapi/runtime/middleware/redoc.go:       // RedocURL for the js that generates the redoc site, defaults to: https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js
vendor/github.com/go-openapi/runtime/middleware/redoc.go:       redocLatest   = "https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js"
vendor/github.com/go-openapi/strfmt/default.go: // HostnamePattern http://json-schema.org/latest/json-schema-validation.html#anchor114
vendor/golang.org/x/text/internal/ucd/ucd.go:// http://www.unicode.org/Public/UCD/latest/ucd/ for example files.
vendor/k8s.io/client-go/tools/clientcmd/loader.go:      clientcmdlatest "k8s.io/client-go/tools/clientcmd/api/latest"

EDIT: Oh, the above is on master. I haven't checked 1.0 / 1.1.

aanm commented 6 years ago

@joestringer you need to grep for either ":latest" or an empty string since an empty string defaults to "latest". For example, consul is the the same as docker.io/library/consul:latest. This requires to grep for all image: in the existing yaml/jsons

test/provision/k8s_install.sh:    docker pull k8s1:5000/cilium/cilium-dev:latest
test/k8sT/manifests/cilium_ds_geneve.jsonnet:    image: "k8s1:5000/cilium/cilium-dev:latest",
test/k8sT/manifests/cilium_ds_autorouting.jsonnet:    image: "k8s1:5000/cilium/cilium-dev:latest",
test/k8sT/manifests/cilium_ds.jsonnet:    image: "k8s1:5000/cilium/cilium-dev:latest",
test/k8sT/Updates.go:           localImage := "k8s1:5000/cilium/cilium-dev:latest"
test/runtime/connectivity.go:                   dockerImage = "busybox:latest"
test/runtime/connectivity.go:                   vm.Exec("docker rm -f $(docker ps --filter ancestor=busybox:latest --format '{{.ID}}')")
test/k8sT/manifests/microscope.yaml:    image: docker.io/cilium/microscope:1.0.1
test/k8sT/manifests/demo_ds.yaml:        image: docker.io/cilium/demo-httpd
test/k8sT/manifests/demo_ds.yaml:        image: docker.io/cilium/demo-client
test/k8sT/manifests/demo.yaml:        image: docker.io/cilium/demo-httpd
test/k8sT/manifests/demo.yaml:        image: docker.io/cilium/demo-client
test/k8sT/manifests/demo.yaml:        image: docker.io/cilium/demo-client
test/k8sT/manifests/external_pod.yaml:    image: docker.io/cilium/demo-client
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/wurstmeister/kafka:1.1.0
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/digitalwonderland/zookeeper
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/cilium/kafkaclient
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/cilium/kafkaclient
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/cilium/kafkaclient
test/k8sT/manifests/kafka-sw-app.yaml:        image: docker.io/cilium/kafkaclient
aanm commented 5 years ago

missing https://github.com/cilium/cilium/blob/92f83a5fb927ca6bc5a0360eea9286faded5c5d0/test/helpers/policygen/models.go#L467

https://github.com/cilium/cilium/blob/92f83a5fb927ca6bc5a0360eea9286faded5c5d0/test/helpers/cons.go#L97

https://github.com/cilium/cilium/blob/45651bcd36cf5e00e8f648e1111da73ee9de50cd/test/k8sT/manifests/netperf-deployment.yaml#L13

https://github.com/cilium/cilium/blob/45651bcd36cf5e00e8f648e1111da73ee9de50cd/test/k8sT/manifests/netcat-ds.yaml#L16

https://github.com/cilium/cilium/blob/45651bcd36cf5e00e8f648e1111da73ee9de50cd/test/k8sT/manifests/kafka-sw-app.yaml#L1-L129

https://github.com/cilium/cilium/blob/2659e45d84e9d91f39af2bf04cb5f127bf8ce76a/test/k8sT/manifests/istio-cilium.yaml#L593

https://github.com/cilium/cilium/blob/eff19251dd1dcb888b6628e88a8acb87de1d940c/test/k8sT/manifests/external_pod.yaml#L1-L13

https://github.com/cilium/cilium/blob/45651bcd36cf5e00e8f648e1111da73ee9de50cd/test/k8sT/manifests/demo_ds.yaml#L1-L70

https://github.com/cilium/cilium/blob/45651bcd36cf5e00e8f648e1111da73ee9de50cd/test/k8sT/manifests/demo.yaml#L1-L92

https://github.com/cilium/cilium/blob/2659e45d84e9d91f39af2bf04cb5f127bf8ce76a/test/k8sT/manifests/bookinfo-v2-istio.yaml#L128

https://github.com/cilium/cilium/blob/2659e45d84e9d91f39af2bf04cb5f127bf8ce76a/test/k8sT/manifests/bookinfo-v1-istio.yaml#L439

eloycoto commented 5 years ago

@aanm I think that this can be closed no?

aanm commented 5 years ago

@aanm I think that this can be closed no?

There are a couple of examples above that aren't solved

joestringer commented 4 years ago

@aanm this has been open for a very long time, please consider closing it or filing a new issue with the remaining gaps.