*IVOA April 2022 Hack-a-thon session Thu. 28 April 2022 13:30 UTC -> on *Simple Cone Search server bundle The idea is to implement a small package to provide a ConeSearch service to be re-used by newcomers to test curation and deployment. An idea could be to start out of Simple Cone Search Creator (SCSC - https://github.com/tboch/Simple-Cone-Search-Creator). Participants: Marco Molinaro, Grégory Mantelet, Hendrik Heinl, Jean-Charles Meunier, Anne Raugh, Theresa Dower, Markus Demleitner, Renaud Savalle *Notes (taken by ThD, GM, MM, HH) The original goal of porting the SCSC to python 3 was already done by HH and Thomas Boch prior to the hack-a-thon itself. Initial discussion brought in ideas on target audience, the tool seems simple enough to not require containerisation to make it a demonstrator and for "marketing" purposes (as explained by AR). Various paths identified for the hack-a-thon itself: 1. modify the code to accept VOTable as input (instead of CSV), allowing direct metadata annotation and service compliance (could be done with a simple conversion of the bundled HIP.csv into a HIP.vot) 2. containerise the service as is, while testing it 3. try the service with a CSV different than the bundled test data Then work started on solution (2). MM proposed to try a podman Linux container. MM worked on his laptop cloning the SCSC repo. Some issues were faced with the Debian python3 minimal container (some solved thanks to MD). To progress the test was done directly on the host machine and, once succeeded in running it, discussion took place on what configuration polishing could be useful to create a clean container. In the meantime, following on his box, GM recreated all of the above steps using a Docker container (whose Dockerfile, completed from the one initially used by MM, is attached here below). A few points came clear in the end * switching to a semi-production http server would simplify container volume mounts & copy (because it can always be up and running and only rely on the ingested data mount point) * better to run the ingestion step independent of the container and simply mount the result (requires some small change to the SCSC repo) Idea remains to allow ingestion run from a VOTable, not only from a CSV, catalogue. *Future steps * try to polish the container setup * discuss results at Newcomers' Feedback session (after the Interop) Note: debian packaged numpy and healpy (SCSC dependencies) while installed on the podman container were not visible, used pip installed ones. *Dockerfile *FROM python:3 * *#RUN apt install python3-numpy python3-healpy *# did not work when importing the library, but with pip yes * *RUN pip install numpy healpy * *ENV OUTPUTDIR=/data/HIP-cs * *RUN mkdir -p /data/scripts *RUN mkdir -p $OUTPUTDIR *RUN mkdir -p /data/tmpdir/cgi-bin * *WORKDIR /data * *COPY cgi/cs.py scripts/ *COPY ingestion/ingest.py scripts/ *COPY test-data/HIP.csv . * *RUN ./scripts/ingest.py --csvfile HIP.csv --outputdir $OUTPUTDIR --rafield _RAJ2000 --decfield _DEJ2000 --idfield HIP * *RUN cp scripts/cs.py tmpdir/cgi-bin/ *RUN cp $OUTPUTDIR/cgi-config.json tmpdir/cgi-bin/ * *WORKDIR /data/tmpdir * *CMD [ "python3", "-m", "http.server", "1234", "--cgi" ] * *# *# docker build -t scs:0.1 . *# docker run -it -p 1234:1234 --name scs scs:0.1 *# go to: http://localhost:1234/cgi-bin/cs.py?RA=0&DEC=0&SR=1 *#