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.