Synchronization CLI Tools
| To access a shell inside the Server container, run  | 
There are two tools for synchronizing clients to the server.
For clients that are connected to the SUSE Customer Center, use mgr-sync.
For all other clients, use spacewalk-repo-sync.
1. Synchronize SCC Repositories With mgr-sync
The primary use of mgr-sync is to connect to the SUSE Customer Center, retrieve product and package information, and prepare channels for synchronization with the Uyuni Server.
This tool is designed for use with a SUSE support subscription. It is not required for open source distributions, including openSUSE, CentOS, and Ubuntu.
The available commands and arguments for mgr-sync are listed in this table.
Use this syntax for mgr-sync commands:
mgr-sync [-h] [--version] [-v] [-s] [-d {1,2,3}] {list,add,refresh,delete}
| Command | Description | Example Use | 
|---|---|---|
| list | List channels, organization credentials, or products | 
 | 
| add | Add channels, organization credentials, or products | 
 | 
| refresh | Refresh the local copy of products, channels, and subscriptions | 
 | 
| delete | Delete existing SCC organization credentials from the local system | 
 | 
| sync | Synchronize specified channel or ask for it when left blank | 
 | 
To see the full list of options specific to a command, use this command:
mgr-sync <command> --help
| Option | Abbreviated option | Description | Example Use | 
|---|---|---|---|
| help | 
 | Display the command usage and options | 
 | 
| version | N/A | Display the currently installed version of  | 
 | 
| verbose | 
 | Provide verbose output | 
 | 
| store-credentials | 
 | Store credentials a local hidden file | 
 | 
| debug | 
 | Log additional debugging information. Requires a level of 1, 2, 3. 3 provides the highest amnount of debugging information | 
 | 
| no-sync | N/A | Use with the  | 
 | 
Logs for mgr-sync are located in:
- 
/var/log/rhn/mgr-sync.log
- 
/var/log/rhn/rhn_web_api.log
2. Synchronize Repositories with spacewalk-repo-sync
The spacewalk-repo-sync tool synchronizes software repositories into Uyuni channels.
In most cases, this happens automatically, but you can use the tool to run it manually if required.
The spacewalk-repo-sync tool has these primary commands:
| Option | Description | Example Use | 
|---|---|---|
| list | List all custom channels and the repositories assigned to them. | 
 | 
| channel | Synchronize a single channel to all repositories assigned to it. | 
 | 
| deep-verify | ignore cached package checksums. | 
 | 
| force-all-errata | force re-importing all the patches. | 
 | 
| no-packages | excludes packages from the operation. | 
 | 
For a complete list of options, see the spacewalk-repo-sync manpage:
man spacewalk-repo-sync
3. Troubleshooting Synchronization
If you are having trouble synchronizing with spacewalk-repo-sync you can find out more by watching the HTTP log as the command runs.
- 
Log the HTTP output into /var/log/zypper.log:ZYPP_MEDIA_CURL_DEBUG=2 spacewalk-repo-sync --channel <channel-label> 
- 
Export the setting: export URLGRABBER_DEBUG=DEBUG 
- 
Start the synchronization: /usr/bin/spacewalk-repo-sync --channel <channel-label> --type yum You can increase the debug level, by adding the [option]``-vvv`` option to the command. 
- 
When the complete completes, or fails, disable debug mode: unset URLGRABBER_DEBUG 
3.1. Add Custom Extra HTTP Headers
You can add custom HTTP headers to the requests made by spacewalk-repo-sync at the time of synchronization.
The custom HTTP headers are defined in the /etc/rhn/spacewalk-repo-sync/extra_headers.conf configuration file.
The headers can be defined by repository name or channel label.
You can also define global headers by putting them in the main section.
For example:
[testchannel] X-MY-HEADER-1=VALUE X-MY-HEADER-2=VALUE [mychannel] X-MY-HEADER-3=VALUE X-MY-HEADER-4=VALUE [main] X-MYGLOBAL-HEADER=VALUE
This can be particularly useful when dealing with Red Hat Update Infrastructure (RHUI) repositories in the public cloud.