+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
+delta calculation for lnp,features,featureoptions
+skip prepaid subscribers
+import username+password.txt
-a full file with plaintext instead of hashes
is needed to test..
+import order forced
+import "batch.txt"
-prepared for a single column containing the
numbers to migrate
Change-Id: Icfedda64b635fe872f6f24c005228773d9869b21
+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
+"import" stage continued:
+Dao's/db schema for the sqlite db to map the
Features_Define.cfg content
+project-specific connector pool
+Importing Features_Define.cfg is working,
1.2+4.2 mio. records can be inserted into the temporary
sqlite db in 4min40sec using 4 hyperthread cpus
+importing melita's remaining files from the set will
be less complicated by far
+GetOpt setup
+a stage is a task, multiple tasks can be passed
as args, to be executed at once
+dry mode option
+force option
+project settings file extended
Change-Id: I6a84eb90756ad382dc3e96636220254b5e3b5023
+input/output folder permission
-> process umask fix
+config file loading fallbacks
+refactor to allow custom additions within
"Projects" subdirs
+settings file per project
+make RestConnectors compiling
+make thread states used in thread queue patterns
more verbose/readable
+multithreaded text file processor
-linesplitter, fieldsplitter callbacks
+poc: marpa r2 parsergenerator to parse
Features_Define.cfg by declaring the syntax via BNF
+try to make it work
+evaluating the syntax tree to get a final
row data structure turns out to be slow
+hence moving parsing to processor threads
+evaluating a Features_Define.cfg record into a
perl data structure succeeded.
+class hierarchy for file processors
+main "migrate.pl" layout
Change-Id: I1550e2689bb5640931787fc70e9b5b00432dd0a2
+included Excel::Reader::XLSX, as it was discontinued
+FakeTime
+rest connectors class hierarchy
+ngcp rest api connector
+support for yml config files
+log4perl initialisation refactored
+separate a "working paht" from the application_path,
to be friendly with packaging/installation
Change-Id: If56c27a3c3b8b526b5abc7a29e049a0db6a43ad6