support loading the full CDR graph, featuring all relations:
-cdr_groups
-cdr_tags
-cdr_mos
-cdr_status
-cdr_relations
-cdr_presentity
-cdr_cash_balances
-cdr_time_balances
aside various fixes, NGCP::BulkProcessor::Closure is introduced,
which provides uniform code execution:
-perl code (from YAML)
-perl code (from string)
-javascript (from string)
an identical symbol table is exposed to either
language env, including the SQL connector api.
Change-Id: If10422df33d996fb6a6a6b53d0ead28ea1cef755
the "soap" sql user has no access to the "ngcp" database.
switch to "billing" as a default db to prevent an error when
loading credentials purely from constants.yml
Change-Id: Ia6afd27995784af52ac9beb7ba0d93b353d482d2
to prevent specifying db connections and (unencrypted)
credentials in the config.cfg file, we now support loading
it from constants.yml.
this can be enabled by specifying a path to constants.yml
in config.cfg, ie.
constants_yml = /etc/ngcp-config/constants.yml
particular values can be overloaded, and the order of
precedence is as follows:
1. values in config.cfg
2. values in constants.yml
3. values in provisioning.conf
...
Change-Id: Icc0a57f13e265c3d10bcb697c998e65f2bd6b31d
The variable from the main space gets declared too late when we want to
initialize the variable in the module. Instead switch to use a function
that gets called on demand, which will have the available value at that
time. This removes the need to declare $VERSION in a BEGIN section, as
that is error-prone and easy to forget for new code.
Change-Id: I613698169dddd6d7ccf52b16a0ee9994e84b3543
This should make it easier to see the application version in contrast to
the system modules version. We initialize this at build time from the
package version, and fallback to the module version if the application
has no usable version.
Change-Id: I4b4e1a926aea517b2b3b46261794e187af0c9865
+subscriber provisioning via db:
+delta handling
+create billing subscriber
+create provisioning subscriber
+create/update billing voip_number
+create cli preference
+update billing subscriber
+create voip_dbalias
+create allowed clis preference
+release other subscriber's voip numbers
+delete obsolete dbalieses
+delete obsolete allowed_clis
+create kamailio voicemail user
+create account_id preference
+create cc preference
+check config parameters (billing profile of same reseller..)
+subscriber and contract termination via api
+reprovisioning use-case (upon changed password):
-terminate subscriber
-terminate contract
-create contact, contract, subscriber as normal
+log successful provisions
+limit to imported batch with --batch
+bulk write subscriber preferences directly to db
+barring profile to adm_ncos_ID preference
+peer_aut_* preferences: init, switchover, clear modes
+bulk write via rest-api:
+call forwards from features_define.cfg
+bulk create lnp_numbers
+checks, delta detection for lnp carriers
+changed from txn per record (42min) to txn per block (3min)
+tuning sqlite params to prevent db lock error
with multithreading
+workaround for
https://rt.cpan.org/Public/Bug/Display.html?id=102791
+include .pl and .cfg file types to be installed by the
package
+fixup to skip '0' usernames with --skip-errors
+check for minimum password length
+block rollback issue
+import txns only, stmt was not "finished"
+fix db_do "E0E" return value
+disable multithreading when perldebug
+warning counter (--skip-errors only)
+fixed locking issue
+make the --run=<db-prefix> option work to use
different import slite db's
Change-Id: I82d27b593b1d5194331c1559b022cf677e232550
+provisioning db connectivity
+kamailio db connectivity
+default db connectivity for distributed txn's (XA)
+provisioning db dao's
+kamailio db dao's
+subscriber provisioning via db:
+create contact
+create contract
+create billing_mapping
+create contract_balance
Change-Id: I11de85fa5473e59bd6a8c05e1541a9fbc96c1a9d
+possibility to load ngcp conf files
+db connectivity must be set up explicitly for now..
+start implementing subscriber creation
+main record iteration loop, only reading the dump:
single thread: ~10min
2 threads: ~5 min
4 threads: ~3.5 min
+"check" task
+rest-api requests
+collection processing
+multithreaded processing
+rest item object prototype
Change-Id: I8ee12037b863f878101e53d69b6ae2b44a96780b
+allow #* symbols in setoptionitems in
Features_Define.cfg
+prevent double execution+log properly
+make sure to close all db connections before
forking threads, not only project-specific ones
+per-db dao folder for ipgallery migration project
+start with ngcp db dao's:
+contract_balances
+contracts
+refactor dao/sql processing class
+params hash for method with long arg list
+take out obselete methods
+dedicated unique field option for "insert_record"
+split SqlRecord class into
SqlRecord&SqlProcessor
+dependencies in Build.pl and debian/control
+took out comments from debian/control
+calcualte deltas of Subscriber_Define.cfg imports
+"truncate subscriber import" task
Change-Id: I8eab88319e6a4ba3d5b6ba935e50a56cc1763ad9
+import LNP_Define.cfg
+workingdir folder for rollback logs
+cleanup task
+chained task execution
+dry mode for import
+refactoring txn demaraction for rowblock
db operations
+take out "lock table" impl completely,
too dangerous
+take out DateTime::Format::Excel dependency
for now
+allow '#' comments in Subscriber_Define.cfg
and Lnp_Define.cfg
+check for import sequence
+referential integrity checks for Subscriber_Define.cfg
+task summary messages / rowcounts
+exclude and exclude exception number patterns
for Subscriber_Define.cfg
+ignore_unique options
Change-Id: If1f5094e15828633e212b1a8d651c97816c388b3
+setting to drop duplicate setoptionitems in
Feature_Define.cfg
+adjust Feature_Define.cfg threads vs block size
settings to arrange with a low sqlite busy_timeout
+Subscriber_Define.cfg importer
+resolve garbage collector problems with
log4perl
+refactoring to conform with perl module
lib/folder structure for installation
-runs again
Change-Id: I1821cc0085086684c3c1415be4c262453509045a