Satellite Repositories

Latest response

With Satellite 5.6, I defined a postgres-9.3 child channel under the RHEL 6 channel. I then added a postgres-93 repository under the postgres=9.3 channel with the URL http://yum.postgresql.org/9.3/redhat/rhel-rhel-6.5-x86_64. How do I make the packages in the repository available to the channel. When I list the channel, it shows no packages. When I try to add packages, it doesn't show any packages to add.

Responses

Hi Tim,

I noticed the latest version of postgres from Red Hat is postgresql-8.4.20-1.el6_5.x86_64 and the one you have is version 9.3. It seems you got the rpms from (url corrected from what you mentioned I suspect:) http://yum.postgresql.org/9.3/redhat/rhel-6.5-x86_64/. Did you download, or somehow get all of those rpms to your satellite server?

I took four rpms from a third party (not from Red Hat) and just now ingested them into my very recently built Satellite server running version 5.6 running on RHEL 6.current. I made a custom channel with these, signed the rpms with my gpg key and then ingested them into my satellite server into that new channel (created today) as a test.

When I created my custom channel (next paragraph, and more examples follow, I just created four channels), I set "Organization Sharing" to "public" in the webUI (details at end of post if you want to restrict and not make it public), and entered the proper gpg info (I signed the rpms prior to ingest).

I just tested ingesting some rpms I needed in my 5.6 satellite server with the above link and it appeared under "my channels" in the Satellite webUI. I suspect you have done the following, - but I add this just in case... I navigated to "channels" at the top menu bar of the satellite server, then click on "My Channels" in the left gray field and see the custom channel I made and populated (specifics below).

However, it said it had no access to a parent channel in the webUI (not a problem in my case), yet I did give it a "Parent Channel" of "Red Hat Enterprise Linux Workstation (v. 6 for x86_64), and I just subscribed all my RHEL 6 Workstations on that satellite server to this new custom channel.

  • Another test, I needed to make a RHEL 6 server custom channel.
    I happen to have needed to add another set of rpms to my satellite server to RHEL 6 server, and here's what I entered (se the red hat documentation on channel creation, see subsequent pages after that specific page):
    (NOTE: I used a different name than "dev1" below. I only used "dev1" for the example)
    In the webUI I entered:
    Channel Name: dev1_rpms_rhel_6server
    Channel Label: dev1_rpms_rhel_6server
    Parent Channel: Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64)
    Architecture: (automatically filled in from drop-down menu just above)
    Yum Repository Checksum Type: (automatically filled in from drop-down menu two lines above)
    Channel Summary: dev1_rpms_rhel_6server
    Channel Description: dev1_rpms_rhel_6server
    Contact/Support Information Blocks filled in appropriately
    Channel Access Control BLOCK
    Per-User Subscription Restrictions: (all users)
    Organization Sharing: set to public, all systems can access as intended in this case
    SECURITY: GPG BLOCK properly filled in

  • NOTE: I used this article as a guide to sign the rpms, and ingest them to the specific channel above

  • Then I was able to go to the webUI and add my systems ("Target Systems" webUI link) under the "My Channels" portion of the Channels area on my 5.6 satllite server.

Is there any chance you have multiple organizations and did not assign the proper trusts between the channels? If you didn't set the channels to "public", and wish another setting, you can go back to that channel later and manage channel privileges. If you want to limit to specific users/admins - perhaps "channeladmin" - the documentation covers this and you can set or adjust it in the specific channel after it is created.

Let me know if I've missed something above or if this does or does not help - hope this helps.

Regards,
Remmele

Apparently, my mistake was relying on the Sync Now button. I can't tell if that actually did any thing.

I used the rhnpush --channel command and it actually did the sync that I thought the Sync Now button would do.

No I see the packages when I click "Software Channels", select the channel, I see it has 184 packages and when i click "Packages", I see the packages.

Now, however, when I do a yum repolist on the client I get the following:

yum repolist

Loaded plugins: product-id, refresh-packagekit, rhnplugin, security,
: subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
This system is receiving updates from RHN Classic or RHN Satellite.
repo id repo name status
cru-local-channel cru Local Channel 3
epel_rhel6_x86_64 EPEL for Red Hat Enterprise Linux 6 10,905
new-relic New Relic 0
postgres-9.3 Postgres 9.3 0
rhel-x86_64-server-6 Red Hat Enterprise Linux Server (v. 6 for 12,214
rhn-tools-rhel-x86_64-server-6 RHN Tools for RHEL (v. 6 for 64-bit x86_64 122
repolist: 23,244

indicating that the postgres channel has no packages!?

However, when I click on the "System", select my system, click on the postgres channel under "Alter Channel Subscriptions" and click "Packages" I see all the packages.

I haven't made it through all your comments yet.

My system, so far, is pretty simple; I'm still running a trial copy. I have 1 org, 1 system, 3 kickstarts, half a dozen snippets 3 3rd party channels and a local channel.

I successfully built a local channel with a local RPM enclosing files from a tar.gz file. I had no problem with that. In this case, I'm connecting a channel to a repository provided over the web from a 3rd party.

It sounds as though your repo.xml file either has not been created, or it hasn't been updated. (EDIT: if the repo.xml had not been created, you would get an error when you run any yum commands - so, it is likely that it just hasn't been updated.).

Try the following: (unfortunately there is no progress bar, but it should not take that long).
You then need to login to the Satellite WebUI as the satellite admin user (satadmin).
Click on the Admin tab (at the top)
Task Schedules (on the left)
find the Schedule Name "channel-repodata-default" and then click on "channel-repodata-bunch" on the right (under Bunch)
Then click on "Single Run Schedule" and wait about a minute.
Logout of the Satellite WebUI.

You can see what directories have been updated during this process

cd /var/cache/rhn
while true; do ls -lart *; sleep 30; done

This update happens daily if you don't manage it manually.

I had done rm -rf /var/cache/rhn/repodata/*.

It wouldn't seem to start regenerating the repodata. Then I found "service taskomatic restart". I'm tailing /var/log/rhn/rhn_taskomatic_daemon.log and it seems to be rebuilding things at last.

That's one way of going about it ;-) That channel repodata bunch rebuild is a pretty good thing to archive.
You can do a find /var/cache/rhn |wc -l or a du -sh /var/cache/rhn on your Satellite Server to make sure things are progressing along.