Dell-satellite-sync is a tool used to import the Dell OpenManage (OM) yum
repositories into an RHN Satellite / Spacewalk server and subscribe registered
servers to the corresponding OM channels.
For additional information visit http://linux.dell.com/dell-satellite-sync.
For information on the OM yum repos, visit http://linux.dell.com/repo/hardware.
The functionality of dell-satellite-sync is divided into two parts: _server_
actions and _client_ actions.
* Server actions
For each existing OS base channel in your RHN server (i.e. RHEL 5 i386,
RHEL 6 x86_64), dell-satellite-sync creates child channels that correspond to
the repository for each Dell system and the "platform_independent" repository.
- The "platform_independent" repository is not specific to any Dell server,
it contains the main OpenManage packages and has an average of about 1200
packages (per OS release & arch).
- System-specific repositories contain driver and firmware packages that are
specific to each server, and each repository contains 10-15 packages (per OS
release and arch). Some contain as few as 2.
Dell-satellite-sync uses system IDs (4-character hex string) to create labels
for server-specific child channels. For example, the label for the RHEL 6
child channel for the Dell PowerEdge R515 server is the somewhat cryptic
'dell-om-7.3.0-dev_0x0489-rhel-x86_64-server-6', but you shouldn't
have to deal with channel labels at all. On the other hand, channel names
(which are more commonly used) have more descriptive names such as
"Dell OM 7.3.0 on per515 for rhel-x86_64-server-6".
The file /etc/sysconfig/dell-system-ids contains a mapping of server names to
system IDs that are used to label OM child channels. This list was last updated
on Oct 10, 2012. If you have a 12G PowerEdge server that started shipping after
this date, check for the latest updated file in
http://linux.dell.com/dell-satellite-sync, otherwise dell-satellite-sync will
not be able to import the system-specific channel for your server.
Dell-satellite-sync uses by default the yum repositories located in
http://linux.dell.com/repo/hardware/latest, but you can use a mirror as well.
* Client actions
When executing client actions, dell-satellite-sync queries the RHN database
for all subscribed systems and attempts to register them to the
"platform_independent" channel as well as their specific system channel.
For each registered system, it performs the following actions:
a. Installs the repositories' GPG keys, required for installing its packages.
b. Installs the 'smbios-utils' package & extracts the system ID.
c. Subscribes the system to the correct channels.
It is HIGHLY recommended that registered systems have the osad daemon installed
and running (install the 'osad' RPM). This will allow remote actions on the
systems to be executed very quickly. Otherwise, dell-satellite-sync will not
be able to report back if the remote actions completed successfully since it
will timeout after about 2 hours of waiting (systems check-in on their own
every 4 hours). If you are using a firewall, be sure open port 5222/tcp on
both the satellite server and the registered system.
On systems that were just recently registered to RHN (even with osad running),
it's possible that some of the remote actions on systems could fail since they
have not done an initial check-in. If this is the case, re-run it a few minutes
CLIENT ACTIONS ARE OPTIONAL. You can always perform these steps on each
registered system individually, but you can save *lots* of time especially if
you have a large number of registered clients. As you can see from the last
paragraphs above, there are some manual steps that you still need to perform
on registered systems prior to executing client actions, but hopefully that's
something that you have already done.
To install, simply install the pre-compiled RPM or build an RPM from source by
simply running the 'mk_rpm.sh' script. Make sure you have the 'rpm-build'
Q. Do I have to be root (superuser) to run this tool?
A. No. Since native APIs are used, this tool can be used by non-root users as
long as valid RHN login credentials are provided.
Q. I imported the yum repos for a release of OpenManage and noticed there is
a newer release, how do I upgrade OpenManage on my registered systems?
A. If you are using version 1.0.2 or later, then you can import more than one
version of the OpenManage repos into your Satellite or Spacewalk server, and
then add the new channel to your registered system to perform an upgrade:
# /opt/dell/srvadmin/sbin/srvadmin-services.sh stop
# yum -y upgrade
# /opt/dell/srvadmin/sbin/srvadmin-services.sh start
If you are using version 1.0.1 or earlier, then the only way to upgrade OM
is to remove the old channels ("--delete" option) and import the repositories
for the newer OM release.
Dell-satellite-sync 1.0.2 has a new feature that adds the OM version to the
OM channel name and label, which allows registering a server to more then one
OM channel (and thus allowing package upgrades).
Q. I imported the repositories from http://linux.dell.com/repo/hardware/latest,
and I can see the channels listed in my satellite server, but it's not
syncing any packages, it tells me there are 0 packages listed. What's wrong?
A. After the channels are created, dell-satellite-sync attempts to initiate a
sync with the defined repository. If it's not populating the channels with
packages, there is a communication issue with the remote repository. Things
to check for include:
* Can you resolve linux.dell.com or the server where the repositories are
being synced from?
* Do you have a proxy server that's causing issues?
* Is there a firewall? Port 80/TCP should be the only requirement.
* Can you initiate a manual sync? Go to the 'Channels' tab and select:
Manage Software Channels -> [Click on Channel] -> Repositories -> Sync ->
If you are still having issues, send a note to the email@example.com
mailing list with your specific question.
* The check_url() function may not be 100% effective.
This function is used to check the existance of remote repositories. If a
repository doesn't exist, it ignores the request. Useful when asking for
RHEL 6 x86 repositories, which are not available from Dell. When check_url()
returns a false positive and it creates a channel and repository which will
never be populated with packages (since they don't exist) the only way to
undo this is to manually remove the channels and repositories from RHN, or
re-run dell-satellite-sync with the "--delete" option.
Update 11/08/2013 - Switched to urllib2 library which appears to be more
effective in detecting if remote http site exists, especially when going
through a proxy server.
* Importing GPG keys in RHEL 5
This issue applies only if you are using --client-actions-only.
Starting with RHEL 5.9, there is an issue when trying to import a GPG key
# rpm --import http://linux.dell.com/repo/hardware/latest/RPM-GPG-KEY-dell
error: http://linux.dell.com/repo/hardware/latest: import read failed(-1).
A workaround is to manually download the RPM-GPG-KEY-dell and
RPM-GPG-KEY-libsmbios files on your client systems and then import the keys:
# wget http://linux.dell.com/repo/hardware/latest/RPM-GPG-KEY-dell
# wget http://linux.dell.com/repo/hardware/latest/RPM-GPG-KEY-libsmbios
# rpm --import RPM-GPG-KEY-dell
# rpm --import RPM-GPG-KEY-libsmbios
Read-only access to the git tree is available at:
$ git clone http://linux.dell.com/git/dell-satellite-sync.git
For further development queries or if you'd like to make code contributions,
please send an email to the mailing list firstname.lastname@example.org.
* Add option to specify architecture of channels (i386/x86_64) desired.
* Add option to re-sync all repositories, for the case when channels and
corresponding repositories were created, but package sync failed for some
* Add logging options.
* This tool was written by Vinny Valdez <email@example.com>
* Updates by Jose De la Rosa <firstname.lastname@example.org>, Scott Collier
and Brian Collins <email@example.com>
* Please refer to http://linux.dell.com/git/dell-satellite-sync.git/log/