@atlas4213 encountered the following error when building the db docker image from db/db.Dockerfile. This error can be reproduced by running docker-compose build --no-cache db.
Step 2/10 : RUN apt-get update -qq && apt-get install -y --no-install-recommends ca-certificates curl && rm -rf /var/lib/apt/lists/*
---> Running in ...
W: The repository 'http://apt.postgresql.org/pub/repos/apt stretch-pgdg Release' does not have a Release file.
E: Failed to fetch http://apt.postgresql.org/pub/repos/apt/dists/stretch-pgdg/main/binary-amd64/Packages 404 Not Found [IP: 72.32.157.246 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
The error is caused by the recent removal of Debian stretch (9) from http://apt.postgresql.org/, according to https://wiki.postgresql.org/wiki/Apt.
Note that this error does not affect remote DEV/QA/PRD sites, because they use Amazon Relational Database Service (RDS) rather than the db docker image to host database servers.
To temporarily fix this error:
- If
db docker image has been built, there is no need to change anything. The image cache should still work when building new db docker images.
- If
db docker image has not been built, change the first line of db/db.Dockerfile,
, to FROM postgres:12.
The permanent fix of this error is open for discussions. Following are some potential ones:
- Update PostgreSQL version from 11 to 12 in
db/db.Dockerfile and db/build_tools/build_db.Dockerfile. This will require checking PostgreSQL changes from version 11 to 12, to see whether it would be incompatible with any part of the OpenPedCan-api.
- Keep using PostgreSQL version 11, and remove the
curl installation part in db/db.Dockerfile. This will require extracting the database downloading procedure,
|
if [[ "${DB_LOCATION}" == "local" ]]; then |
|
cd "${BUILD_OUTPUT_DIR_PATH}" |
|
|
|
if [[ ! -f "sha256sum.txt" ]]; then |
|
echo "Error: local file ${PWD}/sha256sum.txt does not exist." 1>&2 |
|
exit 1 |
|
fi |
|
else |
|
if [[ "${DB_LOCATION}" != "aws_s3" ]]; then |
|
echo "Invalid DB_LOCATION ${DB_LOCATION}" 1>&2 |
|
exit 1 |
|
fi |
|
fi |
|
|
|
db_dump_fn="open_ped_can_db_postgres_pg_dump.sql.gz" |
|
|
|
API_DB_BASE_URL="https://s3.amazonaws.com/d3b-openaccess-us-east-1-prd-pbta/open-targets/api/v0.4.0-beta" |
|
|
|
if [[ "${DB_LOCATION}" == "aws_s3" ]]; then \ |
|
mkdir -p "$DB_LOAD_TOOLS_DIR_PATH" |
|
cd "$DB_LOAD_TOOLS_DIR_PATH" |
|
curl "${API_DB_BASE_URL}/sha256sum.txt" -o "sha256sum.txt" |
|
curl "${API_DB_BASE_URL}/${db_dump_fn}" -o "${db_dump_fn}" |
|
fi |
, to a standalone script. Also, PostgreSQL version 11 only will be supported to November 2023, so the PostgreSQL version needs to be updated before then.
cc @sangeetashukla @kelseykeith @ewafula @chinwallaa
@atlas4213 encountered the following error when building the
dbdocker image fromdb/db.Dockerfile. This error can be reproduced by runningdocker-compose build --no-cache db.The error is caused by the recent removal of
Debian stretch (9)from http://apt.postgresql.org/, according to https://wiki.postgresql.org/wiki/Apt.Note that this error does not affect remote DEV/QA/PRD sites, because they use Amazon Relational Database Service (RDS) rather than the
dbdocker image to host database servers.To temporarily fix this error:
dbdocker image has been built, there is no need to change anything. The image cache should still work when building newdbdocker images.dbdocker image has not been built, change the first line ofdb/db.Dockerfile,OpenPedCan-api/db/db.Dockerfile
Line 1 in 0a7046b
FROM postgres:12.The permanent fix of this error is open for discussions. Following are some potential ones:
db/db.Dockerfileanddb/build_tools/build_db.Dockerfile. This will require checking PostgreSQL changes from version 11 to 12, to see whether it would be incompatible with any part of theOpenPedCan-api.curlinstallation part indb/db.Dockerfile. This will require extracting the database downloading procedure,OpenPedCan-api/db/load_db.sh
Lines 34 to 57 in 0a7046b
cc @sangeetashukla @kelseykeith @ewafula @chinwallaa