by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 15 2018 17:56
  • Oct 12 2018 01:00
    uribo starred expfactory/expfactory
  • Sep 29 2018 13:39
    tylerburleigh synchronize #91
  • Aug 27 2018 21:19

    vsoch on docs

    (compare)

  • Aug 27 2018 21:17

    vsoch on master

    adding image back Merge branch 'master' of github… adding remainder of images and 1 more (compare)

  • Aug 27 2018 21:10
    vsoch closed #116
  • Aug 27 2018 21:02
    vsoch opened #116
  • Aug 27 2018 21:02

    vsoch on docs

    adding remainder of images (compare)

  • Aug 27 2018 21:01

    vsoch on docs

    Merge pull request #115 from ex… adding image back Merge branch 'master' of github… (compare)

  • Aug 26 2018 22:14

    vsoch on master

    removing a toooon of docs Merge pull request #115 from ex… (compare)

  • Aug 26 2018 22:14
    vsoch closed #115
  • Aug 26 2018 22:04
    vsoch opened #115
  • Aug 26 2018 22:03

    vsoch on docs

    removing a toooon of docs (compare)

  • Aug 16 2018 18:04
    vsoch commented #76
  • Aug 16 2018 18:02
    earcanal commented #76
  • Aug 15 2018 13:52

    vsoch on master

    Update surveys.md Checkboxes i… Merge pull request #114 from ea… (compare)

  • Aug 15 2018 13:52
    vsoch closed #114
  • Aug 15 2018 13:14
    earcanal opened #114
  • Aug 09 2018 13:11
    vsoch commented #113
  • Aug 09 2018 10:12
    earcanal commented #113
Vanessasaurus
@vsoch
A collection is either optimized for a small number of builds commit at the same time, or many builds triggered at different times (represented by the file change date). It does not support large numbers of triggers at the same time. You have options, @yarikoptic you just need to change those variables.
earcanal
@earcanal
My (previously functional) method of building expfactory docker images on my digital ocean droplet has started failing:
Installed /usr/local/lib/python3.5/dist-packages/MarkupSafe-1.1.1-py3.5-linux-x86_64.egg
Finished processing dependencies for expfactory==3.13
Removing intermediate container 157fd78e2658
 ---> ad0e4e5726d2
Step 21/40 : RUN python3 -m pip install pyaml    pymysql psycopg2
 ---> Running in 4a588c05cddb
Collecting pyaml
  Downloading https://files.pythonhosted.org/packages/33/1a/936074f3492156693fc9e471269fc5747fa3b7d9d7f8a33af054f6b24066/pyaml-19.4.1-py2.py3-none-any.whl
Collecting pymysql
  Downloading https://files.pythonhosted.org/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47kB)
Collecting psycopg2
  Downloading https://files.pythonhosted.org/packages/23/7e/93c325482c328619870b6cd09370f6dbe1148283daca65115cd63642e60f/psycopg2-2.8.2.tar.gz (368kB)
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/psycopg2.egg-info
    writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
    writing pip-egg-info/psycopg2.egg-info/PKG-INFO
    writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
    /usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'project_urls'
      warnings.warn(msg)
    /usr/lib/python3.5/distutils/dist.py:261: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)
    warning: manifest_maker: standard file '-c' not found


    Error: pg_config executable not found.

    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.

    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.

    For further information please check the 'doc/src/install.rst' file (also at
    <http://initd.org/psycopg/docs/install.html>).


    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7ddtwk2u/psycopg2/
You are using pip version 8.1.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
The command '/bin/sh -c python3 -m pip install pyaml    pymysql psycopg2' returned a non-zero code: 1
Any clues?
It looks like I need some install-pg_config-for-python-3-fu
Hmm, no pg_config is part of postgres, and I have that
earcanal
@earcanal
$ which pg_config
/usr/bin/pg_config
earcanal
@earcanal
This doesn't look good
$ python3 -m pip
/usr/bin/python3: No module named pip
earcanal
@earcanal
@vsoch: I get the same build error on my DO droplet (Ubuntu 16.04.5 LTS) and localhost (Ubuntu 18.04.2 LTS), so this looks like a container build issue I can't resolve. Something to do with the container that does the building of experiment containers? Grateful for any advice you can give, as I'm trying to build a container for a study starting tomorrow :-/
Here's my Dockerfile:
FROM vanessa/expfactory-builder:base

########################################
# Configure
########################################

ENV EXPFACTORY_STUDY_ID expfactory
ENV EXPFACTORY_SERVER localhost
ENV EXPFACTORY_CONTAINER true
ENV EXPFACTORY_DATA /scif/data
ENV EXPFACTORY_DATABASE filesystem
ENV EXPFACTORY_HEADLESS false
ENV EXPFACTORY_BASE /scif/apps

ADD startscript.sh /startscript.sh
RUN chmod u+x /startscript.sh

WORKDIR /opt 
RUN git clone -b master https://www.github.com/expfactory/expfactory
WORKDIR expfactory 
RUN cp script/nginx.https.conf /etc/nginx/sites-enabled/default && \
    cp script/nginx.conf /etc/nginx/nginx.conf
RUN mkdir -p /scif/data # saved data
RUN mkdir -p /scif/apps # experiments 
RUN mkdir -p /scif/logs # gunicorn logs 
RUN python3 -m pip install gunicorn
RUN cp expfactory/config_dummy.py expfactory/config.py && \
    chmod u+x /opt/expfactory/script/generate_key.sh && \
    /bin/bash /opt/expfactory/script/generate_key.sh /opt/expfactory/expfactory/config.py
RUN python3 setup.py install
RUN python3 -m pip install pyaml    pymysql psycopg2
RUN apt-get clean          # tests, mysql,  postgres

########################################
# Experiments
########################################

LABEL EXPERIMENT_consent /scif/apps/consent
ADD consent /scif/apps/consent
WORKDIR /scif/apps
RUN expfactory install consent

LABEL EXPERIMENT_debrief /scif/apps/debrief
ADD debrief /scif/apps/debrief
WORKDIR /scif/apps
RUN expfactory install debrief

LABEL EXPERIMENT_simple-demographics-survey-2 /scif/apps/simple-demographics-survey-2
WORKDIR /scif/apps
RUN expfactory install https://github.com/earcanal/simple-demographics-survey-2

LABEL EXPERIMENT_stroop-sas /scif/apps/stroop-sas
WORKDIR /scif/apps
RUN expfactory install https://github.com/earcanal/stroop-sas

ENTRYPOINT ["/bin/bash", "/startscript.sh"]
EXPOSE 5000
EXPOSE 443
EXPOSE 80
Vanessasaurus
@vsoch
Hey be there in like 20 mins! Will help :)
Vanessasaurus
@vsoch
@earcanal i can help debug, but you probably shouldn't deploy anything until https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-11815.html is fixed
especially with participant data
In your debug log it looks like pip is found, it's just an issue with pg_config
I'll pull a previous experiment container and see what we used
Vanessasaurus
@vsoch
okay just reproduced - it's a version error so fixing it up should resolve.
Vanessasaurus
@vsoch
@earcanal I'm making these fixes for you - I'll need some time to work on it
earcanal
@earcanal
@vsoch so am I right in thinking I need to wait for a new https://hub.docker.com/r/vanessa/expfactory-builder ?
I have a reasonable backup plan, which is to just run the tasks from their repos.
This is a lab study, so I can intervene to move Ps through the tasks.
Vanessasaurus
@vsoch
@earcanal I've literally been working on this 5 hours straight
I'm almost done, you just need to be... patient.
earcanal
@earcanal
Sorry, didn't mean to sound impatient. Just checking I understand the issue! I wasn't sure I'd correctly identified what was up when I looked at it earlier.
Vanessasaurus
@vsoch
okay give a try, base was just updated
earcanal
@earcanal
Should I just try to repeat my container build? I have limited battery and have left my power supply in the office so need to use it wisely!
do I need to explicitly pull a new version of the build container?
looks like it ...
earcanal
@earcanal
I still have the same issue after docker pull vanessa/exfactory-builder; docker build --no-cache -t earcanal/study12 .
Vanessasaurus
@vsoch
Let me try, one sec
you spelled the container wrong docker pull vanessa/expactory-builder
docker pull vanessa/expfactory-builder
but the base of your recipe is the :base tag anyway
pull that again
docker pull vanessa/expfactory-builder:base
earcanal
@earcanal
I spelled it correctly when I pulled it ;-)
is it different if I pull ...:base?
Vanessasaurus
@vsoch
So here is what happens - you need to generate the recipe again
yes there are two containers
show me the command you use to generate the dockerfile first
something like $ docker run -v $PWD:/data vanessa/expfactory-builder build test-task
you'll need to run that first
earcanal
@earcanal
docker run -v $HOME/study7:/data \
              vanessa/expfactory-builder \
              build test-task \
              --input build/docker/Dockerfile.https
Vanessasaurus
@vsoch
yep exactly right!
earcanal
@earcanal
That's how I did it originally, but I've been copy/pasting that recipe around for a while and manually editing the experiment section.
Vanessasaurus
@vsoch
Now check out the Dockerfile - it's different by one line
RUN python3 -m pip install pyaml pymysql psycopg2==2.7.5
earcanal
@earcanal
ah, ok