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 SUSE Multi-Linux Manager 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 SUSE Multi-Linux Manager 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.