This repository has been moved to cablelabs/os-provisioning.
nmsprime / nmsprime Goto Github PK
View Code? Open in Web Editor NEWNetwork Provisioning Tool and Network Management Platform
Home Page: https://www.nmsprime.com/
Network Provisioning Tool and Network Management Platform
Home Page: https://www.nmsprime.com/
This repository has been moved to cablelabs/os-provisioning.
[LAR-31] created by @xee8ai
Next Steps:
DONE:
[LAR-39] created by @schmto
It seems that
php artisan module:migrate-rollback MODNAME
is not able to perform without errors.
Typically you get error messages related to other Modules – e.g. if rolling back ProvBase you get errors like
PHP Fatal error: Class 'CreatePhonenumberTable' not found in /var/www/lara/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php on line 301
{"error":{"type":"Symfony\\Component\\Debug\\Exception
FatalErrorException","message":"Class 'CreatePhonenumberTable' not found","file":"\/var\/www\/lara\/vendor\/laravel\/framework\/src\/Illuminate\/Database\/Migrations\/Migrator.php","line":301}}
This is related to a class from the ProvVoip module. It seems that in this case ProvVoip has to be re rolled back first. The rollback of ProvBase is not done in this case, the eventually following seed adds data to the (still) existing tables.
The question is: Is this a general problem with laravel or is something wrong with our code? In development we can use workarounds to avoid the problem – but it should be checked before production
[LAR-41] created by @xee8ai[LAR-13] created by @schmto
for further development we need a generic SNMP plugin for read,
walk, set, ..
googling "laravel snmp plugin", e.g.:
https://laracasts.com/discuss/channels/general-discussion/snmp-package
[LAR-38] created by @schmto
[LAR-44] created by @schmto
[LAR-17] created by @schmto
see km3 Statuswerte
Main Keys: DS-Channels, US-Channels Parameter, Modem Reset, Logfile, generic Infos, ...
[LAR-3] created by @schmto[LAR-33] created by @schmto
fpm -s dir -t rpm -v $version --description "$descr" $options $build_opt $exclude -n nms-base $dir_base=/var/www/ $files $dir_rpm/mysql=/var/www/admin/install/mysql
[LAR-12] created by @schmtomore stuff todo: cross checking cm, endpoints, mta ?
[LAR-14] created by @schmto[LAR-30] created by @NinoRy
open questions:
[LAR-4] created by @schmto
[LAR-26] created by @schmto
Notes from Dez. 2015:
[LAR-15] created by @schmto
[LAR-49] created by @schmto
[LAR-40] created by @schmto
DONE
[LAR-47] created by @schmto
[LAR-6] created by @schmto
TODO:
DONE:
[LAR-48] created by @schmto
[LAR-1] created by @schmto
API description can be found on https://www.enviatel.de/portal/api/rest/doc
TODO from Tech Talk:
[LAR-43] created by @xee8ai
[LAR-28] created by @schmto
Pay attention to the following aspects:
[LAR-24] created by @NinoRy
[LAR-7] created by @schmto
For supporting more than one CMTS with automagically assigned IPs we will need count(device_type) * count(cmts) classes with several matching statemants and the same number of subnets/pools. At least until combination of groups in pools is possible…
To autogenerate the configfiles we have to store these informations in the database…
[LAR-18] created by @xee8ai[LAR-36] created by @NinoRy
MVC: Contract: to Module ProvBase
---------------------
number:integer:unsigned,
number2:string[32],
company:string,
salutation:string,
firstname:string,
lastname:string,
street:string,
zip:string[16],
city:string,
country_id:integer:unsigned,
x: float,
y: float,
phone:string[100],
fax:string[100],
email:string,
birthday:date,
contract_start:date,
contract_end:date,
internet_access:boolean,
qos_id:integer:unsigned,
next_qos_id:integer_unsigned,
voip_id:integer:unsigned,
next_voip_id:integer:unsigned,
sepa_iban:string[34],
sepa_bic:string[11],
sepa_holder:string,
sepa_institute:string,
create_invoice:boolean,
login:string[32],
password:string[32],
description:text,
MVC: add to Modem
----------------------------------
contact:string,
street:string,
zip:string[16],
city:string,
country_id:integer:unsigned,
// should be already available
x: float,
y: float,
// ?
contract_id:integer:unsigned
These entries should have empty values and can be used as placeholders – but logically clean down to database.
Edit scaffold templates to get this into migrations files.
[LAR-22] created by @xee8aiA common problem is the shortage of IPv4 addresses. To fight this one should be able to configure the number of public IPs assigned to CPE attached to this modem.
This can be controlled either using “lease limit x” in dhcpd class definition (one extra class per number needed) or – maybe even better – MaxCPE in config file (raise number by one in case of MTA active!).
Attention: The first option can have nasty side effects – consider a limit of one and a change of the attaced CPE: This will not come online until the lease of the former HW is deleted or outdated!
[LAR-19] created by @xee8aito let the modem boot we know need to add the next server statement in
DHCP pool options field. This should be done on a more generic or global config concept. Ideas are welcome
e.g. see: https://github.com/VentureCraft/revisionable
[LAR-16] created by @schmto[LAR-35] created by @NinoRy
this should work:
[LAR-5] created by @schmto
[LAR-29] created by @NinoRy
[LAR-11] created by @schmto
When deleting an item (e.g. CMTS) all related items (e.g. IP pools) have to be deleted to.
We have to find out how this can be done generically (e.g. in class BaseModel).
This data then can be used a) to inform the user about these dependencies BEFORE deletion and b) to delete all related items AFTER deletion of main item.
[LAR-20] created by @xee8aiTODO:
DONE:
[LAR-46] created by @schmto
make dhcp configuration for only one device if it gets created/updated to speed this process up
[LAR-25] created by @NinoRy[LAR-23] created by @NinoRy
simple MVC holding IPs, Subnets, Gateway, DNS and stuff like this ..
[LAR-9] created by @schmtopertains cmts, ippools, mtas
[LAR-27] created by @NinoRyTODO
DONE
[LAR-51] created by @schmto
1) make a global config page per module
this requires first, that every stuff is in a module
2) add a global config page with stuff like:
Adptions in:
[LAR-10] created by @schmto
[LAR-34] created by @schmto
Modem: add analysis page for CPE like Modem Analyses Page
MTA: add analysis page
parse with a regular expression with
" option agent.remote-id " like
preg_match_all('/lease(.*?)}/', $string, $section);
lease 10.20.0.3 {
starts 3 2015/09/30 12:50:48;
ends 3 2015/09/30 12:52:48;
cltt 3 2015/09/30 12:50:48;
binding state active;
next binding state free;
rewind binding state free;
billing subclass "Client" c4:27:95:af:ab:db;
hardware ethernet c4:27:95:af:ab:dd;
uid "\377\225\257\253\335\000\003\000\001\304'\225\257\253\335";
option agent.circuit-id 0:1:3:e9;
option agent.remote-id c4:27:95:af:ab:db;
option agent.unknown-9 0:0:11:8b:6:1:4:1:2:3:0;
}
[LAR-37] created by @NinoRy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.