jose-delarosa / dell-satellite-sync Goto Github PK
View Code? Open in Web Editor NEWDistribute Dell OpenManage content via Satellite Server
License: GNU General Public License v3.0
Distribute Dell OpenManage content via Satellite Server
License: GNU General Public License v3.0
Introduction ============ Dell-satellite-sync is a tool used to import the Dell OpenManage Server Administrator (OMSA) yum repositories into an RHN Satellite / Spacewalk server and subscribe registered servers to corresponding OMSA channels. For additional information visit http://linux.dell.com/dell-satellite-sync. For information on OMSA yum repos, visit http://linux.dell.com/repo/hardware. Overview | ======== 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 OMSA child channels. This list is updated every few months and it is possible that it might be outdated at any given time (though we try to keep up with new servers!). If a system ID for a newer PowerEdge server is not in the dell-system-ids file, 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 any mirror you'd like. * 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 later. 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. Installation ============ 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' package installed. FAQ === 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 OMSA is to remove the old channels ("--delete" option) and import the repositories for the newer OMSA release. Dell-satellite-sync 1.0.2 has a new feature that adds the OMSA version to the OMSA channel name and label, which allows registering a server to more than one OMSA 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 -> Sync Now If you are still having issues, send a note to the [email protected] mailing list with your specific question. Known Issues ============ * 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 over http: # 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 Getting Involved ================ Access to the git tree is available at: $ git clone https://github.com/jose-delarosa/dell-satellite-sync For code contributions please submit a pull request. For other development queries please send an email to the mailing list [email protected]. To-Do List ========== * Add support for RHEL 7 * 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 reason. * Add logging options. Author ====== * This tool was written by Vinny Valdez <[email protected]> * Updates by Jose De la Rosa <[email protected]>, Scott Collier and Brian Collins <[email protected]> History ======= * Please refer to https://github.com/jose-delarosa/dell-satellite-sync/commits
Hi
There is no way to pull for RHEL7 only 5/6. Can this be added?
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.