Provision script log to the cwmp log file. -dan
> On Jun 15, 2018, at 2:47 PM, Don Johnson <[email protected]> wrote: > > I’m attempting to update our instance of GenieACS to version 1.1.2, and in > that attempt I am setting up the provisioning scripts and external scripts > and our own api server for this work flow. My question is where can I see > all the log messages that your examples create? > > I’ll admit I am not Ruby or Node.js proficient, and so I’m certain I am just > not looking in the right spot. They don’t appear in the output of the cwmp > or gui, which I am running on a tmux session, and I can’t find anything in > the development.log of the gui app. > > I feel like I’m developing this blind, and I can’t even tell if the presets > are firing the provisioning scripts. > > -Don > > > From: Users <[email protected]> On Behalf Of Dan Morphis > Sent: May 15, 2018 9:31 AM > To: Community support for GenieACS users <[email protected]> > Subject: Re: NBI add object > > Provision scripts will take care of adding object instances if needed. You > will have so many fewer issues if you switch to using provisioning scripts > and move away from using the API to add specific object instances. I went > from getting several emails a week about modems not working properly when we > used the old v1.0 way of configuring CPEs (manually adding/deleting object > instances, etc), to going over a year with no complaints about the CPE > provisioning process. > > This right here is all the code in a provisioning script you need to ensure > that a PPPoE connection is created for the device. Add a few dozen lines in > your external script and whatever API code you need, and any device/mfgr > specific code to the provisioning script and you can easily have CPEs auto > provisioning in under 200 lines of code. > > const now = Date.now(); > > let provisioned = declare("Tags.Provisioned", {value: 1}); > if (provisioned.value !== undefined) { > log('CPE is provisioned, returning'); > return; > } > > let model = declare("InternetGatewayDevice.DeviceInfo.ModelName", {value: > 1}).value[0]; > let serialNumber = declare("DeviceID.SerialNumber", {value: 1}).value[0]; > let productClass = declare("DeviceID.ProductClass", {value: 1}).value[0]; > let oui = declare("DeviceID.OUI", {value: 1}).value[0]; > let args = {serial: serialNumber, productClass: productClass, oui: oui}; > > //Get the PPPoE creds from our external script which calls out to our API > let config = ext('cpe-config', 'resetPppoe', JSON.stringify(args)); > if (!config) { > log('SmartRG_Managed - No config returned from API'); > return; > } > > //Ensure we have 1 WANPPPConnection instance on the ATM device > log('SmartRG_Managed - Creating WANPPPConnection (if necessary)'); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*", > null, {path: 1}); > > log('SmartRG_Managed - Setting up WANPPPConnection'); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.*", > {path: now}); //Refresh the node... > > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.Name", > {value: now}, {value: "Internet"}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.ConnectionType", > {value: now}, {value: "IP_Routed"}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.X_BROADCOM_COM_IfName", > {value: now}, {value: "ppp0.1"}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.NATEnabled", > {value: now}, {value: true}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.X_BROADCOM_COM_FirewallEnabled", > {value: now}, {value: true}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.Enable", > {value: now}, {value: true}); > declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.*.PPPoEServiceName", > {value: now}, {value: "broadband"}); > > > //{value: now} forces GenieACS to update the value of the username/password > log('SmartRG_Managed - Setting un: ' + config.username + ', pw: ' + > config.password); > declare("InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANPPPConnection.*.Username", > {value: now}, {value: config.username}); > declare("InternetGatewayDevice.WANDevice.*.WANConnectionDevice.*.WANPPPConnection.*.Password", > {value: now}, {value: config.password}); > > log('Done configuring. Setting tags'); > declare("Tags.Provisioned", null, {value: true}); > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.genieacs.com/mailman/listinfo/users
_______________________________________________ Users mailing list [email protected] http://lists.genieacs.com/mailman/listinfo/users
