Sometimes we have 12 failing tests in rateomat-10-prepaid-costs,
being caused by rateomat getting stopped before it finished
processing. Give the prepaid-costs tests some more time to finish.
Change-Id: I525b5da17f46616d9b0ed3a5fc9c13035332f482
the perl statement
do $pl_file;
requires different handling in rate-o-mat launchers
in order to propagate the orignating error properly.
Change-Id: Ie1496236be62c4f6fc5767492ece8607dc179aa0
These variables are defined in testrunner so we should not redefine them
in code, only in case if they aren't defined for some reason.
Change default to 127.0.0.1 as it's the only value which has some
meaning.
Remove commented lines.
Change-Id: Icca03215ff854bb2dffe3d3e308445ef5debb9e8
File /etc/ngcp-config/templates/etc/mysql/my.cnf.tt2 no longer exists
as such nowadays. Also it's configuration option bind-address and no
longer skip_networking.
FTR, our template file ships with:
| bind-address = [% database.local.dbhost %]
So another option might be to adjust database.local.dbhost
configuration inside /etc/ngcp-config/constants.yml. As
we discourage modifying constants.yml, let's mention the
bind-address workaround only instead.
Change-Id: I7cb71fa39386256e6b488aaa8fe676d48772372f
charge the "extra rate" at "extra second" of call time.
while it is included in the value of
"(source|destination)_(carrier|reselller|customer)_cost", it also
has to be recorded explicitly, using
(source|destination)_(carrier|reseller|customer)_extra_rate
dcr_tag.
Change-Id: I016977a7ed54f45a67513595980a14f9847c3a4b
Install mariadb-client instead of mysql-client, otherwise:
> E: Package 'mysql-client' has no installation candidate
Switch dependency from perl-modules to perl, as perl-modules
is not a public interface and we should not depend on
it directly (c) Guillem Jover.
P.S. also sorted list of modules alphabetically and remove
unnecessary docker layers by calling all apt-get in one "RUN".
Change-Id: Iea6ca4096a455dd91f76d6cc4f0f432334de3d9b
For the testsuite we are setting no daemonization, which was previously
disabling pidfile creation, which hardcodes a pathname that requires
root privileges.
Make it possible to specify the pidfile name via a new environment
variable, and to disable it by passing an empty string.
Change-Id: Idcfa7196059c5223452c5ca655ff3fb9c5c9ef88
Fixes: commit e742185f64
perlcritic mistakes some code as using a comma in a hash/array as
one used to separate statements. Reindent and rearrange the code
to hand hold perlcritic.
Change-Id: Ide5b2161b71783fdcdb2117c4864a85d6984e020
tests made in 'docker run' create files with 'root' owner and ws-cleanup
plugin can't delete them after. Fixing umask here to allow files
deletion.
Change-Id: I2de3c74070b0c1d48899bfafdcb8a3d531040b72
File /.dockerinit no longer exists. With Docker versions 1.11 and
1.12 there's /.dockerenv available, though it's not yet sure
whether this will be present in the future too, so check for either
/.dockerenv or a proper cgroup setup inside the docker container.
File /proc/1/cgroup with Docker version 1.12.1 on Debian/jessie
looks like:
| root@4c3a1c6d773c:/# cat /proc/1/cgroup
| 8:freezer:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 7:perf_event:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 6:net_cls,net_prio:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 5:cpuset:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 4:blkio:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 3:cpu,cpuacct:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 2:devices:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
| 1:name=systemd:/docker/4c3a1c6d773c1a5675f24ff58540ff1a290489e7325e1e66ec2c3392aa3a1145
See https://github.com/docker/docker/issues/18355 and
https://github.com/docker/docker/pull/19490 for details.
Change-Id: I2d649f65c8bba50193171ec7fbfd20160ddfc319
* Docker file/image is common for all releases now, so we should not
have release specific components inside. In the same time we mount
whole repo folder to Docker conteiner, so we can start rate-o-mat
from the repo directly and be sure tests and rate-o-mat code are
in sync.
* Add support to start fast/stable/all/some specific tests only
Change-Id: I992190ecb1a7268801a05a0b63397a23c07b352b
+added contract_balance_id's
+fix: get_call_costs calculates total call costs
for cash_balance_interval only if no balance
is available. which is not mandatory for
post-paid *still under discussion*
REMOVED FOR THIS CHANGE
+option to shuffle cdr batch to reduce lock waits
when running multiple rateomats against same cdr
table
+fix: free cash carry over calculation was
wrong (typos only)
+fix: provider profile selection
is now caller-IP based, so roaming should be
properly supported here now as well
+reworked and cleanup provider "info" retrieval
(billing profile and package, balance records)
+balance underrun checks that are performed after
call costs were calculated will skip applying
subscriber lock and adding underrun profile mappings,
if preapid && out direction && a call cost record
from swrate exists. this should avoid polluting
the billing mappings table in the first.
+.t now use run_rateomat_threaded to work with
perl's "prove"
+update/create statements are modified to be make
it safe if multiple rateomat's are processing
the same accounting.cdr table at the same time:
UPDATE CDR .. WHERE id = ?
AND rating_status = 'unrated'"
+rateomat termination behaviour: do not exit
upon the first but a given number of failed cdrs
+reworked prepaid cost table preloading
+option to disable prepaid preference flag update
+prepared to take prepaid flag values from cdr,
not profile
+prepaid costs processing testcase
+onnet full-scale testcase
+offnet full-scale testcase
+test case order and comments
+rateomat parallel execution testcase
+fix missing source/destination_lnp_prefix columns
for duplication stmt
+writing profile package id, contract balance id, cash
balance before/after, free time balance before/after
fields to EAV tables
+extended onnet testcase to verify written EAV values
+extended offnet testcase to verify written EAV values
+freetime testcase
Change-Id: I3b08b2bb04adf2272d9400048ce45e3b709e7971
btw. it was difficult to find a setup to really
make it split the cdrs, and not getting the
"inconsistent rating profile fragements" error.
so using RATEOMAT_SPLIT_PEAK_PARTS=1 has to be
used with care definitely.
Change-Id: If3e3376fd9cab7de31a3ace3e9e6fa1e1a0f9b12
basically, the fix means to reload contract balance
rows just when they were created, in order to have
the mysql 'local' timezone applied through the
statements' UNIX_TIMSTAMP function.
+get rid of perl's DateTime
+test cases added
Change-Id: Ib6611242c941809bed03d33523b2ac5eeef580b4