Set Up the Uyuni for Retail Environment with dedicated network for terminal using bundled scripts

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 with both of them achieving same result.

2. Quick set up of Uyuni for Retail using for Retail tools

  • Uyuni for Retail provides command line tool retail_branch_init

  • Uyuni for Retail provides mass import command line tool retail_yaml

The branch server can be configured automatically using the retail_branch_init command, as shown in this section.

Procedure: Configuring Branch Server Formulas With a Helper Script
  1. Run following command on Uyuni Server:

    retail_branch_init branch1.mystore.com --dedicated-nic eth1 \
                                           --branch-prefix B0001 \
                                           --server-domain branch1.mystore.com \
                                           --branch-ip 192.168.86.1 \
                                           --dyn-range 192.168.86.10 192.168.86.250 \
                                           --netmask 255.255.255.0

    You can use the retail_branch_init --help command for additional options.

  2. Verify that your changes have been configured correctly by checking the Uyuni Web UI branch server system formulas.

  3. Apply highstate on the branch server.

Similar results can be achieved by using mass import command line tool.

Procedure: Configuring Branch Server Formulas With a Mass Import Tool
  1. Prepare branch specific YAML file:

    For example, create branch.yaml file with content:

    branches:
      branch1.mystore.com:
        branch_prefix: B0001
        server_domain: branch1.mystore.com
        nic: eth1
        dedicated_nic: true
        configure_firewall: true
        branch_ip: 192.168.86.1
        netmask: 255.255.255.0
        dyn_range:
            - 192.168.86.10
            - 192.168.86.250

    For more information about mass import tool, see Mass Configuration.

  2. Import branch information from YAML file to Uyuni

    retail_yaml --from-yaml branch.yaml
  3. Verify that your changes have been configured correctly by checking the Uyuni Web UI branch server system formulas.

  4. Apply highstate on the branch server.

Both retail_branch_init and retail_yaml commands override existing configuration settings of the specified branch server.

After the initial configuration done by command line tools, branch server configuration can be further adjusted in Uyuni Web UI through branch server formulas.

3. Setup partitioning

Follow System Groups to create HWType:TerminalOEM-T1000 system group.

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.

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.