From 8a97b11f8e51f6052468816f54ea432a652bc9af Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 11 May 2015 22:40:05 +0300 Subject: [PATCH 1/4] opensips doker file with all service working --- data/docker/osips/Dockerfile | 32 ++++++++++++++++++++++++++++++++ data/docker/osips/README.md | 11 +++++++++++ data/docker/osips/my.cnf | 3 +++ data/docker/osips/start.sh | 5 +++++ 4 files changed, 51 insertions(+) create mode 100644 data/docker/osips/Dockerfile create mode 100644 data/docker/osips/README.md create mode 100644 data/docker/osips/my.cnf create mode 100755 data/docker/osips/start.sh diff --git a/data/docker/osips/Dockerfile b/data/docker/osips/Dockerfile new file mode 100644 index 000000000..65b126c88 --- /dev/null +++ b/data/docker/osips/Dockerfile @@ -0,0 +1,32 @@ +FROM debian:wheezy +MAINTAINER Radu Fericean, rif@cgrates.org +RUN apt-get -y update + +# set mysql password +RUN echo 'mysql-server mysql-server/root_password password CGRateS.org' | debconf-set-selections && echo 'mysql-server mysql-server/root_password_again password CGRateS.org' | debconf-set-selections + +# install dependencies +RUN apt-get update && apt-get -y install redis-server mysql-server git sudo wget libcurl3-gnutls libgssapi-krb5-2 libldap-2.4-2 librtmp0 libssh2-1 ca-certificates libsasl2-2 libkrb5support0 libkrb5-3 libkeyutils1 libk5crypto3 openssl libssl1.0.0 libjson0 wget adduser libcurl3-gnutls + +# add cgrates user +RUN useradd -c CGRateS -d /var/run/cgrates -s /bin/false -r cgrates + +# install cgrates +RUN URL='http://www.cgrates.org/tmp_pkg/cgrates_0.9.1~rc6_amd64.deb'; FILE=`mktemp`; wget "$URL" -qO $FILE && dpkg -i $FILE; rm $FILE + +#install opensips +RUN URL='http://cgrates.org/pkg/opensips/opensips_2.1.0-1_amd64.deb'; FILE=`mktemp`; wget "$URL" -qO $FILE && dpkg -i $FILE; rm $FILE +RUN URL='http://cgrates.org/pkg/opensips/opensips-json-module_2.1.0-1_amd64.deb'; FILE=`mktemp`; wget "$URL" -qO $FILE && dpkg -i $FILE; rm $FILE + +# init mysql +cd /usr/share/cgrates/storage/mysql && ./setup_cgr_db.sh root CGRateS.org + +# add etc files +COPY /opensips/etc cgrates/etc /etc + +# cleanup +RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +# set start command +CMD /root/code/data/docker/prod/start.sh + diff --git a/data/docker/osips/README.md b/data/docker/osips/README.md new file mode 100644 index 000000000..6e4e3797a --- /dev/null +++ b/data/docker/osips/README.md @@ -0,0 +1,11 @@ +Docker +======= + +From the project root: + +``` bash +# build the image +docker build -t osips data/docker/ospis +# create the container +docker run --rm -itv `pwd`:/root/code --name cgr osips +``` diff --git a/data/docker/osips/my.cnf b/data/docker/osips/my.cnf new file mode 100644 index 000000000..254297241 --- /dev/null +++ b/data/docker/osips/my.cnf @@ -0,0 +1,3 @@ +[client] +user=root +password=CGRateS.org diff --git a/data/docker/osips/start.sh b/data/docker/osips/start.sh new file mode 100755 index 000000000..06114472f --- /dev/null +++ b/data/docker/osips/start.sh @@ -0,0 +1,5 @@ +/etc/init.d/mysql start +/etc/init.d/redis-server start + + +bash --rcfile /root/.bashrc From 5ec5fa2064092475ae4d93cc8f66843cb34fa7f3 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 11 May 2015 22:49:01 +0300 Subject: [PATCH 2/4] no start command --- data/docker/osips/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/data/docker/osips/Dockerfile b/data/docker/osips/Dockerfile index 65b126c88..5c02b4757 100644 --- a/data/docker/osips/Dockerfile +++ b/data/docker/osips/Dockerfile @@ -27,6 +27,5 @@ COPY /opensips/etc cgrates/etc /etc # cleanup RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -# set start command -CMD /root/code/data/docker/prod/start.sh + From 63bcc21a465f9aa909c5eae5bb1c59c397de3d69 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Tue, 12 May 2015 07:45:54 +0300 Subject: [PATCH 3/4] protection against nil ratinginfo --- engine/balances.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engine/balances.go b/engine/balances.go index a06593757..6b5dd5b42 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -420,6 +420,10 @@ func (b *Balance) DebitMoney(cd *CallDescriptor, ub *Account, count bool, dryRun ts.createIncrementsSlice() } //log.Printf("TS: %+v", ts) + if ts.RateInterval == nil { + Logger.Err(fmt.Sprintf("Nil RateInterval ERROR on TS: %+v, CC: %+v, from CD: %+v", ts, cc, cd)) + continue + } maxCost, strategy := ts.RateInterval.GetMaxCost() //log.Printf("Timing: %+v", ts.RateInterval.Timing) //log.Printf("Rate: %+v", ts.RateInterval.Rating) From 73b587e3a095d5b217621db4ef6d96e31d49e025 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Tue, 12 May 2015 10:55:20 +0300 Subject: [PATCH 4/4] remove nil protection for later testing --- data/docker/devel/start.sh | 12 +++++++----- engine/balances.go | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/data/docker/devel/start.sh b/data/docker/devel/start.sh index 349b2a8be..260a0e278 100755 --- a/data/docker/devel/start.sh +++ b/data/docker/devel/start.sh @@ -1,8 +1,6 @@ -export GOROOT=/root/go -export GOPATH=/root/code -export PATH=$PATH:$GOROOT/bin:$GOPATH/bin - -sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis/redis.conf /etc/mysql/my.cnf /etc/postgresql/9.4/main/pg_hba.conf +# edit servers config files +sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis/redis.conf /etc/mysql/my.cnf +echo 'host all all 0.0.0.0/32 md5'>>/etc/postgresql/9.4/main/pg_hba.conf /etc/init.d/mysql start /etc/init.d/postgresql start @@ -16,6 +14,9 @@ ln -s /root/code/src/github.com/cgrates/cgrates /root/cgr cd /usr/share/cgrates/storage/mysql && ./setup_cgr_db.sh root CGRateS.org cd /usr/share/cgrates/storage/postgres && ./setup_cgr_db.sh +#env vars +export GOROOT=/root/go; export GOPATH=/root/code; export PATH=$PATH:$GOROOT/bin:$GOPATH/bin + # build and install cgrates /root/cgr/update_external_libs.sh go install github.com/cgrates/cgrates @@ -28,4 +29,5 @@ cd /usr/share/cgrates/tutorials/fs_evsock/freeswitch/etc/ && tar xzf freeswitch_ cd /root/cgr echo "for cgradmin run: cgr-engine -config_dir data/conf/samples/cgradmin" +echo 'export GOROOT=/root/go; export GOPATH=/root/code; export PATH=$PATH:$GOROOT/bin:$GOPATH/bin'>>/root/.zshrc zsh diff --git a/engine/balances.go b/engine/balances.go index 6b5dd5b42..69d390cc9 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -420,10 +420,10 @@ func (b *Balance) DebitMoney(cd *CallDescriptor, ub *Account, count bool, dryRun ts.createIncrementsSlice() } //log.Printf("TS: %+v", ts) - if ts.RateInterval == nil { + /*if ts.RateInterval == nil { Logger.Err(fmt.Sprintf("Nil RateInterval ERROR on TS: %+v, CC: %+v, from CD: %+v", ts, cc, cd)) continue - } + }*/ maxCost, strategy := ts.RateInterval.GetMaxCost() //log.Printf("Timing: %+v", ts.RateInterval.Timing) //log.Printf("Rate: %+v", ts.RateInterval.Rating)