Previous Topic: Tie Boundary to InteriorNext Topic: Raw Interfaces


Startup and Hooks

The most important aspects of tying an interior to the boundary are performed during the appliance startup. During the appliance boot process, the APK has two functions:

For example, early in the configuration process, the APK performs the following:

Appliance Startup Script

After the early configuration completes and the essential OS starts, the Appliance Startup Script begins. This optional script allows you to tailor the appliance boundary properties to meet the specific functionality of your software product in the appliance. The APK provides one configuration file and one hook for the script. The file location is OS-specific. For example, the file is located in /etc/sysconfig/ for Posix-style operating systems, such as Linux and BSD, and in \applogic\config\ for Windows operating systems.

The files are:

In addition, the appliance can use OS-provided startup functionality, such as sys5 init in Linux or service control manager in Windows.

Appliance-Specific Startup Check Script

After the appliance specific startup completes, the APK optionally executes the appliance-specific startup check script. The script, if present, verifies the appliance started and returns a success or failure message to the grid controller. If no script is present or the script returns no error, the appliance startup check sends a successful start. If script returns an error, the appliance startup check stops and sends the failure message.

Appliance Instance Descriptor

The Appliance Instance Descriptor contains OS-specific information, such as the device names of all network interfaces and disk volumes. When you add this specific appliance class to an application, you make an instance of that class with specific values for the configurable properties and connections to other appliances and/or to the outside world. This specific configuration, in its entirety, is passed to the virtual appliance, when it is started.

When you configure and start an application, the corresponding instance descriptor contains information similar to this:

property weight: integer, value=37 # appliance was configured with specific value
volume data:  dev=/dev/sdc, mount=/opt # configured, appears as /dev/sdc # to the operating system
volume cache: disconnected # optional, app designer chose not to configure it

Automatic Configuration File Update

In many cases, the appliance properties correspond directly to strings that need to be inserted into an appliance-specific configuration file. In such cases, rather than writing code to read one of the APK-provided property files and generate the appropriate configuration files on each boot, you can instruct APK to apply the property values directly to the configuration files.

This can be done in all cases where the following conditions are met:

To set up APK to do automatic config file updates on boot: