Set Up the Uyuni for Retail Environment with shared network between terminals, branch servers and Uyuni

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

In this example we consider architecture with shared network between POS terminals, branch server and Uyuni where branch server provides only PXE configuration and images.

In this example we provide salt on kernel command line option and ftp in pillar 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.

There is already existing external DHCP and DNS service. DHCP service is correctly configured to PXE boot from branch server.

2. Create required system groups

Follow guide System Groups to create the system groups:

  • TERMINALS

  • HWType:TerminalOEM-T1000

  • B0001

First group is generic optional group for collecting all POS terminals. Second group is hardware type group for our POS terminal. Third group is mandatory branch group.

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

3. Assign and configure formulas

We assign following formulas to the branch server:

  • Branch Network

  • 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 Tftpd

  6. 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. Unselect Dedicated Nic check-box because we are not using dedicated network

  3. Keep the rest with default values

  4. In 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 Tftpd formula
  1. Select Tftpd formula from branch server formula list

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

  3. Set TFTP base directory to /srv/saltboot

  4. Save the formula

Next two formulas are group formulas. Make sure you are editing those formulas in their respective groups.

Group formulas are visible as assigned also on system level, but editing them will create system specific setting instead of group setting.

Assign Saltboot Group formula to the B0001 group and Saltboot formula to the HWType:TerminalOEM-T1000 group.

Procedure: Assign Saltboot Group formula to Branch group
  1. Navigate to Systems  System Groups

  2. Select group `B0001, which is our branch 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 Group

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

Procedure: Configure Saltboot Group formula
  1. Select Saltboot Group formula from B0001 group formula list

  2. Set Image download server to branch1.mystore.com

  3. Unselect Branch server is containerized proxy because this is not containerized proxy

  4. Save the 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.

4. 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.