-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Closed
Closed
Copy link
Labels
Description
The e2e makefile test targets (e.g. make e2e_pilot
) don't work reliability with locally committed changes. The generate_yaml
make target updates PROXY_TAG
in istio.VERSION
with the current repo's latest sha. PROXY_TAG
is then used by the docker image target to download a prebuilt proxy image from a GCS bucket. The problem is that PROXY_TAG
corresponds to the current repo (istio/istio) but that image hasn't been built/pushed from istio/proxy repo.
Minimal steps to reproduce the problem:
$ make generate_yaml
./install/updateVersion.sh -a jasonayoung,09c368f87d02499943324746aa48b20c5649e77d >/dev/null 2>&1
$ make docker.proxy
mkdir -p /home/jasonyoung/work/out/linux_amd64/release/docker_temp
bin/gobuild.sh /home/jasonyoung/work/out/linux_amd64/release/pilot-agent istio.io/istio/pkg/version ./pilot/cmd/pilot-agent
real 0m5.239s
user 0m12.820s
sys 0m1.132s
cp /home/jasonyoung/work/out/linux_amd64/release/pilot-agent /home/jasonyoung/work/out/linux_amd64/release/docker_temp
make: *** No rule to make target '/home/jasonyoung/work/out/linux_amd64/release/envoy-09c368f87d02499943324746aa48b20c5649e77d', needed by '/home/jasonyoung/work/out/linux_amd64/release/docker_temp/envoy'. Stop.
One workaround is to explicitly set PROXY_TAG
to a known good value, e.g.
# Save `PROXY_TAG` before it's overwritten by other make targets and
# download the corresponding proxy image from GCS via `make init`
git checkout istio.VERSION
PROXY_TAG=$(sed 's/export PROXY_TAG="\([0-9a-z]*\)"/\1/;t;d' istio.VERSION)
make init
make generate_yaml
PROXY_TAG=$PROXY_TAG make docker.proxy
jeffmendoza