Questions on presets / Firmware upgrade

George Chelidze george.chelidze at magticom.ge
Wed May 2 01:57:33 EDT 2018


Hi Zaid,

Please find my comments below.

On 05/01/2018 11:42 PM, Zaid Abdulla wrote:
>> 2. What is Channel used for?
> Channels are used to isolate different processes such that if there's a
> fault in one, the others will not be affected. For example, if a fault
> occures in your firmware upgrade preset(s), only that will be put on
> hold (until retry timeout) while prests belonging to other channels
> will continue to be applied.
If I got it correctly, presets are executed in processes called
"channels" in sequence (in order they have been added). If a preset
fails, next presets in the same channel won't even start (they are
skipped). After retry timeout, the preset with fault will try again,
however all skipped presets won't. Is this right?

>> 3. How exactly weights work?
> I'm not going to read all that code, sorry :) Basically, if you attempt
> to modify the same parameter in two different presets, the one with the
> *higher* weight will take precedence.
Ok, clear.


>> 4. Empty events field contains the following hint: e.g. "1 BOOT, -0
>> BOOTSTRAP". What does "-0 BOOTSTRAP" means? Does it means "any event
>> except 0 BOOTSTRAP"?\
> Yes.
So, If I put "-0 BOOTSTRAP, -1 BOOT" will it mean any event except these
two?

>> 5. If we put two events separated by comma (1 BOOT, 2 PERIODIC), will
>> a preset be executed in case of any of these events of both events
>> should be present as in the following example:
> Both events have to be present for the preset to apply.
So, It's a strict match. Is there any way to apply a preset if at least
one of the events matches? (instead of repeating the same preset several
times with different "Events").

Another quick question here:

In my case with a reboot, Event object looks like this:

<Event SOAP-ENC:arrayType="cwmp:EventStruct[2]">
    <EventStruct>
        <EventCode>1 BOOT</EventCode>
        <CommandKey></CommandKey>
    </EventStruct>
    <EventStruct>
        <EventCode>M Reboot</EventCode>
        <CommandKey></CommandKey>
    </EventStruct>
</Event>

I tried to match it with "1 BOOT, M Reboot" without any luck. What did I
miss?

>> 7. How Arguments fields can be used for Provision in presets? Should
>> it contain static arguments or any kind of substitution like
>> ${InternetGatewayDevice.DeviceInfo.ModelName} as well. If this kind
>> of substitution is supported, what is correct syntax?
>>
>> 8. How can Arguments passed from presets (see question #6) be
>> accessed in provision? Any examples?
> Arguments are static values and can be accessed from the script using
> the 'args' global variable (array).
Ok, clear.

I kept questions with corresponding answers for future readers. Thanks
for your support.

Best regards,

George


More information about the Users mailing list