Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add puppet agent settings for provisioning with vagrant. #2407

Closed
wants to merge 2 commits into from

Conversation

lwo
Copy link

@lwo lwo commented Jul 24, 2015

This is an addition to the Vagrantfile to install dataverse and its dependencies on Centos 6, Ubuntu 12 and 14 operating systems. It will use Vagrants provisioning ability with a puppet agent, hence the additional /scripts/puppet and optional /conf/puppet/hieradata. See the documentation in the Vagrantfile on how to start it up.

The actual Dataverse puppet module is pulled in from:
https://github.com/iish/iish-iqss
It does not live at Puppet Force.... not yet anyway.

The puppet module is intended for IT administrators who just want to use puppet to enroll a Dataverse infrastructure. The Vagrantfile addition is to help developers setup their box in a familiar environment.

@pdurbin
Copy link
Member

pdurbin commented Jul 24, 2015

Wow! Or should I say Wouw! You really did it @lwo ! We talked about you creating a puppet module over at #1059 (comment) and you delivered!

I just posted a message on the Google Group about this to see if we can drum up some interest.

I haven't tried it myself but two quick thoughts:

  • the pull request is against the 4.0.1 branch but I'm planning on deleting that branch since 4.0.1 has already been tagged. We're close to releasing 4.1 (I think) so lets try to get this merged into the 4.0.2 branch (which is actually 4.1 per Rename 4.0.2 to 4.1  #2348) or a future branch
  • it would be awesome if we could somehow teach Travis to execute the puppet module: https://travis-ci.org/IQSS/dataverse

@pdurbin pdurbin added the Type: Suggestion an idea label Jul 24, 2015
@pdurbin
Copy link
Member

pdurbin commented Jul 24, 2015

We might want to change this:

-    config.vm.network "forwarded_port", guest: 8983, host: 8983
+    config.vm.network "forwarded_port", guest: 8983, host: 8993

@akio-sone worked on this in #1613 . Otherwise I get a conflict when I run vagrant up because I'm already running Solr on my Mac on port 8983 (the default).

@pdurbin
Copy link
Member

pdurbin commented Jul 24, 2015

I'm sort of blocked because I tried to merge this pull request (locally) into the 4.0.2 branch which is really 4.1 but the app wasn't deployed...

-bash-4.1$ ~/glassfish-4.1/glassfish/bin/asadmin list-applications
Nothing to list.
No applications are deployed to this target server.
Command list-applications executed successfully.

... so the database tables haven't been created so I can't run the reference_data.sql script.

Also, in the existing incarnation of vagrant up there's no need to read and perform steps in a "Post installation setup" section of the Vagrantfile. It's fully automated and you get a working installation on port 8888 per http://guides.dataverse.org/en/latest/developers/tools.html#vagrant . I think I'd like to keep in that way.

Anyway, I'd also like to ping @doprdele about all this puppet stuff. :)

@pdurbin
Copy link
Member

pdurbin commented Jul 24, 2015

Oh, and I forgot to mention that I really like how https://github.com/IISH/iish-iqss/tree/v0.1.0/manifests includes configs for Rserve and TwoRavens! /cc @landreev @tercer @vjdorazio

@pdurbin
Copy link
Member

pdurbin commented Jul 24, 2015

@lwo it was very nice chatting you at http://irclog.iq.harvard.edu/dataverse/2015-07-24 ! To summarize, if you could make my older shell scripts the default (for now) and merge against an active branch (you may want to wait for us to create a 4.2 branch) we'll get this merged in right away.

@lwo
Copy link
Author

lwo commented Jul 24, 2015

@pdurbin: Likewise ! So Okiedokie: I'll ensure the defaults and watch 4.2 branch like a hawk.

@pdurbin
Copy link
Member

pdurbin commented Jul 28, 2015

@lwo I just created a branch for 4.2: https://github.com/IQSS/dataverse/tree/4.2

@pdurbin
Copy link
Member

pdurbin commented Jul 31, 2015

@lwo I had another thought about this pull request that I wanted to run by you. Since I'm sort of insisting that you leave my (cough) lovely shell scripts as the default I'm wondering where the place would be where the Puppet version is the default.

Back in the DVN 3.x days I created a dedicated git repo outside of the DVN 3.x repo where Puppet was the default provisioner in a Vagrant environment. The Puppet code may not be pretty, but it works (last time I checked): https://github.com/dvn/dvn-install-demo . It pulls down a DVN war file from an official release (hosted by SourceForge in those days).

So... I'm wondering if you'd be interested in doing the same. I could even create a repo under the @IQSS organization and give you and others push access if you'd like. Maybe it could even (someday) be the code base from which a module is uploaded to https://forge.puppetlabs.com . It could contain a Vagrantfile and be kept up to date with the latest Dataverse release. It could be sort of a proving ground managing Dataverse with Puppet. People seem excited about your efforts which was added to a proposal for reorganizing the Installation Guide.

Hmm, actually, I just noticed that a Vagrantfile already exists at https://github.com/iish/iish-iqss . That's basically what I'm talking about... having separate repo dedicated to the Puppet module.

On a related note, @bencomp created a repo for Docker: https://github.com/bencomp/dataverse-docker

I hope this makes sense. Please let me know what you think!

@lwo
Copy link
Author

lwo commented Jul 31, 2015

Hello @pdurbin: Did I hear you cough... ? Having a cold are we ?

Yes, that is its purpose: a clean separation of code and packages on one place; an unknown environment on another ; and a stand alone provisioner that does all the hard work while you can drink a cup of tea.

I also think that this module will become dated and isolated in any private organisation's repo - even one so versatile as the IISH (modest cough) as developing it further - as opposed to contributing - may be beyond it's scope.

I think the IQSS repo is where its origin belongs anyway like dogfooding and it is in every bodies interest to be able to just plug and play. It is easier to evolve further in a community driven environment and at the same time close to the core. An IQSS repo could facilitate this... and discipline it with unit tests; a branching strategy; a CI build....

I would be all for it.

@pdurbin
Copy link
Member

pdurbin commented Jul 31, 2015

@lwo ok, just to confirm we are on the same page...

Does that make sense? Please feel free to jump in http://chat.dataverse.org if that's easier!

We have a similar arrangement for https://github.com/IQSS/dataverse-client-python where the code was written by @rliebz from the @CenterForOpenScience . We give him a shout out at http://guides.dataverse.org/en/latest/api/client-libraries.html

Likewise, depending on how @leeper feels, I'm more than happy to create a repo under @IQSS for him to push a Dataverse 4-compatible R client to per ropensci-archive/dvn#23 (comment)

@pdurbin
Copy link
Member

pdurbin commented Jul 31, 2015

@lwo as we discussed I created the https://github.com/IQSS/dataverse-puppet for you and gave you and @gordan-cupac push access. Enjoy your holiday and please let us know if there's anything you need from us!

@scolapasta
Copy link
Contributor

Discussed with @pdurbin; since separate repo was opened to handle the puppet implementation, we're closing this pull request (without merging it).

@scolapasta scolapasta closed this Aug 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants