Open Jean-Baptiste-Lasselle opened 4 years ago
export DESIRED_VERSION=TEST2_REPODUCTION_ISSUE_1
git clone git@github.com:pegasus-io/this-is-gravitee.git gravitee-earthling-issues
cd gravitee-earthling-issues/
git checkout ${DESIRED_VERSION}
./test-issue-1.sh
TODO :
Note to the reader : I also ran the sudo sysctl -w vm.max_map_count=262144
on the docker host, before running all those tests.
The Issue, and its Context
How to reproduce the issue
You 2 possibilities, to reproduce the issue :
0.0.1
release, which will give you a proof that this issue is raised on a recipe D. Brassely and myself verified it worked, see this (if you dissectoperations.sh
, and itsmidnightSpecial
function, you will verify that fact) :./test-issue-1.sh
is, compared to./operations.sh
) :The Context, and the Issue stdout
22 days ago from today, I made the
0.0.1
release, and it worked. I know that back then when I tested, 22 days ago, my release, I used an image that I docker pulled at least the day before, that is, at least 23 days ago. You can also check that my release0.0.1
is based onlatest
version tag for docker images. And it was my mistake, to release 0.0.1 , based on alatest
tag, instead of replacing it with a non-ambiguous semver tag.22 days ago, a new image was pushed, and tagged latest, 22 days ago, which might explain why today, my 0.0.1 release fails at provisioning the full
Gravitee
stack. That is the case for example for :graviteeio/management-api
: https://hub.docker.com/layers/graviteeio/management-api/latest/images/sha256-b26da4ea3e013a0c349dad137e9517336716d873ae9b638f3b6fb7d0be2c0e79?context=explorerelease
0.0.1
today fails, with the following errors, though it worked a few weeks ago :./operations.sh: line 104: docker-composer: command not found
error message is not important here : this command is just a typo in the./operations.sh
script, and it is the last error, so that the previous error will remain, even if that little typo is fixed.traefik
never starts, since itdepends_on
those two services :apim_gateway
: that's the Gateway service ofGravitee APIM
, based off of the OCI imagegraviteeio/gateway:latest
from Docker Hub :apim_management
: that's the API service ofGravitee APIM
, based off of the OCI imagegraviteeio/management-api:latest
from Docker Hub.PathOutside
, to a Path inside the container, sayPathInside
, and :PathInside
path does not exist inside container,PathOutside
path does not exist inside container,PathOutside
andPathInside
path do not exist outisde, and inside container, respectivley. We do have that case, since, you can guess, it was easy for me to check thatPathOutside
does exists.inode
which is afile
, and not adirectory
inode
which is adirectory
, and not afile
PathInside
(in this case, you will check reporducing the issue, thatPathInside=/etc/ssl/certs/java/cacerts
) :My Diagnosis up til now
the Gravitee APIM Gateway
docker run -it --name testjbl_apim_gw graviteeio/gateway:latest ls -allh /etc/ssl/certs/java/cacerts docker run -it --name testjbl_apim_gw graviteeio/gateway:latest stat /etc/ssl/certs/java/cacerts
Inside the
apim_management
service :PathInside=/etc/ssl/certs/java/cacerts
exists ? Yes.PathInside=/etc/ssl/certs/java/cacerts
matches a file ? Yes.PathInside=/etc/ssl/certs/java/cacerts
matches a directory ? No.Inside the
apim_gateway
service :Does
PathInside=/etc/ssl/certs/java/cacerts
exists ? Yes.Does
PathInside=/etc/ssl/certs/java/cacerts
matches a file ? Yes.Does
PathInside=/etc/ssl/certs/java/cacerts
matches a directory ? No.Outside, on the docker host :
PathOutside=$PWD/gravitee/cacerts
exists ? Yes (reproduce the issue, and run thels $PWD/gravitee/cacerts
commandPathOutside=$PWD/gravitee/cacerts
matches a file ? No.PathOutside=$PWD/gravitee/cacerts
matches a directory ? Yes.My first attempt to fix the issue on my own
Ok, so now, I know, that
PathOutside
is a directory, while/etc/ssl/certs/java/cacerts
is a file. That is a first, and easy issue to solve. All I have to do, is to replace, indocker-compose.yml
,"$PWD/gravitee/cacerts:/etc/ssl/certs/java/cacerts"
, by"$PWD/gravitee/:/etc/ssl/certs/java/"
.0.0.1
release was rotten by that issue.Gravtiee APIM
faisl to connect toelasticsearch
:Gravitee APIM API/management
is trying to connect toelasticsearch
, using192.168.16.5:9200
, but the problem is, that the192.168.16.5
IP address doe snot exists in my LAN (actually, it is my Orange Box, just a French ISP)docker-compose logs -f elasticsearch
elasticsearch
issue, out of executing this :Gravitee APIM
's REST API can connect Elasticsearch, now :Enjoy
CTO
once again , that it was, me, who made a rotten release,CTO
, and my whole Team, lose 2 days, and that is the lesser worst case (losing just 2 days)CTO
doubt about the solutions I advise him to take :So once again, Thank you Gravitee Team, for your excellent, rigourous work.