The Remote Reboot definition
The remote reboot is used to assure that all IP-STBs in a network
are running the intended software version.
Several remote reboot objects targeting different sets of boxes may be
specified.
All boot images can use the basic remote reboot feature but an
application/portal must be included in order to use the Question Dialogue.
The application/portal shall subscribe
ToiInformationService::ON_OBJECTS_CHANGED event of "cmd.rebootquery.message"
object via Information Service
to show the Question Dialogue.
The value of "cmd.rebootquery.message" object is a piece of xml of "Notification" element in remote reboot config file as described in below section.
The application/portal must parse the "Notification" element to retrieve the notification message.
The application/portal also shall set the value of "cmd.rebootquery.response" object
to "Yes" or "No" via Information Service
according to the user's action. e.g. choosing "Accept" or "Postpone".
Remote Reboot DTD
<!ELEMENT RemoteRebootRequests (RemoteRebootRequest+)>
<!ELEMENT RemoteRebootRequest (
((SoftwareDate, SoftwareTime) | (SoftwareVersion)),
(SerialIntervalStart, SerialIntervalEnd)?, Model?,
Severity, Timeout?, DelayedReboot?, Notification?)>
<!ELEMENT SoftwareDate (#PCDATA)>
<!ELEMENT SoftwareTime (#PCDATA)>
<!ELEMENT SoftwareVersion (#PCDATA)>
<!ELEMENT SerialIntervalStart (#PCDATA)>
<!ELEMENT SerialIntervalEnd (#PCDATA)>
<!ELEMENT Model (#PCDATA)>
<!ELEMENT Severity (#PCDATA)>
<!ELEMENT Timeout (#PCDATA)>
<!ELEMENT DelayedReboot (#PCDATA)>
<!ELEMENT Notification (Text, Button, Button)>
<!ELEMENT Button (Text, Action)>
<!ELEMENT Text (#PCDATA)>
<!ELEMENT Action (#PCDATA)>
Remote Reboot example
This file is not included in the evaluation configuration.
<?xml version="1.0"?>
<!DOCTYPE RemoteRebootRequests SYSTEM "remotereboot.dtd">
<RemoteRebootRequests>
<RemoteRebootRequest>
<SoftwareDate>20030211</SoftwareDate>
<SoftwareTime>161110</SoftwareTime>
<SerialIntervalStart>1210004282</SerialIntervalStart>
<SerialIntervalEnd>1210004282</SerialIntervalEnd>
<Severity>Question Dialogue</Severity>
<Timeout>30</Timeout>
<Notification>
<Text>System maintenance reboot requested. Accept this reboot or postpone it?</Text>
<Button>
<Text>Accept</Text>
<Action>Yes</Action>
</Button>
<Button>
<Text>Postpone</Text>
<Action>No</Action>
</Button>
</Notification>
</RemoteRebootRequest>
</RemoteRebootRequests>
Remote reboot XML description
Remote Reboot configuration items
| Object |
Comment |
Values |
| SoftwareDate |
Used together with the SoftwareTime to
determine whether the build date of the current software on the
IP-STB is the desired one. The IP-STB will reboot until both
values correspond to those of the software.
Either Date + Time or Version must be specified.
This value is set automatically when building the boot image.
Incorrect settings may make the IP-STBs
enter a reboot loop.
|
Type: Numerical string
Value set: A date on the format YYYYMMDD
|
| SoftwareTime |
Used together with the SoftwareDate to
determine whether the build date of the current software on the
IP-STB is the desired one. The IP-STB will reboot until both
values correspond to those of the software.
Either Date + Time or Version must be specified.
This value is set automatically when building the boot image.
Incorrect settings may make the IP-STBs
enter a reboot loop.
|
Type: Numerical string
Value set: A time on the format hhmmss
|
| SoftwareVersion |
Used to determine whether the version of the current software
on the IP-STB is the desired one. The IP-STB will reboot until
the value corresponds to that of the software.
Either Date + Time or Version must be specified.
This value is set automatically when building the boot image.
Incorrect settings may make the IP-STBs enter a reboot loop.
|
Type: String
Value set: A version
Example value: 3.0.1
|
| SerialIntervalStart |
No IP-STBs with serial number less than SerialIntervalStart will be
rebooted.
Read this information on how serial
numbers are specified.
|
| SerialIntervalEnd |
No IP-STBs with serial number larger than SerialIntervalEnd will be
rebooted.
Read this information on how serial
numbers are specified.
|
| Model |
Only IP-STBs of the specified type will be rebooted.
The string specified here is compared to the value of the object
const.hw.productname.
The string is compared using prefix
matching so the string VIP196 will match VIP1963 but not VIP1903.
|
Type: String
Value set: A model name (or beginning of)
Example value: VIP1963
|
| Severity |
Determines when the IP-STB is to reboot.
Forced Reboot = Immediately
Automatic = At standby
Question Dialogue = Show a Notification
to interact with the user. This requires that the Remote Reboot
application is installed and started.
Automatic will cause
the IP-STB to reboot immediately if it is already in standby.
|
Type: String
Value set:
Forced Reboot | Automatic |
Question Dialogue
|
| Timeout |
Time to wait for user response in case of
Question Dialogue
before rebooting anyway.
This time is calculated
from that the object is received. The
Question Dialogue
is actually presented a shorter time.
|
Type: Numerical
Value set: Time in seconds (0 means wait indefinitely)
Default value: 120
|
| DelayedReboot |
Delays the actual reboot a random time. From 0 seconds up to
the value set.
This is useful when rebooting a large number of IP-STBs at the
same time, to reduce the load on surrounding systems.
|
Type: Numerical
Value set: Time in seconds
Default value: 0
|
| Notification |
Definition of the user dialogue. Only used in case of
Question Dialogue,
may be left out otherwise.
|
Type: Empty
Value set: N/A
|
Text (Notification) |
The informational text displayed in the user dialogue.
|
Type: String
Value set: Any string that can be displayed properly.
|
| Button |
A possible user choice. You must specify two buttons, one with
Action Yes and one with
No.
|
Type: Empty
Value set: N/A
|
Text (Button) |
Button description.
|
Type: String
Value set: Any string that can be displayed properly.
|
| Action |
Button result:
Yes = Immediate reboot
No = Reboot at next standby
|
Type: String
Value set:
Yes | No
|