Set Up the Uyuni for Retail Environment with Dedicated Network for Terminal

To set up the Uyuni for Retail environment, you will need to have already installed and configured:

  • Uyuni for Retail Server

  • one or more Uyuni for Retail branch server proxies

  • one or more POS images built

1. Assumptions

This guide works only with non-containerized Uyuni for Retail branch proxy 4.3.

In this example we consider architecture with dedicated network for POS terminals where branch server provides all required services including DHCP and DNS.

For dedicated network we assume 192.168.86.0/24 network.

In this example we provide Salt and ftp CNAMEs for Saltboot service discovery.

We assume to have one regular branch server with Salt minion id branch1.mystore.com, which is equal to the branch server fully qualified domain name, and branch id B0001.

As a terminal we assume to have one terminal with hardware manufacturer TerminalOEM and model T1000.

For POS image we assume to have one with name POS_Image_JeOS7.

This example covers two configuration methods. Both of the methods achieve the same result.

2. Create Required System Groups

Manually setting up formulas requires manual creation of the needed system groups, unlike when using the provided tools. To create the system groups, see System Groups.

You will need the following groups:

  • TERMINALS

  • HWType:TerminalOEM-T1000

  • B0001

The first group is generic optional group for collecting all POS terminals. The second group is hardware type group for our POS terminal. The third group is mandatory branch group.

For more information about Saltboot groups, see Set Up the Uyuni for Retail Environment.

3. Assign and Configure Branch Server Formulas

We assign the following formulas to the branch server:

  • Branch Network

  • Dhcpd

  • Bind

  • Pxe

  • Tftpd

Procedure: Assign Formulas to the Branch Server
  1. Select the Formulas tab for the system branch1.mystore.com

  2. You should see list of formulas in Configuration sub-tab

  3. In displayed list select Branch Network

  4. In displayed list select Pxe

  5. In displayed list select Dhcpd

  6. In displayed list select Tftpd

  7. In displayed list select Bind

  8. Save assigned formulas by clicking Save in top right corner

Procedure: Configure Branch Network formula
  1. Select Branch Network formula from branch server formula list

  2. Keep Dedicated Nic check-box selected, because we are using dedicated network for terminals

  3. Keep the rest with default values

  4. In the Terminal Naming and Identification section edit Branch Identification and set it to our branch id B0001

  5. Save the formula

Procedure: Configure Pxe formula
  1. Select Pxe formula from branch server formula list

  2. At the end of Kernel Command Line Parameters append MASTER=branch1.mystore.com

  3. Keep the rest with default values

  4. Save the formula

Procedure: Configure Dhcpd formula
  1. Select Dhcpd formula from branch server formula list

    • Set the Domain Name to the branch1.mystore.com

    • Set the Domain Name Server to the IP address of branch server 192.168.86.1)

    • Set the Listen Interfaces to the eth1, which is network interface of branch server connected to dedicated terminal network

  2. Navigate to the Network Configuration (subnet) section, and use these parameters for Network1:

    • In the Network IP field, enter the IP address of the terminal network 192.168.86.0.

    • In the Netmask field, enter the network mask of the terminal network 255.255.255.0.

    • In the Domain Name field, enter the domain name for the terminal network branch1.mystore.com).

  3. In the Dynamic IP Range section, use these parameters to configure the IP range to be served by the DHCP service:

    • In the first input box, set the lower bound of the IP range 192.168.86.10

    • In the second input box, set the upper bound of the IP range 192.168.86.250

  4. In the Broadcast Address field, enter the broadcast IP address for the terminal network 192.168.86.255

  5. In the Routers field, enter the IP address to be used as default route in the terminal network 192.168.86.1

  6. In the Next Server field, enter the IP address of the branch server for PXE booting 192.168.86.1

  7. Set the Filename to the /boot/pxelinux.0

  8. Set the Filename Efi to the /boot/shim.efi

  9. Set the Filename Http to the http://192.168.86.1/saltboot/boot/shim.efi

  10. Save the formula

Procedure: Configure Tftpd formula
  1. Select Tftpd formula from branch server formula list

  2. Set the Internal Network Address to 192.168.86.1, this way tftp will be listening on any IPv4

  3. Set the TFTP base directory to /srv/saltboot

  4. Save the formula

Procedure: Configuring Bind with reverse name resolution
  1. Select Bind formula from branch server formula list

  2. In the Config section, select Include Forwarders so DNS server can forward queries to next DNS server

  3. In the Options section clieck + to add an option

  4. Set the Option to empty-zones-enable

    • Set the Value to No

  5. In the Configured Zones section, use these parameters for Zone 1, which is our primary zone:

    • Set the Name to branch1.mystore.com

    • In the Type field, select master

  6. Click Add item to add a second zone, and set these parameters for Zone 2, which is used for reverse name resolution:

    • Set the Name to com.mystore.branch1

    • In the Type field, select master

  7. In the Available Zones section, use these parameters for Zone 1:

    • In the Name field, enter the domain name branch1.mystore.com

    • In the File field, type the name of your configuration file branch1.mystore.com.txt

  8. In the Start of Authority (SOA) section, use these parameters for Zone 1:

    • In the Nameserver (NS) field, use the FQDN of the branch server branch1.mystore.com

    • In the Contact field, use the email address for the domain administrator

    • Keep all other fields as their default values

  9. In the Records section, in subsection A, use these parameters to set up an A record for Zone 1:

    • In the Hostname field, use the hostname of the branch server branch1.mystore.com., notice trailing . which are required here

    • In the IP field, use the IP address of the branch server 192.168.86.1

  10. In the Records section, subsection NS, use these parameters to set up an NS record for Zone 1:

    • In the input box, use the branch server branch1.mystore.com.

  11. In the Records section, subsection CNAME, use these parameters to set up CNAME records for Zone 1:

    • In the Key field, enter salt, and in the Value field, type the branch server branch1.mystore.com.

    • Click Add item to add another entry.

    • In the Key field, enter ftp, and in the Value field, type the branch server branch1.mystore.com.

  12. Set up Zone 2 using the same parameters as for Zone 1, but ensure you use the reverse details:

    • The same SOA section as Zone 1.

    • Empty A and CNAME records.

    • Additionally, configure in Zone 2:

      • Set Generate Reverse to the network IP address 192.168.86.0/24

      • Set For Zones to the domain name of your branch network branch1.mystore.com

  13. Click Save Formula to save your configuration.

  14. Apply the highstate.

4. Set Up Partitioning

Partitioning is specific to the hardware type and configured using Saltboot formula.

Procedure: Assign Saltboot Formula to Hardware Type Group
  1. Navigate to Systems  System Groups

  2. Select group HWType:TerminalOEM-T1000, which is our hardware type group

  3. Select the Formulas tab once in group details

  4. You should see list of formulas in Configuration sub-tab

  5. In displayed list select Saltboot

  6. Save assigned formulas by clicking Save in top right corner

Procedure: Configure Saltboot Formula
  1. Select Saltboot formula from HWType:TerminalOEM-T1000 group formula list

  2. Set Disk Symbolic ID to Disk1

  3. Set Device Type to DISK

  4. Set Disk Device to *

  5. Set Partition table type to gpt

  6. Click + to add a partition

    • Set Partition Symbolic ID to p1

    • Set Partition Size (MiB) to 512

    • Set Device Mount Point to /boot/efi

    • Set Filesystem Format to vfat

    • Set Partition Flags to boot

  7. Click + to add a partition

    • Set Partition Symbolic ID to p2

    • Set Device Mount Point to /

    • Set OS Image to Deploy to POS_Image_JeOS7

  8. Save the formula

After all procedures are done, apply highstate on the branch server.

5. Synchronize Images

After highstate is applied, we proceed with synchronizing images as usual with apply image-sync state.

Terminal can now be started and will be automatically provisioned, pending salt key acceptance.