Open doomedramen opened 9 years ago
I believe this would need to fixed at the base container level (https://hub.docker.com/r/bgruening/galaxy-stable/)
Hi Christian,
this is probably due to a docker bug (?) with your storage backend. Please change your storage backend to aufs, I suppose you are using devicemapper?
Cheers, Bjoern
@bgruening Christian is not a part of the conversation here. @wookoouk could you please point him here?
Didn't I link him to it in the email?
On Wed, 4 Nov 2015, 15:11 Martin Cech notifications@github.com wrote:
@bgruening https://github.com/bgruening Christian is not a part of the conversation here. @wookoouk https://github.com/wookoouk could you please point him here?
— Reply to this email directly or view it on GitHub https://github.com/galaxyFlavorsGenerators/galaxyFlavorGenerator/issues/22#issuecomment-153756860 .
I do not see the email you sent him.
ah, ok @martenson, I did link him in the email (I cc'd you) so hopefully he will follow the link, if now Ill update him via email on the progress.
Inbox hiding stuff from me. I am sorry for the confusion.
it seems that the bug is fixed when upgrading to postgresql-9.4 (Ubuntu 14.04 has version 9.3). I have reproduced the bug when running docker in interactive mode:
docker run -i -t bgruening/galaxy-stable /bin/bash
service postgresql start
Then I upgraded to postgresql 9.4 with:
apt-get remove -y postgresql-9.3 postgresql-client-9.3
apt-get update
apt-get install -y software-properties-common
add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
wget --quiet -O - https://postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt-get update
apt-get install -y postgresql-9.4
Then it works. I have then tried to bring this into a Dockerfile and used Björn's "galaxy-exom-seq" as starting point:
# CCA Drylab Galaxy
#
# VERSION 0.1
FROM bgruening/galaxy-stable:latest
MAINTAINER Christian Rausch, c.rausch@vumc.nl
ENV GALAXY_CONFIG_BRAND CCA Drylab Galaxy
WORKDIR /galaxy-central
# Enable TTS installation
ENV GALAXY_CONFIG_TOOL_SHEDS_CONFIG_FILE $GALAXY_HOME/tool_sheds_conf.xml
RUN apt-get remove -y postgresql-9.3 postgresql-client-9.3
RUN apt-get update
RUN sudo apt-get install -y software-properties-common
RUN add-apt-repository "deb https://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
RUN wget --quiet -O - https://postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
RUN apt-get update
RUN apt-get install -y postgresql-9.4
# Install samtools and
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name suite_samtools_0_1_19 --panel-section-name SAMTools" \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name freebayes --panel-section-name Freebayes"
# Bowtie & FASTQC
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name bowtie2 --panel-section-name Mapping" \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name fastqc --panel-section-name QualityControl"
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_pysam_0_7_7" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_scipy_0_12" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_matplotlib_1_2" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_bx_python_12_2013"
RUN install-repository \
"--url https://toolshed.g2.bx.psu.edu/ --name variant_select --owner devteam"\
"--url https://toolshed.g2.bx.psu.edu/ --name variant_filtration --owner devteam"
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o bgruening --name deeptools --panel-section-name deepTools" \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name data_manager_bwa_index_builder" \
"--url http://toolshed.g2.bx.psu.edu/ -o devteam --name bwa_wrappers --panel-section-name Mapping" \
"--url http://toolshed.g2.bx.psu.edu/ -o crs4 --name bwa_mem --panel-section-name Mapping"
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name vt_variant_tools --panel-section-name VCFtools" \
"--url http://toolshed.g2.bx.psu.edu/ -o anton --name suite_vcflib_tools_2_0 --panel-section-name VCFtools" \
"--url https://toolshed.g2.bx.psu.edu/ -o iuc --name snpsift_genesets" \
"--url https://toolshed.g2.bx.psu.edu/ -o iuc --name snpsift_dbnsfp" \
"--url https://toolshed.g2.bx.psu.edu/ -o iuc --name snpsift" \
"--url https://toolshed.g2.bx.psu.edu/ -o iuc --name snpsift_dbnsfp_datatypes" \
"--url https://toolshed.g2.bx.psu.edu/ -o iuc --name snpsift_dbnsfp_generic"
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name snpeff --panel-section-name SNPEff"
# Install GEMINI and BED tools
RUN install-repository \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_tabix_0_2_6" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_bedtools_2_19" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_grabix_0_1_3" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name package_gemini_0_10_0" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name data_manager_gemini_database_downloader" \
"--url http://toolshed.g2.bx.psu.edu/ -o iuc --name gemini --panel-section-name VariantSelection" \
"--url http://testtoolshed.g2.bx.psu.edu/ -o iuc --name bedtools --panel-section-name BEDtools"
RUN install-repository "--url http://toolshed.g2.bx.psu.edu/ -o crs4 --name kggseq_variant_selection --panel-section-name VariantSelection"
# Mark folders as imported from the host.
VOLUME ["/export/", "/data/", "/var/lib/docker"]
# Expose port 80 (webserver), 21 (FTP server), 8800 (Proxy)
EXPOSE :80
EXPOSE :21
EXPOSE :8800
# Autostart script that is invoked during container start
CMD ["/usr/bin/startup"]
When I create an image from the Dockerfile with
sudo docker build -t chrisatdocker/galaxy-drylab .
I get:
[...]
* Starting PostgreSQL 9.4 database server
...done.
starting Galaxy
Galaxy could not be started.
More information about this failure may be found in the following log snippet from galaxy_install.log:
========================================
migrate.versioning.repository DEBUG 2015-11-05 11:46:41,528 Config: OrderedDict([('db_settings', OrderedDict([('__name__', 'db_settings'), ('repository_id', 'Galaxy'), ('version_table', 'migrate_version'), ('required_dbs', '[]')]))])
galaxy.model.migrate.check DEBUG 2015-11-05 11:46:41,533 psycopg2 egg successfully loaded for postgresql dialect
Traceback (most recent call last):
File "/galaxy-central/lib/galaxy/webapps/galaxy/buildapp.py", line 64, in paste_app_factory
app = galaxy.app.UniverseApplication( global_conf=global_conf, **kwargs )
File "/galaxy-central/lib/galaxy/app.py", line 54, in __init__
self._configure_models( check_migrate_databases=True, check_migrate_tools=check_migrate_tools, config_file=config_file )
File "/galaxy-central/lib/galaxy/config.py", line 826, in _configure_models
create_or_verify_database( db_url, config_file, self.config.database_engine_options, app=self )
File "/galaxy-central/lib/galaxy/model/migrate/check.py", line 68, in create_or_verify_database
dataset_table = Table( "dataset", meta, autoload=True )
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/sql/schema.py", line 416, in __new__
metadata._remove_table(name, schema)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/util/langhelpers.py", line 60, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/sql/schema.py", line 411, in __new__
table._init(name, metadata, *args, **kw)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/sql/schema.py", line 484, in _init
self._autoload(metadata, autoload_with, include_columns)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/sql/schema.py", line 508, in _autoload
self, include_columns, exclude_columns
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/base.py", line 1958, in run_callable
with self.contextual_connect() as conn:
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/base.py", line 2026, in contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/base.py", line 2065, in _wrap_pool_connect
e, dialect, self)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/base.py", line 1395, in _handle_dbapi_exception_noconnection
exc_info
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/util/compat.py", line 199, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/base.py", line 2061, in _wrap_pool_connect
return fn()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 341, in connect
return _ConnectionFairy._checkout(self)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 648, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 443, in checkout
rec = pool._do_get()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 981, in _do_get
self._dec_overflow()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/util/langhelpers.py", line 60, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 978, in _do_get
return self._create_connection()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 288, in _create_connection
return _ConnectionRecord(self)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 414, in __init__
self.connection = self.__connect()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/pool.py", line 542, in __connect
connection = self.__pool._creator()
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/strategies.py", line 89, in connect
return dialect.connect(*cargs, **cparams)
File "/galaxy-central/eggs/SQLAlchemy-1.0.1-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/engine/default.py", line 377, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/galaxy-central/eggs/psycopg2-2.5.1_9.2.4_static-py2.7-linux-x86_64-ucs4.egg/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
OperationalError: (psycopg2.OperationalError) FATAL: password authentication failed for user "galaxy"
Has anybody a clue why this fails? -- greetings, Christian
The postgresql setup is way more complex than it seems. We are setting default users and passwords and we need to take care that it is possible to store the DB outside of the container. I think it is a bad idea to change this in a child container, as this will break everything what was build in the parents, including the ansible playbook setup. @chrausch have you tried to change your Docker backend? Does this not solve your problem?
Dear Martin (Page),
I have tried the Galaxy Flavor Generator (using http://bit.ly/galaxy-flavor-generator)
I have selected only a few programs (see Dockerfile at the end of my email). When I try to create a docker image with sudo docker build -t galaxyexomfastqcutadapt .
(I am running docker as the galaxy user which is a sudoer)
I get the following error:
[...]
It seems to be a problem with docker and postgresql (https://github.com/nimiq/docker-postgresql93/issues/2)
Any help appreciated!
Best regards, Christian Rausch VU University Medical Center Amsterdam