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:
The applogic_init config file allows you to change which aspects of the OS configuration are auto-configured by APK.
The Appliance Instance Descriptor contains OS-specific information, such as 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 the 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.
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:
ADL Property Markup is a language for describing applications within the application model where applications are built out of multiple components, with each component being an instance of a virtual appliance with its own OS and application software. In the interpretation of ADL, host and hardware or any type of resource do not necessarily correspond to physical resources. They may be virtual devices that share the same hardware.
ADL is based on UDL, a generic language for describing hierarchically structured data in plain ASCII text form. You can find the description of UDL in a separate document; however, understanding UDL in general is not necessary. This document contains a complete description of the ADL syntax.
|
Copyright © 2013 CA Technologies.
All rights reserved.
|
|