Skip to content

Commit

Permalink
Merge pull request #41 from gossiperl/lager-setup
Browse files Browse the repository at this point in the history
Add lager setup, add ability to launch vagrant box from release. Ensu…
  • Loading branch information
radekg committed Jun 8, 2015
2 parents 22d1969 + 8372b30 commit 0e7a380
Show file tree
Hide file tree
Showing 9 changed files with 73 additions and 20 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -3,6 +3,7 @@
*.beam
.rebar
.eunit
bin/releases/*.deb
bin/rebar-src
deps/**
ebin/**
Expand Down
41 changes: 29 additions & 12 deletions Vagrantfile
@@ -1,11 +1,18 @@
from_release = true

Vagrant.configure("2") do |config|

config.vm.define "gossiper1" do |machine|
machine.vm.network "private_network", ip: "192.168.50.100"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
if from_release == false
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
else
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-from-release.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-from-release.sh"
end
machine.vm.provision :shell, :inline => "ifconfig eth1 inet6 add 2001:0db8:0:f101::1/64"
machine.vm.box = "precise64"
machine.vm.box_url = "http://files.vagrantup.com/precise64.box"
Expand All @@ -16,10 +23,15 @@ Vagrant.configure("2") do |config|

config.vm.define "gossiper2" do |machine|
machine.vm.network "private_network", ip: "192.168.50.101"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
if from_release == false
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
else
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-from-release.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-from-release.sh"
end
machine.vm.provision :shell, :inline => "ifconfig eth1 inet6 add 2001:0db8:0:f101::2/64"
machine.vm.box = "precise64"
machine.vm.box_url = "http://files.vagrantup.com/precise64.box"
Expand All @@ -30,10 +42,15 @@ Vagrant.configure("2") do |config|

config.vm.define "gossiper3" do |machine|
machine.vm.network "private_network", ip: "192.168.50.102"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
if from_release == false
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-init.sh"
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-influx.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-influx.sh"
else
machine.vm.provision :shell, :inline => "chmod +x /vagrant/bin/vagrant-from-release.sh"
machine.vm.provision :shell, :inline => "/vagrant/bin/vagrant-from-release.sh"
end
machine.vm.provision :shell, :inline => "ifconfig eth1 inet6 add 2001:0db8:0:f101::3/64"
machine.vm.box = "precise64"
machine.vm.box_url = "http://files.vagrantup.com/precise64.box"
Expand Down
10 changes: 10 additions & 0 deletions app.config
@@ -0,0 +1,10 @@
[
{lager, [
{handlers, [
{lager_console_backend, info},
{lager_file_backend, [{file, "/var/log/gossiperl/error.log"}, {level, error}, {size, 10485760}, {date, "$D0"}, {count, 5}]},
{lager_file_backend, [{file, "/var/log/gossiperl/console.log"}, {level, info}, {size, 10485760}, {date, "$D0"}, {count, 5}]}
]},
{crash_log, "/var/log/gossiperl/crash.log"}
]}
].
3 changes: 2 additions & 1 deletion bin/gossiper-run-internal.sh
Expand Up @@ -13,4 +13,5 @@ erlc -o ./ebin/
erl \
-pa ./deps/*/ebin \
-pa ./ebin/ \
-eval "gossiperl_run:start()."
-eval "gossiperl_run:start()." \
-config /vagrant/app.config
Empty file added bin/releases/.gitkeep
Empty file.
19 changes: 19 additions & 0 deletions bin/vagrant-from-release.sh
@@ -0,0 +1,19 @@
#!/bin/bash

SCRIPT_DIRECTORY=$(dirname "${BASH_SOURCE[0]}")
RELEASE=1.3.5

mkdir -p /var/log/gossiperl
mkdir -p /etc/gossiperl

if [ ! -f /etc/gossiperl/multicast ]; then
echo "Enabling multicast"
ifconfig eth1 multicast
route add -net 224.0.0.0 netmask 224.0.0.0 eth1
echo $(date) >> /etc/gossiperl/multicast
else
echo "Multicast already enabled"
fi

apt-get update && apt-get install -y curl jq
dpkg -i $SCRIPT_DIRECTORY/releases/gossiperl-${RELEASE}_all.deb
2 changes: 1 addition & 1 deletion rebar.config
Expand Up @@ -11,7 +11,7 @@
{cowboy, ".*",
{git, "https://github.com/extend/cowboy.git", "HEAD"}},
{gossiperl_core, ".*",
{git, "https://github.com/gossiperl/gossiperl-core-erlang.git", {tag, "1.1.0"}}},
{git, "https://github.com/gossiperl/gossiperl-core-erlang.git", {tag, "1.1.1"}}},
{erflux, ".*",
{git, "git://github.com/gossiperl/erflux.git", {tag, "version-1.0.1"}}},
{hackney, ".*",
Expand Down
16 changes: 10 additions & 6 deletions rel/files/sys.config
@@ -1,11 +1,15 @@
[
%% SASL config
{sasl, [
{sasl_error_logger, {file, "log/sasl-error.log"}},
{errlog_type, error},
{error_logger_mf_dir, "log/sasl"}, % Log directory
{error_logger_mf_maxbytes, 10485760}, % 10 MB max file size
{error_logger_mf_maxfiles, 5} % 5 files max
]}
{sasl_error_logger, false}
]},
{lager, [
{handlers, [
{lager_console_backend, info},
{lager_file_backend, [{file, "/var/log/gossiperl/error.log"}, {level, error}, {size, 10485760}, {date, "$D0"}, {count, 5}]},
{lager_file_backend, [{file, "/var/log/gossiperl/console.log"}, {level, info}, {size, 10485760}, {date, "$D0"}, {count, 5}]}
]},
{crash_log, "/var/log/gossiperl/crash.log"}
]}
].

1 change: 1 addition & 0 deletions src/gossiperl_app.erl
Expand Up @@ -29,6 +29,7 @@

%% @doc Starts gossiperl application.
start(_Type, _Args) ->
_ = lager:start(),
configure_from_file(),
gossiperl_sup:start_link().

Expand Down

0 comments on commit 0e7a380

Please sign in to comment.