5.1 Logical Structure of the LDAP Directory

The LDAP directory is designed with multiple, hierarchical object classes so it can accommodate large corporate structures. Figure 5-1 shows an example of a typical LDAP directory structure for a Novell Linux Point of Service system.

Figure 5-1 Novell Linux Point of Service LDAP directory structure

Novell Linux Point of Service LDAP directory structure

The following is a hierarchical description of standard object classes represented in the Novell Linux Point of Service LDAP directory tree. For a complete listing of Novell Linux Point of Service object classes and their attributes, see Section 5.2, LDAP Objects.

Root: The beginning level in the LDAP tree. The root represents the world.

 

Country: The country in which the organization is located.

 

 

Organization (organization): The name of the organization represented in the LDAP tree.

 

 

 

Locator Object (scHardware): Identifies where the Global container is located.

When the Branch Server queries LDAP for global configuration information, it queries this object to determine where the Global container is located.

 

 

 

Global (scRefObjectContainer, cn=global): All globally valid information for a chain or company—that is server hardware, Point of Service hardware, or client images—is stored in the Global container in the form of reference objects. These reference objects are linked to the actual entries for the Point of Service terminals and servers in the branches using distinguished names.

The initial LDAP structure after installation includes only one scRefObjectContainer named global under the directory root. Other scRefObjectContainer objects can be added as needed; however, the scRefObjectContainer container objects should always have cn=global and also appear only once per directory level. This provides great flexibility. For example, each server can be assigned its own reference objects and, therefore, its own hardware types. On the other hand, if all the servers have the same hardware, a unified standard can be defined in the global container on the regional or organizational level.

 

 

 

 

Distribution Container (scDistributionContainer): A container for distribution sets of images.

A distribution set is a collection of images designed for Point of Service terminals on a given version of the Linux kernel. The Default distribution container references the Linux 2.6 kernel.

The images that ship with Novell Linux Point of Service 9 are built on Novell Linux Desktop (NLD), which runs the Linux 2.6 kernel. Therefore, the reference objects for Novell Linux Point of Service 9 images must be created in the Default Distribution Container.

IMPORTANT:If you migrate from SLRS 8 to Novell Linux Point of Service 9, the migration script creates the SLRS 8 distribution container. This container references the SLRS 8 kernel and therefore, must store all the scPosImage objects for SLRS 8 images. For more information, see Migrating from SLRS 8 to Novell Linux Point of Service 9 in the Novell Linux Point of Service 9 Installation Guide.

 

 

 

 

 

Image Reference Object (scPosImage): The Image Reference object stores information about an image stored on the Administration Server.

By default, a Image Reference object is created for the Minimal client image. For information on adding this object class to the LDAP directory, see Section 6.5.1, Adding an scPosImage Object.

IMPORTANT:If you migrate from SLRS 8 to Novell Linux Point of Service 9, the migration script moves the existing scPosImage objects to the SLRS 8 distribution container. For more information, see Migrating from SLRS 8 to Novell Linux Point of Service 9 in the Novell Linux Point of Service 9 Installation Guide.

 

 

 

 

 

 

File-Based Configuration Template (scConfigFileSyncTemplate): scConfigFileSyncTemplate objects are used when you run services, such as X Windows, that require hardware-dependent configuration files. The scConfigFileSyncTemplate object points to the configuration file that a Point of Service terminal needs to run a given service. This object differs from scConfigFileTemplate objects because the configuration data is not stored in the object; rather, the object points to a configuration file outside the LDAP directory.

This element can also exist under scCashRegister objects.

For information on adding this object class to the LDAP directory, see Section 6.4.3, Adding an scConfigFileSyncTemplate Object.

 

 

 

 

 

 

LDAP-Based Configuration Template (scConfigFileTemplate): scConfigFileTemplate objects are used when you run services, such as the X Window service, that require hardware-dependent configuration files. An scConfigFileTemplate object contains the configuration file data that a Point of Service terminal needs to run a given service.

This element can also exist under scCashRegister objects.

For information on adding this object class to the LDAP directory, see Section 6.4.2, Adding an scConfigFileTemplate Object.

 

 

 

 

Hardware Reference Object (scCashRegister): The Hardware Reference object stores information about Point of Service hardware.

Typically, you should define a scCashRegister object for each type of terminal used on the Novell Linux Point of Service system; however, if a Point of Service terminal does not have an scCashRegister object for its specific hardware type, it will use the configuration defined in the default scCashRegister object. For information on adding this object class to the LDAP directory, see Section 6.4.1, Adding an scCashRegister Object.

IMPORTANT:If you migrate from SLRS 8 to Novell Linux Point of Service 9, the migration script updates the existing scCashRegister objects to point to scPosImage objects in the SLRS 8 distribution container. For more information, see Migrating from SLRS 8 to Novell Linux Point of Service 9 in the Novell Linux Point of Service 9 Installation Guide.

 

 

 

 

 

Hard Disk (scHardDisk): The configuration for a Point of Service terminal hard disk.

For information on adding this object class to the LDAP directory, see Section 6.4.5, Adding an scHarddisk Object.

 

 

 

 

 

RAM Disk (scRamDisk): The configuration for a Point of Service terminal RAM disk.

For information on adding this object class to the LDAP directory, see Section 6.4.4, Adding an scRAMDisk Object.

 

 

 

 

 

File-Based Configuration Template (scConfigFileSyncTemplate): scConfigFileSyncTemplate objects are used when you run services, such as the X Window service, that require hardware-dependent configuration files. The scConfigFileSyncTemplate object points to the configuration file that a Point of Service terminal needs to run a given service. This object differs from scConfigFileTemplate objects because the configuration data is not stored in the object; rather, the object points to a configuration file outside the LDAP directory.

This element can also exist under scPosImage objects.

For information on adding this object class to the LDAP directory, see Section 6.4.3, Adding an scConfigFileSyncTemplate Object.

 

 

 

 

 

LDAP-Based Configuration Template (scConfigFileTemplate): scConfigFileTemplate objects are used when you run services, such as X Windows, that require hardware-dependent configuration files. An scConfigFileTemplate object contains the configuration file data that a Point of Service terminal needs to run a given service.

This element can also exist under scPosImage objects.

For information on adding this object class to the LDAP directory, see Section 6.4.2, Adding an scConfigFileTemplate Object.

 

 

 

Organizational Units (organizationalUnit): Organization units were introduced to improve organizational coherence. They typically represent organizational structures such as regions, branches or divisions.

For information on adding this object class to the LDAP directory, see Section 6.3.1, Adding organizationalUnit Objects.

 

 

 

 

 

Location (scLocation): A branch office; that is, a site where a Branch Server and Point of Service terminals are located. Location containers are used to store information about the deployed Point of Service terminals and the Branch Servers. This and all other information that can be modified at the Branch Server should be stored or referenced in the Location containers to limit the need to grant write privileges to subtrees.

For information on adding this object class to the LDAP directory, see Section 6.3.2, Adding an scLocation Object.

 

 

 

 

 

 

Workstation (scWorkstation): The Workstation object stores information for a specific Point of Service terminal. Using information from the Hardware Reference object (scCashRegister) and Image Reference object (scPosImage), posldap2crconfig.pl automatically creates a Workstation object in the LDAP directory for every Point of Service terminal that registers on the Branch Server. For information on this process, see Section 3.5.3, The hwtype.MAC_address File.

 

 

 

 

 

 

Server Container (scServerContainer): A container for all the Branch Server objects for a given site. The information pertaining to the Branch Servers is stored in the Server container

To provide system redundancy and failover, there can be multiple Branch Servers for each site.

For information on adding this object class to the LDAP directory, see Section 6.3.3, Adding an scServerContainer and scBranchServer Object.

 

 

 

 

 

 

 

Branch Server (scBranchServer): The Branch Server object stores configuration information that is specific to each Branch Server. There must be a Branch Server object for every Branch Server in the Novell Linux Point of Service system.

IMPORTANT:The location of the scBranchServer object in the LDAP directory must correspond to the hostname defined for the Admin/Branch Server during installation. For example, if the hostname is bs.east.boston.mycorp.us, the dn of the scBranchServer object would be cn=bs,cn=server, cn=east,ou=boston,o=mycorp,c=us. You must create the scBranchServer object and its supporting organizational structure before you can run posInitBranchserver.sh and deploy the Branch Server. For more information on defining the server hostname during installation, see “Network Interfaces” on page 30. For information on creating the Branch Server objects, see Section 6.3, Defining Branch Objects.

The Administration Server does not have an associated object in the LDAP tree structure.

For information on adding this object class to the LDAP directory, see Section 6.3.3, Adding an scServerContainer and scBranchServer Object.

 

 

 

 

 

 

 

 

Service (scService): The configuration for a Branch Server service like DNS, TFTP, or DHCP.

For information on adding this object class to the LDAP directory, see Section 6.3.3, Adding an scServerContainer and scBranchServer Object.

 

 

 

 

 

 

 

 

High Availability Service (scHAService): The configuration for a high availability Branch Server service such as DNS, TFTP, or DHCP.

For information on adding this object class to the LDAP directory, see Section 6.3.4, Adding a Branch Server with High Availability Services (scHAService) .

 

 

 

 

 

 

 

 

Network Card (scNetworkcard): The configuration for a Branch Server network interface card.

For information on adding this object class to the LDAP directory, see Section 6.3.4, Adding a Branch Server with High Availability Services (scHAService) .

 

 

 

 

 

 

 

 

Hard Disk (scHardDisk): The configuration for the Branch Server's boot hard disk.

For information on adding this object class to the LDAP directory, see Section 6.4.5, Adding an scHarddisk Object.

To illustrate how the directory structure is used, here is a sample query procedure using objects from the example LDAP structure described above.

  1. A search is made for an object of objectClass: scLocation with cn=eastbay.

    NOTE:The core scripts search only the names of the object classes. The common name for an entry is not used.

  2. Below this scLocation, a search is made for an object of objectClass: scServerContainer (server).
  3. Below this scServerContainer, a search is made for an object of objectClass: scBranchServer with cn=bs.
  4. Data specific to this server is located below this scBranchServer object, such as objects of objectClass: scNetworkcard in which the IP addresses are indicated.
  5. All the data that generally applies for this hardware type, such as the partitioning, is read from a reference object of objectClass: scRefServer in which this hardware is described. These reference objects are always organized as containers in an object of objectClass: scRefObjectContainer.
  6. Next, the reference objects that are valid for this Branch Server are located. First, the attribute scRefServerDn in the scBranchServer object that represents this server is read. If a DN is included here, the target is used as the reference object for the Branch Server.
  7. If the entry is empty, the search for an object of the objectClass: scHardware moves upward in the directory structure, one level at a time. If the attribute scRefServerDn is occupied in this type of object, this DN is taken as the target; if not, the search continues upward in the directory structure. If no appropriate object with this attribute is found all the way up to the root level, the process aborts with an error.

The procedure is similar for Point of Service terminal hardware. In this example, in addition to the referenced hardware type (through attribute scRefPcDn to a scCashRegister object), scPosImageDn points to the reference image, scPosImage object.