This page shall provide a guide for updating systems after a new release (merge in master) was made.
VMs PreMerge Checks
php artisan migrate php artisan module:migrate php artisan db:seed php artisan module:seed php artisan nms:contract daily php artisan provvoip:phonenumber # GUI CHECKS # (1) Contract & Modem Save # (2) Topography # (3) HFC NetElement
Testsystem Update Checks
this should be done on the test environment before we merge dev/release into master and update our live systems
Testflow
php artisan migrate php artisan module:migrate php artisan db:seed php artisan module:seed php artisan nms:contract daily php artisan provvoip:phonenumber # Check Modem Analysis Pages for Errors! # Check ERD & Topography for Networks! # show all contracts that have network_access=0 or contract-/modem-network-access/phonenumber-active differs [db_lara]> select c.id, c.firstname, c.lastname, c.network_access as Cnw_access, m.network_access as Mnw_access, p.username, p.active from contract c, modem m, mta mta, phonenumber p where c.id=m.contract_id and p.mta_id=mta.id and mta.modem_id=m.id and c.deleted_at is null and m.deleted_at is null and mta.deleted_at is null and p.deleted_at is null and (c.network_access!=m.network_access or c.network_access!=p.active or m.network_access!=p.active or c.network_access=0); # check if all configfiles have Datarate assigned - both outputs should be the same # ls -l /tftpboot/cm/ | awk 'END {print NR/2}' ls -l /tftpboot/cm/*.cfg | wc -l # Nr Configfiles grep MaxRateSustained /tftpboot/cm/*.conf | wc -l | awk '{print $1/2}' # Nr Configfiles with Datarate assigned
Live System Update
Provisional Restarts
systemctl restart nmsd
Check before
check cron jobs in app/Console/Kernel.php if sth new can happen over night
Test & Execute directly after
# dump database before! mysqldump composer update php artisan migrate php artisan module:migrate php artisan nms:auth php artisan route:cache # check daily conversions php artisan nms:contract daily php artisan provvoip:phonenumber # check active states in DB mysql -u root -p <psw> db_lara # show all contracts that have network_access=0 or contract-/modem-network-access/phonenumber-active differs [db_lara]> select c.id, c.firstname, c.lastname, c.network_access as Cnw_access, m.network_access as Mnw_access, p.username, p.active from contract c, modem m, mta mta, phonenumber p where c.id=m.contract_id and p.mta_id=mta.id and mta.modem_id=m.id and c.deleted_at is null and m.deleted_at is null and mta.deleted_at is null and p.deleted_at is null and (c.network_access!=m.network_access or c.network_access!=p.active or m.network_access!=p.active or c.network_access=0);
Import
Test SQL Commands
# Check if there are MTA's/Phonenumbers with no SIP Password assigned -> still MGCP [db_lara]> select c.number2, c.firstname, c.lastname, c.street, c.zip, c.city, p.id, p.country_code, p.prefix_number, p.number, m.mac, p.password from phonenumber p, mta mta, modem m, contract c where p.mta_id=mta.id and mta.modem_id=m.id and m.contract_id=c.id and (p.password is null or p.password='') and number2!=''; # check if there are modems with no proper qos_id assigned select c.id, c.firstname, c.lastname, c.created_at, c.qos_id, m.qos_id from modem m, contract c where m.contract_id=c.id and c.qos_id!=m.qos_id; # in emergency case update manually: update modem m join contract c on m.contract_id=c.id set m.qos_id=c.qos_id;