Best practices
1. Deploying new images
This file describes how to deploy a new image on selected terminals first, test it, and then deploy it to all terminals.
The hardware type group (i.e. HWTYPE
group) is used for booting new terminals, while already deployed terminals can be moved to any group that provides the Saltboot formula. This flexibility allows for testing of new images or configurations.
-
Build new image. Use image synchronization formula to synchronize the image to all Branch Servers.
-
Create a test group.
-
Name the group, for example,
TEST:POSVendor-Terminal
. The name can be chosen freely. -
Add the Saltboot formula to this group. Use the same configuration as in the original hardware type group (
HWTYPE
), except for the image version. Use the name and version of the new image.
-
-
Move selected terminals.
-
Identify the terminals you want to test the new image on.
-
Transfer these terminals from the group
HWTYPE:POSVendor-Terminal
group to the newly created groupTEST:POSVendor-Terminal
. It is recommended to use System Set Manager for this task.
-
-
Reboot terminals.
-
Power on the selected POS terminals. They should boot the new image.
-
-
Verify and evaluate.
-
Monitor the terminals in the
TEST:POSVendor-Terminal
group. -
Check if the new image performs as expected and if there are any issues or errors encountered.
-
-
Update
HWTYPE
group.-
Once you have confirmed that the new image works correctly, the
HWTYPE
group can be updated. -
Modify the image version in the
HWTYPE:POSVendor-Terminal
group to match the tested and approved version. -
This ensures that all other terminals receive the new image.
-
1.1. Controlling image versions
By default, Saltboot formula selects the specified image name and version or selects the highest one if the version is not specified.
There are multiple methods to control the image version within the HWTYPE
and TEST
groups:
-
Specify exact version.
-
In both the
HWTYPE
andTEST
groups, specify explicitly the exact version of the image to be deployed. -
Make sure that the specified image version is already synchronized.
-
-
Mark new image as
Inactive
.-
In the
HWTYPE
group, do not specify the image version. -
Mark the new image as
Inactive
after building and before synchronizing it to Branch Server. -
The
Inactive
flag ensures, that the image is not auto-selected when the image version is not specified. -
After testing, remove the
Inactive
flag so the image can be auto-selected in theHWTYPE
group. -
The
Inactive
flag can be accessed through the API. For more information, see Image Pillars.
-
-
Utilize
Freeze Image
flag.-
In the
HWTYPE
group, omit the image version. -
Before synchronizing the new image, set the
Freeze Image
flag in Saltboot formula inHWTYPE
group. This ensures that the already deployed terminals in this group will keep the old image. -
Synchronize and test the new image in the
TEST
group. -
Reset the
Freeze Image
flag inHWTYPE
group, so the terminals in this group will be updated to the new image too.
-
Do not use the whitelist in Image Synchronization formula to control which terminal boots which image. It does not provide the required granularity and does not work with containerized Branch Server. |