This sections contains notes on administering your SUSE Manager for Retail installation. For general administration tasks, see the SUSE Manager documentation at https://www.suse.com/documentation/suse-manager-3/
Branch servers are configured individually using formulas. If you are working in an environment with many branch servers, you might find it easier to configure the terminals automatically with a pre-defined configuration file, rather than configuring each branch server individually.
This procedure requires the python-susemanager-retail
package, which is provided with SUSE Manager for Retail.
Install the python-susemanager-retail
package on the SUSE Manager server.
Create a YAML file describing the infrastructure you intend to install. An example YAML file is at the end of this chapter, for you to reference.
On a clean SUSE Manager installation, import the YAML file you have created:
retail_yaml --from-yaml filename.yaml
You can use the retail_yaml --help
command for additional options.
If you need to change your configuration, you can edit the YAML file at any time, and use the retail_yaml --from-yaml
command to upload the new configuration.
Use the empty profiles together with activation keys to onboard all the systems of your infrastructure. Use an activation key to assign the channels listed in Configuring Server.
For hardware requirements, see Point-of-Service Terminals.
Before terminals can be deployed, ensure you have prepared a saltboot based OS image. For how to build OS images, see https://www.suse.com/documentation/suse-manager-3/3.2/susemanager-advanced-topics/html/book.suma.advanced.topics/at.images.html#at.images.kiwi.
Each terminal requires a specific hardware type, which contains information about the product name and terminal manufacturer.
However, the SUSE Manager database does not have this information to begin with.
In order to tell SUSE Manager what image to deploy on each terminal, you can set hardware type groups.
After you have created your new hardware type group, you can apply the saltboot-formula
to the group and configure it for your environment.
After you have registered new terminals, always check the SUSE Manager Web UI to ensure your terminal has connected successfully to the branch server, and you have not connected directly to the SUSE Manager server by mistake.
Hardware types allow you to group devices according to manufacturer and device name, so that all devices of a particular type can be managed as one.
You will need to create appropriate hardware types in your system.
Empty profiles can be assigned to a hardware type group either before or after registration. If an empty profile is not assigned to a hardware type group before registration, it will be assigned to group that best matches the product information available to it.
For this procedure, you will require the system manufacturer name and product name for your terminal.
Determine the hardware type group name.
Prefix the name with HWTYPE:
, followed by the system manufacturer name and product name, separated by a hyphen.
For example:
HWTYPE:POSVendor-Terminal1
Only use colons (:
), hyphens (-
) or underscores (_
) in hardware type group names.
Spaces and other non-alphanumeric characters will be removed when the name is processed.
In the SUSE Manager Web UI, navigate to Groups
tab.
Click the
button.In the Create System Group
dialog, create a new system group, using the hardware type group name you created earlier.
In the SUSE Manager Web UI, terminals have a standard naming format which allows you to match the physical device with its record. By default, the name uses this format:
BranchName.Manufacturer-ProductName-SerialNumber-MachineID
For example:
B002.TOSHIBA-6140100-41BA03X-c643
You can adjust this behavior by toggling the DISABLE_HOSTNAME_ID
and DISABLE_UNIQUE_SUFFIX
parameters in the PXE formula settings.
For more information about the PXE formula, see PXE Formula.
If you are working in an environment with many terminals, you might find it easier to configure the terminals automatically with a pre-defined configuration file, rather than configuring each terminal individually.
In order to do this, you will need to have your infrastructure planned out ahead of time, including the IP addresses, hostnames, and domain names of branch servers and terminals. You will also require the hardware (MAC) addresses of each terminal.
The settings specified in the configuration file cannot always be successfully applied. In cases where there is a conflict, SUSE Manager will ignore the request in the file. This is especially important when designating hostnames. You should always check the details have been applied as expected after using this configuration method.
Create a YAML file describing the infrastructure you intend to install, specifying the hardware address for each terminal. An example YAML file is at the end of this chapter, for you to reference.
On a clean SUSE Manager installation, import the YAML file you have created:
retail_yaml --from-yaml filename.yaml
You can use the retail_yaml --help
command for additional options.
In the SUSE Manager Web UI, check that your systems are listed and displaying correctly, and the formulas you require are available.
Create activation keys for each of your branch servers, connect them using bootstrap, and configure them as proxy servers. For further information on these steps, see the SUSE Manager documentation.
Apply highstate to apply your configuration changes.
In the States
tab, click .
Connect your terminals according to your infrastructure plan.
If you need to change your configuration, you can edit the YAML file at any time, and use the retail_yaml --from-yaml
command to upload the new configuration.
If you have a current configuration that you would like to export to a YAML file, use:
retail_yaml --to-yaml filename.yaml
This can be a good way to create a basic mass configuration file. However it is important to check the file before using it, as some mandatory configuration entries will be missing.
When you are designing your configuration and creating the YAML file, ensure the branch server ID matches the fully qualified hostname, and the Salt ID. If these do not match, the bootstrap script could fail.
You can use the retail_yaml
command to import configuration parameters from a pre-prepared YAML file.
This section contains a commented example YAML file for you to reference.
Example: YAML mass terminal configuration file.
branches: # there are 2 possible setups: with / without dedicated NIC # # with dedicated NIC branchserver1.branch1.cz: # salt ID of branch server branch_prefix: branch1 # optional, default guessed from salt id server_name: branchserver1 # optional, default guessed from salt id server_domain: branch1.cz # optional, default guessed from salt id nic: eth1 # nic used for connecting terminals, default taken from hw info in SUMA dedicated_nic: true # set to true if the terminals are on separate network salt_cname: branchserver1.branch1.cz # hostname of salt master / broker for terminals, mandatory configure_firewall: true # modify firewall configuration branch_ip: 192.168.2.1 # default for dedicated NIC: 192.168.1.1 netmask: 255.255.255.0 # default for dedicated NIC: 255.255.255.0 dyn_range: # default for dedicated NIC: 192.168.1.10 - 192.168.1.250 - 192.168.2.10 - 192.168.2.250 # without dedicated NIC # the DHCP formula is not used, DHCP is typically provided by a router # the network parameters can be autodetected if the machine is already connected to SUSE Manager branchserver2.branch2.cz: # salt ID of branch server branch_prefix: branch2 # optional, default guessed from salt id server_name: branchserver2 # optional, default guessed from salt id server_domain: branch2.cz # optional, default guessed from salt id salt_cname: branchserver2.branch1.cz # FQDN of salt master / broker for terminals, mandatory branch_ip: 192.168.2.1 # optional, default taken from SUMA data if the machine is registered netmask: 255.255.255.0 # optional, default taken from SUMA data if the machine is registered exclude_formulas: # optional, do not configure listed formulas - dhcp # without dedicated NIC the dhcp service is typically provided by a router hwAddress: 11:22:33:44:55:66 # optional, required to connect pre-configured entry with particular machine # during onboarding terminals: # configuration of static terminal entries hostname1: # hostname hwAddress: aa:aa:aa:bb:bb:bb # required as unique id of a terminal IP: 192.168.2.50 # required for static dhcp and dns entry saltboot: # optional, alternative 1: configure terminal-specific pillar data partitioning: # partitioning pillar as described in saltboot documentation disk1: device: /dev/sda disklabel: msdos partitions: p1: flags: swap format: swap size_MiB: 2000.0 p2: image: POS_Image_JeOS6 mountpoint: / type: DISK hostname2: # hostname hwAddress: aa:aa:aa:bb:bb:cc # required as unique id of a terminal IP: 192.168.2.51 # required for static dhcp and dns entry hwtype: IBMCORPORATION-4838910 # optional, alternative 2: assign the terminal to hwtype group # if neither of hwtype nor saltboot is specified, a group is assigned according to hwtype # reported by bios on the first boot hwtypes: IBMCORPORATION-4838910: # HWTYPE string (manufacturer-model) as returned by bios description: 4838-910 # freetext description saltboot: partitioning: # partitioning pillar as described in saltboot documentation disk1: device: /dev/sda disklabel: msdos partitions: p1: flags: swap format: swap size_MiB: 1000.0 p2: image: POS_Image_JeOS6 mountpoint: / type: DISK TOSHIBA-6140100: description: HWTYPE:TOSHIBA-6140100 saltboot: partitioning: disk1: device: /dev/sda disklabel: msdos partitions: p1: flags: swap format: swap size_MiB: 1000.0 p2: image: POS_Image_JeOS6 mountpoint: / type: DISK