IQSS logo

IRC log for #dataverse, 2018-10-31

Connect via chat.dataverse.org to discuss Dataverse (dataverse.org, an open source web application for sharing, citing, analyzing, and preserving research data) with users and developers.

| Channels | #dataverse index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
08:01 jri joined #dataverse
08:09 juancorr joined #dataverse
08:23 andrewSC joined #dataverse
08:46 MrK joined #dataverse
09:25 icarito[m] joined #dataverse
10:22 poikilotherm joined #dataverse
10:44 pdurbin poikilotherm: morning. So are you blocked on deciding between Glassfish and Payara?
10:57 poikilotherm Morning @pdurbin :-)
10:57 poikilotherm A bit... ;-)
10:57 poikilotherm As long as no one cries out loud, I would go for Payara for now, let EE4J settle down and switch to them later on.
10:58 poikilotherm As I said yesterday: I assume that switch is much less of a pain than the hole step forward
11:01 pdurbin You mean that moving from 4 to 5 will probably be more difficult than moving from Glassfish to Payara?
11:01 poikilotherm Yepp
11:05 pdurbin Ok. And it sounds like you'd rather move to Payara 5 than Payara 4 (and then Payara 5 later).
11:10 poikilotherm Yes - that's because of EOL for Payara / Glassfish 4
11:11 poikilotherm Doesn't make sense to bet on that horse... ;-)
11:14 pdurbin Sure. I'm just thinking of smaller steps. And Oracle Glassfish 4 is already EOL, I'd say.
11:18 poikilotherm Yes it is ;-)
11:18 poikilotherm Oh by the way - there is no EE4J Glassfish 5 docker image available ATM
11:19 poikilotherm So relying on Payara seems to be the only option at least if we don't want to wait another 3-4 months
11:19 pdurbin That December date we saw.
11:28 poikilotherm I will give this a quick first shot using the available Payara 5 docker container. This seems to be a more lightweight approach than what I saw in dataverse-docker. I will also try to use the fabric8io docker maven plugin to build the images and have the ability to use the watch function for code rebuilds, etc.
11:29 poikilotherm Just getting my hands dirty to have a proper image plus surrounding services (database, etc) via a simple maven command
11:29 poikilotherm IMHO this is a very clean approach for local development and future integration tests based on Docker
11:30 poikilotherm If you guys dislike it, at least I learned something from it ;-)
11:31 pdurbin Starting with a Docker image of the app server sounds way better (and smaller) than what we're doing now. Thanks!
11:32 poikilotherm Most certainly this can be reused in dataverse-docker, as this image could be a "common ground" base image for application itself
11:33 pdurbin Sure.
11:33 pdurbin For local development, would I be able to push small changes into the running Docker image?
11:33 poikilotherm https://dmp.fabric8.io/#docker:watch
11:33 poikilotherm ;-)
11:34 pdurbin nice, sounds great
11:36 pdurbin This reminds me of https://blog.openshift.com/fast-iterative-java-development-on-openshift-kubernetes-using-rsync/ which I link to from the containers page in our dev guide.
11:37 poikilotherm Yepp. But this needs a full blown openshift / kubernetes locally. IMHO this is overkill. If this works by just installing docker, this much more lightweight.
11:37 poikilotherm +is
11:38 pdurbin I like that article because it was written by danmcp: http://irclog.iq.harvard.edu/search.pl?channel=dataverse&nick=danmcp
12:08 Jim__ joined #dataverse
12:16 Jim__ Good Morning... pdurbin re 5251 - do you want the perhaps-not-best-practice stuff from the google doc in the guides? I was assuming that things like this might still be best if 'unofficial'/caveat emptor...
12:43 pdurbin_m joined #dataverse
12:43 pdurbin_m Jim__: hi! typing with thumbs
12:44 pdurbin_m I don't want to just copy and paste all of it into the guides.
12:44 pdurbin_m I want to userstand the needs.
12:44 pdurbin_m the deficiencies
12:45 pdurbin_m how we can make the metadata system better
12:45 pdurbin_m I'm fine with adding some work arounds to the guides.
12:46 pdurbin_m but I'd also like to see new GitHub issues having to do with how improvements can be made
12:46 pdurbin_m I hope all that makes sense.
12:52 Jim__ ~yeah. I'm not arguing for putting work-arounds in the guides, just wondering if the google doc as a whole should be deprecated, versus perhaps noting that much of the info has been moved to official guides...
13:13 donsizemore joined #dataverse
13:19 poikilotherm pdurbin: is it correct that the setup-all.sh script is optional at least for a development instance?
13:34 poikilotherm Ok sry for the noise - seems that setup-all.sh is used anyway.
13:41 pdurbin poikilotherm: no problem. You're right, not optional.
13:42 poikilotherm I'm not sure if I like that the container has the configuration baked in at built time.
13:43 pdurbin Jim__: I'm not opposed to the community having a place to share workarounds and perhaps-not-best practices. I'm not sure that Google doc is the best place now that the Dataverse project is making an attempt to officially document our crazy metadata system.
13:43 pdurbin poikilotherm: what configuration?
13:45 poikilotherm Ah sry - that won#t work anyway - the setup-all.sh needs to run at boot time, because otherwise there is no database and index
13:46 poikilotherm And all those pretty curl's don't work
13:47 poikilotherm So actually it is alright to leave that out at build time, but there needs to be some script piping that stuff inside
13:47 poikilotherm At container start I will need to have proper configuration of glassfish within the entrypoint script, so dataverse get's available in the first place
13:48 pdurbin ok
13:48 pdurbin poikilotherm: are you calling the "install" Perl script?
13:48 poikilotherm Maybe I'll make a drawing of that :-D
13:48 poikilotherm Not yet, but was not planning to do so...
13:49 pdurbin Ok. donsizemore doesn't call "install" from https://github.com/IQSS/dataverse-ansible
13:49 pdurbin But the Docker/Kubernetes/OpenShift work by Red Hat interns involved hacking on "install".
13:50 poikilotherm *brrr* IMHO the install script is quite huge and difficult to maintain
13:50 pdurbin Yeah.
13:50 poikilotherm I thought about splitting it up in different smaller chunks at places...
13:50 pdurbin Speaking of diagrams, one of the Red Hat interns (Charles) made this diagram: https://user-images.githubusercontent.com/25762021/41736416-652879ee-755a-11e8-8969-b88c4c165809.png
13:51 pdurbin That's from https://github.com/IQSS/dataverse/issues/4764
13:51 pdurbin He added an "init container". Do you know what that is? I didn't.
13:51 poikilotherm Sure. https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
13:52 pdurbin yeah, that thing
13:59 poikilotherm But that is not usable with a plain docker setup
13:59 poikilotherm Or at least it makes stuff complicated ;-)
14:00 pdurbin poikilotherm: you know about docker-aio, right? That's our plain Docker setup.
14:00 poikilotherm Yepp :-)
14:00 pdurbin cool
14:01 poikilotherm I'm aware of it but want to make a more flexible approach. docker aio is not really reusable within a kubernetes / ... scenario
14:01 pdurbin pameyer contributed docker-aio after he saw all the openshift activity. He was telling me that you don't need all of that, that you can spin up Dataverse in a single container with just Docker. Then he made a pull request. :)
14:01 poikilotherm But of course I take inspiration from that...
14:02 pdurbin Right, and Slava has taken inspiration from it for dataverse-docker.
14:02 pdurbin See? https://github.com/IQSS/dataverse-docker/pull/9/files :)
14:03 poikilotherm ;-)
14:20 poikilotherm I just had a look at the openshift stuff they came up with. Do you know why they used the AIO approach, too?
14:21 poikilotherm (Just to be sure: they crafted the dataverse-glassfish config, right?)
14:21 pdurbin They is me and I didn't. I'm confused. I was heavily inspired by https://github.com/nds-org/ndslabs-dataverse which is older than docker-aio.
14:22 pdurbin poikilotherm: for the timeline of what happened when, please see https://github.com/IQSS/dataverse/issues/4665#issuecomment-391926503
14:24 poikilotherm Thx! :-)
14:26 pdurbin The timeline helps? :)
14:34 pameyer joined #dataverse
14:34 poikilotherm Ok, read through it, thx.
14:37 pdurbin Sure. I can explain what happened next if you're curious. :)
14:37 poikilotherm So this actually IS the stuff that a lot of people already worked on :-)
14:37 pdurbin Yes, Craig Willis from NDS was the first to dockerize Dataverse.
14:37 pameyer as one of the people, it's felt more like fumbling around in the dark
14:38 pdurbin yes, fumbling :)
14:38 pdurbin lots of prayer, crying
14:38 pdurbin maybe that's just me
14:38 pameyer nowhere near ready for a PR yet, but I was able to get a straight docker setup where the installer/setup scripts don't need to run on container start
14:38 pdurbin gnashing of teeth
14:38 donsizemore @pdurbin yeah, the ansible role did a bunch of what install did, so it calls the helper scripts instead
14:39 poikilotherm Basically all approaches made till today always used a CentOS 7 base image and build on that. What I would like to try is using the payara5 container to build a rather tiny layer of war and deps on it.
14:39 pameyer one possible drawback of using a straight app server container is that dv needs some fiddling inside it prior to install
14:39 poikilotherm And yes @pameyer I am very open for that approach not to run install scripts on startup (with an exception of the glassfish config)
14:39 pdurbin pameyer: is that true? You may have been using CentOS 6 originally. But this is a distinction without a difference. :)
14:40 pameyer yeah, switch from cent6 to cent7 was pretty minimal
14:40 poikilotherm As far as I can see, the fiddling is only about the payara 4 stuff
14:40 poikilotherm (glassfish 4)
14:40 pameyer haven't been brave enough yet to try alpine based
14:40 pameyer I vaguely remember donsizemore fiddling w\ payara a while back - but could be remembering wrong
14:40 poikilotherm I would like to try to get to Payara 5 and a smaller docker approach in one wipe.
14:41 poikilotherm You're right, pdurbin did so, too.
14:42 pameyer I've personally had relatively bad luck trying to make big changes in one shot - but I get the sense you've got more java experience than me
14:43 donsizemore i was trying a simple drop-in replacement: payara 5 for glassfish 4, and got decently far but there were dependency problems
14:44 * poikilotherm ready to try my best to sort that out
14:44 donsizemore @poikilotherm my contributions are well-intentioned but best-effort
14:45 poikilotherm Mine too :-D
14:46 pameyer that's a good phrase :)
14:58 pdurbin heh
14:59 pdurbin poikilotherm: yes! A thin layer of just the war and deps on top of a glassfish or payara layer please!
15:28 poikilotherm I'm afraid by using the app server container image approach I can't use the hollow concept in an easy way. Thus the resulting war will always be around 200MB because of the HUGE dependency base.
15:28 poikilotherm Thus the docker image will always be around that size :-/
15:29 poikilotherm If we want that smaller, we need to go with payara micro and their approach of hollow jar + application war
15:32 poikilotherm Of course that approach is more complex and would again spread the size of the step. So maybe better step back and just leave the WAR as is, as this can be used for the "classic" deployments, too.
15:32 poikilotherm (And most certainly that would be something you guys still need and want, right?)
15:33 poikilotherm It's not perfectly "thin", but seems to be a good start, right?
15:35 poikilotherm pdurbin - we have two days of holidays here in Germany from as of tomorrow, so I will continue on this next week.
15:39 poikilotherm Oh and guys - I could of course create a second maven profile generating a thin WAR and copy the deps via Dockerfile inside the container. That is kind of creating a "hollow" approach
15:39 poikilotherm It is not perfectly portable, but might be a third way in between
15:48 poikilotherm Any comments very much appreciated :-) Will read up the logs later, have to go now to pick up kids and use some pumpkins for scaring the crap out of 'em... ;-)
15:48 poikilotherm Cu guys
16:33 donsizemore joined #dataverse
16:54 Jim__ pdurbin - so what's the action w.r.t. 5251/google doc? I'd like to keep the sense of some of the notes being plausibly deniable but that could mean removing the stuff you've put in the guides and focusing it on the unofficial
16:54 Jim__ or we could create another guide section, or ...
17:09 nanoz joined #dataverse
17:13 pdurbin_m2 joined #dataverse
17:14 jri joined #dataverse
17:14 pdurbin_m2 nanoz: welcome! You must have seen my reply at http://irclog.greptilian.com/friendlyjava/2018-10-31 :)
17:15 pdurbin_m2 Jim__: sorry, typing with thumbs again. Code no work. Need walk.
17:15 nanoz yes
17:16 Jim__ :-) been there done that...
17:18 Jim__ and no rush - just wanted to make sure nothing gets dropped.
17:22 pdurbin_m2 nanoz: do you need an issue to work on?
17:29 nanoz i need someone time to explore
17:30 pdurbin_m2 That's fine. We have a lot of issues. :)
17:31 pdurbin_m2 I have a "one line fix" issue in mind.
17:39 pdurbin Jim__: I'm not sure I'm following what you're saying but we have a Halloween party in 20 minutes and then meetings the rest of the afternoon.
17:40 nanoz what is the label?
17:41 nanoz for `one line fix`
17:41 pdurbin nanoz: no label but here's the issue: https://github.com/IQSS/dataverse/issues/5246
17:57 pdurbin Jim__: and the walk helped a lot, by the way. :)
18:06 pdurbin Jim__: since you were asking about release notes, please check this out: https://github.com/IQSS/dataverse/commit/5c2ed68
18:40 Jim__ OK - Happy Halloween! I added comments on the commit and we can chat about the other stuff some other time...
18:51 pdurbin Jim__: thanks! I just commented on your comments. :)
22:01 pameyer pdurbin: fun fact, from what I can see https://schema.org/Dataset doesn't have *any* required fields - which might be why it was impossible to get the validators to fail
22:02 pdurbin I can get validators to fail. If you mispell "description" or whatever.
22:03 pameyer that's better than I expected
22:07 pdurbin pameyer: "you will find that these tools (and the underlying spec) can be extremely accommodating": https://github.com/IQSS/dataverse/blob/5c2ed685f66629989fc93c3bbf68dd22453fbaa1/src/main/java/edu/harvard/iq/dataverse/export/SchemaDotOrgExporter.java#L32
22:08 pameyer that's a very diplomatic way of phrasing it
22:08 pdurbin :)
22:08 pdurbin "come crash on my couch! it's all good"
22:10 pdurbin "Strings can become objects or arrays, for example, and Honey Badger don't care."
22:12 pameyer now I'm picturing a startup's error page having "Honey Badger doesn't care" :)
22:12 pdurbin heh, he don't!

| Channels | #dataverse index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

Connect via chat.dataverse.org to discuss Dataverse (dataverse.org, an open source web application for sharing, citing, analyzing, and preserving research data) with users and developers.