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-system.ven_0x1028.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 firstname.lastname@example.org
mailing list with your specific question.
* The check_url() function may not 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 email@example.com.
* 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 <firstname.lastname@example.org>
* Updates by Jose De la Rosa <email@example.com>, Scott Collier
and Brian Collins <firstname.lastname@example.org>
* Wed Nov 13 2013 Jose De la Rosa <email@example.com> 1.0.2-1
- Added OpenManage version in channels to be able to support OM upgrades.
* Fri Nov 8 2013 Jose De la Rosa <firstname.lastname@example.org> 1.0.1-1
- Replaced check_url function to verify if desired yum repo exists.
* Mon Jan 28 2013 Jose De la Rosa <email@example.com> 1.0.1-1
- Fixed bug when deleting child repo channels.
- Fixed API compatability issue with RHN 5.4.1 (channel.software.removeRepo).
- Added system ID for dx6004s.
* Tue Oct 16 2012 Jose De la Rosa <firstname.lastname@example.org> 1.0.0-1
- Major clean up for simpler use
- Added configuration files in /etc/sysconfig/dell-satellite-sync/
- Replaced rhnpush with API calls to create RHN repo & associate to channel.
- Removed requirement to copy all repositories to a local directory.
- It no longer imports all system-specific repositories by default.
- Added --channel option to specify the OS parent channel to use.
- Removed rsync option since its functionality is better suited separately.
- Removed --all option since now only Dell systems can be subscribed.
- Removed --gpg-url option since GPG keys are now imported from same place as
the repo location.
- Removed --force option since I no longer use rhnpush to upload packages to
the RHN server.
- The --delete option removes all unused RHN repositories and channels
* Wed Nov 30 2011 Jose De la Rosa <email@example.com> 0.4.5-1
- Added support for SUSE Manager 1.2
* Tue Nov 8 2011 Jose De la Rosa <firstname.lastname@example.org> 0.4.4-1
- Tested with Spacewalk 1.5 and fixed some typos
* Wed Nov 10 2009 Vinny Valdez <email@example.com> 0.4.3-1
- Expanded man page with synopsis, examples, bugs
* Sun Nov 8 2009 Scott Collier <firstname.lastname@example.org> 0.4.2-1
- created the man page
* Wed Nov 7 2009 Vinny Valdez <email@example.com> 0.4.1-1
- Fixed timeout values from 0.4, which were not sane
- Added abort but report success/failed clients if Ctrl+c or 2 hour timeout
- Fixed some output on client result waiting to clean it up
* Wed Nov 5 2009 Vinny Valdez <firstname.lastname@example.org> 0.4-1
- Added options "--rhel5-only" and "--rhel4-only" to work around a bug in some
of the Dell rpms that are being treated as the same in Satellite
- Added option "--only-systems" that accepts a comma separated list of systems
to rsync and create child channels for
- Added package removal from Satellite in the channels with --delete now
- Added --exclude-from list if --only-systems is specified
- Added --repo to specify a specific repo to pull from
- Added timestamps to output
- Fixed bug with --debug mode in version 0.3
* Tue Oct 30 2009 Vinny Valdez <email@example.com> 0.3-1
- Cleaned up some output on the client side actions
- Added "raise" statement if using debug in some cases
- Added summary of client actions at end of process
- Added try/except on importing modules
* Tue Oct 27 2009 Vinny Valdez <firstname.lastname@example.org> 0.2-1
- Initial package created from version 0.2 of the source script