Bug 1152734

Summary: Update subman ostree content plugin to use ostree cli for manipulating 'remote' configs
Product: Red Hat Enterprise Linux 7 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED ERRATA QA Contact: John Sefler <jsefler>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: alikins, bkearney, walters, wpoteat
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 13:15:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1005618    

Description John Sefler 2014-10-14 20:00:20 UTC
Description of problem:
On an Atomic system, there is a /ostree/repo/config file that contains "remote" configurations.  When the config file contains more than one remote configuration that is not provided by the "ostree" content sets of an atomic subscription that is being attached (I'll call these "other remotes"), the other remotes get deleted.  I do NOT think the subscription-manager-plugin-ostree has the right to delete these "other remotes".  The same is true when removing an atomic subscription, any "other remotes" in the /ostree/repo/config should remain after detaching an atomic subscription (only the "entitled remote" should be removed).


Version-Release number of selected component (if applicable):
rhel-atomic-host-installer-20141008.iso
-bash-4.2# rpm -q subscription-manager-plugin-ostree
subscription-manager-plugin-ostree-1.12.5-1.git.9.1a03d02.el7.x86_64




How reproducible:


Steps to Reproduce:
After installing a fresh atomic image from rhel-atomic-host-installer-20141008.iso....

-bash-4.2# cat /ostree/repo/config
[core]
repo_version=1
mode=bare

[remote "rhel-atomic-host"]
url=file:///install/ostree
gpg-verify=false
-bash-4.2# 

Now manually insert some "other" remote to the config file so that it looks like this...

-bash-4.2# cat /ostree/repo/config
[core]
repo_version=1
mode=bare

[remote "other"]
url = https://cdn.redhat.com/path/to/other
gpg-verify = false
tls-client-cert-path = /etc/pki/entitlement/3985640235321135955.pem
tls-client-key-path = /etc/pki/entitlement/3985640235321135955-key.pem
tls-ca-path = /etc/rhsm/ca/redhat-uep.pem

[remote "rhel-atomic-host"]
url=file:///install/ostree
gpg-verify=false
-bash-4.2#

Now register with autosubscribe...

-bash-4.2# subscription-manager register --username=stage_auto_testuser --serverurl=subscription.rhn.stage.redhat.com:443/subscription --auto-attach
Password: 
The system has been registered with ID: 7fd523a3-ec26-47e3-a6d8-b384543d0373 
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Subscribed

Product Name: Red Hat Enterprise Linux Atomic Host
Status:       Subscribed

-bash-4.2#
-bash-4.2# cat /ostree/repo/config
[core]
repo_version=1
mode=bare

[remote "rhel-atomic-preview-ostree"]
url = https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo
gpg-verify = false
tls-client-cert-path = /etc/pki/entitlement/4575952264076846897.pem
tls-client-key-path = /etc/pki/entitlement/4575952264076846897-key.pem
tls-ca-path = /etc/rhsm/ca/redhat-uep.pem
-bash-4.2# 

BANG! The "other" remote has been deleted from /ostree/repo/config.  Did not expect that.

Likewise the same thing happens when unsubscribing...
Re-insert the "other" remote into /ostree/repo/config to look like this...

-bash-4.2# cat /ostree/repo/config 
[core]
repo_version=1
mode=bare

[remote "rhel-atomic-preview-ostree"]
url = https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo
gpg-verify = false
tls-client-cert-path = /etc/pki/entitlement/4575952264076846897.pem
tls-client-key-path = /etc/pki/entitlement/4575952264076846897-key.pem
tls-ca-path = /etc/rhsm/ca/redhat-uep.pem

[remote "other"]
url = https://cdn.redhat.com/path/to/other
gpg-verify = false
tls-client-cert-path = /etc/pki/entitlement/3985640235321135955.pem
tls-client-key-path = /etc/pki/entitlement/3985640235321135955-key.pem
tls-ca-path = /etc/rhsm/ca/redhat-uep.pem

-bash-4.2# 

Now unregister...
-bash-4.2# subscription-manager unregister
System has been unregistered.
-bash-4.2# 
-bash-4.2# cat /ostree/repo/config 
[core]
repo_version=1
mode=bare
-bash-4.2# 

BANG! In my opinion, the "other" remote should have remained in /ostree/repo/config since it was not provided by the subscription manager entitlement.







Additional info:

From /var/log/rhsm/rhsm.log
2014-10-14 14:43:35,687 [DEBUG] subscription-manager @plugins.py:769 - Running update_content_hook in ostree_content.OstreeContentPlugin
2014-10-14 14:43:35,687 [DEBUG] subscription-manager @base_action_client.py:85 - running lib: <subscription_manager.content_action_client.ContentPluginActionInvoker object at 0x24e05d0>
2014-10-14 14:43:35,688 [INFO] subscription-manager @ostree_content.py:35 - Updating OSTree content.
2014-10-14 14:43:35,689 [DEBUG] subscription-manager @ostree_content.py:36 - ostree module: <module 'subscription_manager.plugin.ostree' from '/usr/share/rhsm/subscription_manager/plugin/ostree/__init__.py'>
2014-10-14 14:43:35,689 [DEBUG] subscription-manager @ostree_content.py:37 - dir(ostree): ['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'action_invoker', 'config', 'model']
2014-10-14 14:43:35,689 [DEBUG] subscription-manager @ostree_content.py:38 - conduit.ent_source: <subscription_manager.content_action_client.EntitlementDirEntitlementSource object at 0x3066d50>
2014-10-14 14:43:35,689 [DEBUG] subscription-manager @ostree_content.py:40 - ent_source ent: <subscription_manager.models.EntitlementCertEntitlement object at 0x24e14d0>
2014-10-14 14:43:35,690 [DEBUG] subscription-manager @ostree_content.py:40 - ent_source ent: <subscription_manager.models.EntitlementCertEntitlement object at 0x24e1610>
2014-10-14 14:43:35,691 [DEBUG] subscription-manager @model.py:254 - section: |remote "other"|
2014-10-14 14:43:35,691 [DEBUG] subscription-manager @model.py:256 - item_list: [('url', 'https://cdn.redhat.com/path/to/other'), ('tls-client-cert-path', '/etc/pki/entitlement/3985640235321135955.pem'), ('tls-client-key-path', '/etc/pki/entitlement/3985640235321135955-key.pem'), ('gpg-verify', 'false'), ('tls-ca-path', '/etc/rhsm/ca/redhat-uep.pem')]
2014-10-14 14:43:35,692 [DEBUG] subscription-manager @model.py:258 - items: {'url': 'https://cdn.redhat.com/path/to/other', 'tls-client-cert-path': '/etc/pki/entitlement/3985640235321135955.pem', 'tls-client-key-path': '/etc/pki/entitlement/3985640235321135955-key.pem', 'gpg-verify': 'false', 'tls-ca-path': '/etc/rhsm/ca/redhat-uep.pem'}
2014-10-14 14:43:35,692 [DEBUG] subscription-manager @model.py:132 - ITEMS: {'url': 'https://cdn.redhat.com/path/to/other', 'tls-client-cert-path': '/etc/pki/entitlement/3985640235321135955.pem', 'tls-client-key-path': '/etc/pki/entitlement/3985640235321135955-key.pem', 'gpg-verify': 'false', 'tls-ca-path': '/etc/rhsm/ca/redhat-uep.pem'}
2014-10-14 14:43:35,693 [DEBUG] subscription-manager @model.py:254 - section: |remote "rhel-atomic-host"|
2014-10-14 14:43:35,693 [DEBUG] subscription-manager @model.py:256 - item_list: [('url', 'file:///install/ostree'), ('gpg-verify', 'false')]
2014-10-14 14:43:35,694 [DEBUG] subscription-manager @model.py:258 - items: {'url': 'file:///install/ostree', 'gpg-verify': 'false'}
2014-10-14 14:43:35,694 [DEBUG] subscription-manager @model.py:132 - ITEMS: {'url': 'file:///install/ostree', 'gpg-verify': 'false'}
2014-10-14 14:43:35,694 [DEBUG] subscription-manager @action_invoker.py:127 - adding rhel-atomic-preview-ostree to ostree content
2014-10-14 14:43:35,695 [DEBUG] subscription-manager @model.py:450 - builder.build <subscription_manager.plugin.ostree.action_invoker.OstreeContents object at 0x24e3250>
2014-10-14 14:43:35,695 [DEBUG] subscription-manager @action_invoker.py:66 - Updates orig: <OsTreeConfig repo_file_path=None>
Core: {'repo_version': '1', 'mode': 'bare'}
Remotes: 
<class 'subscription_manager.plugin.ostree.model.OstreeRemotes'>
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e32d0>
 (name=other
 url=https://cdn.redhat.com/path/to/other
 gpg_verify=false
 tls_client_cert_path=/etc/pki/entitlement/3985640235321135955.pem
 tls_client_key_path=/etc/pki/entitlement/3985640235321135955-key.pem)
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e3310>
 (name=rhel-atomic-host
 url=file:///install/ostree
 gpg_verify=false
 tls_client_cert_path=None
 tls_client_key_path=None)
</OstreeRemotes>

2014-10-14 14:43:35,696 [DEBUG] subscription-manager @action_invoker.py:67 - Updates new: <OsTreeConfig repo_file_path=None>
Core: {'repo_version': '1', 'mode': 'bare'}
Remotes: 
<class 'subscription_manager.plugin.ostree.model.OstreeRemotes'>
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e3490>
 (name=rhel-atomic-preview-ostree
 url=/content/preview/rhel/atomic/7/x86_64/ostree/repo
 gpg_verify=False
 tls_client_cert_path=/etc/pki/entitlement/4575952264076846897.pem
 tls_client_key_path=/etc/pki/entitlement/4575952264076846897-key.pem)
</OstreeRemotes>

2014-10-14 14:43:35,696 [DEBUG] subscription-manager @action_invoker.py:68 - Updates.new.remote_set: 
<class 'subscription_manager.plugin.ostree.model.OstreeRemotes'>
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e3490>
 (name=rhel-atomic-preview-ostree
 url=/content/preview/rhel/atomic/7/x86_64/ostree/repo
 gpg_verify=False
 tls_client_cert_path=/etc/pki/entitlement/4575952264076846897.pem
 tls_client_key_path=/etc/pki/entitlement/4575952264076846897-key.pem)
</OstreeRemotes>

2014-10-14 14:43:35,697 [DEBUG] subscription-manager @model.py:549 - OstreeConfigUpdates.save
2014-10-14 14:43:35,697 [DEBUG] subscription-manager @model.py:514 - OstreeConfig.save
2014-10-14 14:43:35,698 [DEBUG] subscription-manager @model.py:299 - ostreeRepoConfigFileLoader.save <OsTreeConfig repo_file_path=None>
Core: {'repo_version': '1', 'mode': 'bare'}
Remotes: 
<class 'subscription_manager.plugin.ostree.model.OstreeRemotes'>
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e3490>
 (name=rhel-atomic-preview-ostree
 url=/content/preview/rhel/atomic/7/x86_64/ostree/repo
 gpg_verify=False
 tls_client_cert_path=/etc/pki/entitlement/4575952264076846897.pem
 tls_client_key_path=/etc/pki/entitlement/4575952264076846897-key.pem)
</OstreeRemotes>

2014-10-14 14:43:35,699 [DEBUG] subscription-manager @config.py:201 - full_url: https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo
2014-10-14 14:43:35,700 [DEBUG] subscription-manager @config.py:144 - OstreeConfigFile.save
2014-10-14 14:43:35,701 [DEBUG] subscription-manager @config.py:117 - section: core
2014-10-14 14:43:35,701 [DEBUG] subscription-manager @config.py:119 -      repo_version: 1
2014-10-14 14:43:35,701 [DEBUG] subscription-manager @config.py:119 -      mode: bare
2014-10-14 14:43:35,702 [DEBUG] subscription-manager @config.py:117 - section: remote "rhel-atomic-preview-ostree"
2014-10-14 14:43:35,702 [DEBUG] subscription-manager @config.py:119 -      url: https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo
2014-10-14 14:43:35,702 [DEBUG] subscription-manager @config.py:119 -      tls-client-cert-path: /etc/pki/entitlement/4575952264076846897.pem
2014-10-14 14:43:35,702 [DEBUG] subscription-manager @config.py:119 -      tls-client-key-path: /etc/pki/entitlement/4575952264076846897-key.pem
2014-10-14 14:43:35,703 [DEBUG] subscription-manager @config.py:119 -      gpg-verify: false
2014-10-14 14:43:35,703 [DEBUG] subscription-manager @config.py:119 -      tls-ca-path: /etc/rhsm/ca/redhat-uep.pem
2014-10-14 14:43:35,703 [DEBUG] subscription-manager @config.py:112 - KeyFile.save /ostree/repo/config
2014-10-14 14:43:35,705 [DEBUG] subscription-manager @model.py:254 - section: |remote "rhel-atomic-preview-ostree"|
2014-10-14 14:43:35,705 [DEBUG] subscription-manager @model.py:256 - item_list: [('url', 'https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo'), ('tls-client-cert-path', '/etc/pki/entitlement/4575952264076846897.pem'), ('tls-client-key-path', '/etc/pki/entitlement/4575952264076846897-key.pem'), ('gpg-verify', 'false'), ('tls-ca-path', '/etc/rhsm/ca/redhat-uep.pem')]
2014-10-14 14:43:35,705 [DEBUG] subscription-manager @model.py:258 - items: {'url': 'https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo', 'tls-client-cert-path': '/etc/pki/entitlement/4575952264076846897.pem', 'tls-client-key-path': '/etc/pki/entitlement/4575952264076846897-key.pem', 'gpg-verify': 'false', 'tls-ca-path': '/etc/rhsm/ca/redhat-uep.pem'}
2014-10-14 14:43:35,706 [DEBUG] subscription-manager @model.py:132 - ITEMS: {'url': 'https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo', 'tls-client-cert-path': '/etc/pki/entitlement/4575952264076846897.pem', 'tls-client-key-path': '/etc/pki/entitlement/4575952264076846897-key.pem', 'gpg-verify': 'false', 'tls-ca-path': '/etc/rhsm/ca/redhat-uep.pem'}
2014-10-14 14:43:36,029 [DEBUG] subscription-manager @model.py:375 - Loading ostree origin file: /ostree/deploy/rhel-atomic-host/deploy/d9ec78161bc5a6a571337cdfc4ce807e974e4536a4d4e796ec27f602ea9fc8da.0.origin
2014-10-14 14:43:36,032 [WARNING] subscription-manager @model.py:390 - Multiple remotes configured in <OsTreeConfig repo_file_path=None>
Core: {'repo_version': '1', 'mode': 'bare'}
Remotes: 
<class 'subscription_manager.plugin.ostree.model.OstreeRemotes'>
 <subscription_manager.plugin.ostree.model.OstreeRemote object at 0x24e74d0>
 (name=rhel-atomic-preview-ostree
 url=https://cdn.redhat.com/content/preview/rhel/atomic/7/x86_64/ostree/repo
 gpg_verify=false
 tls_client_cert_path=/etc/pki/entitlement/4575952264076846897.pem
 tls_client_key_path=/etc/pki/entitlement/4575952264076846897-key.pem)
</OstreeRemotes>
.
2014-10-14 14:43:36,033 [DEBUG] subscription-manager @model.py:392 - old_refspec: rhel-atomic-host:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,034 [DEBUG] subscription-manager @model.py:363 - First portion of previous ref: rhel-atomic-host
2014-10-14 14:43:36,035 [DEBUG] subscription-manager @model.py:394 - new_remote: None
2014-10-14 14:43:36,035 [WARNING] subscription-manager @model.py:396 - Unable to find matching remote for origin: rhel-atomic-host:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,036 [WARNING] subscription-manager @model.py:397 - Leaving refspec in /ostree/deploy/rhel-atomic-host/deploy/d9ec78161bc5a6a571337cdfc4ce807e974e4536a4d4e796ec27f602ea9fc8da.0.origin
2014-10-14 14:43:36,037 [WARNING] subscription-manager @model.py:413 - No remotes that match refspec for deployed origin found, so choosing the first remote names sorted: rhel-atomic-preview-ostree
2014-10-14 14:43:36,038 [DEBUG] subscription-manager @model.py:422 - old_refspec: rhel-atomic-host:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,038 [DEBUG] subscription-manager @model.py:423 - new_refspec: rhel-atomic-preview-ostree:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,038 [INFO] subscription-manager @model.py:425 - Updating refspec in: /ostree/deploy/rhel-atomic-host/deploy/d9ec78161bc5a6a571337cdfc4ce807e974e4536a4d4e796ec27f602ea9fc8da.0.origin
2014-10-14 14:43:36,038 [INFO] subscription-manager @model.py:426 -     old = rhel-atomic-host:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,039 [INFO] subscription-manager @model.py:427 -     new = rhel-atomic-preview-ostree:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,039 [DEBUG] subscription-manager @config.py:117 - section: origin
2014-10-14 14:43:36,039 [DEBUG] subscription-manager @config.py:119 -      refspec: rhel-atomic-preview-ostree:rhel-atomic-host/7/x86_64/standard
2014-10-14 14:43:36,040 [DEBUG] subscription-manager @config.py:112 - KeyFile.save /ostree/deploy/rhel-atomic-host/deploy/d9ec78161bc5a6a571337cdfc4ce807e974e4536a4d4e796ec27f602ea9fc8da.0.origin
2014-10-14 14:43:36,041 [DEBUG] subscription-manager @action_invoker.py:84 - Ostree update report: Ostree repo updates

Updates:
remote "rhel-atomic-preview-ostree"
	url: /content/preview/rhel/atomic/7/x86_64/ostree/repo
	gpg-verify: False
	tls-client-cert-path: /etc/pki/entitlement/4575952264076846897.pem
	tls-client-key-path: /etc/pki/entitlement/4575952264076846897-key.pem
	tls-ca-path: None
Added:
remote "rhel-atomic-preview-ostree"
	url: /content/preview/rhel/atomic/7/x86_64/ostree/repo
	gpg-verify: False
	tls-client-cert-path: /etc/pki/entitlement/4575952264076846897.pem
	tls-client-key-path: /etc/pki/entitlement/4575952264076846897-key.pem
	tls-ca-path: None
Deleted:
remote "rhel-atomic-preview-ostree"
	url: /content/preview/rhel/atomic/7/x86_64/ostree/repo
	gpg-verify: False
	tls-client-cert-path: /etc/pki/entitlement/4575952264076846897.pem
	tls-client-key-path: /etc/pki/entitlement/4575952264076846897-key.pem
	tls-ca-path: None

Comment 2 John Sefler 2014-10-14 20:10:44 UTC
NEEDINFO from someone on the ostree team who can determine the severity of this behavior.  

I actually should have pointed out that both the "other" remote as well as the original "rhel-atomic-host" remote was deleted by the subscription-manager-plugin-ostree.   I don't know enough about ostree to know if this is desired.  It seems to me that after removing the entitlement, the system admin would still want to regain access to the original non-subscription-manager-entitled remote ostree configurations.

Comment 3 Colin Walters 2014-10-15 17:40:17 UTC
True, but a mitigating factor here is that newer versions of "ostree remote add" (as an admin might invoke manually) will write to /etc/ostree/remotes.d, which won't be overwritten.

It would be good though if subman was updated to use that.

Comment 4 Adrian Likins 2014-10-17 16:43:54 UTC
(In reply to Colin Walters from comment #3)
> True, but a mitigating factor here is that newer versions of "ostree remote
> add" (as an admin might invoke manually) will write to
> /etc/ostree/remotes.d, which won't be overwritten.
> 
> It would be good though if subman was updated to use that.

That seems like the right approach. Going to change bug info to make this more of a RFE about updating subman plugin (though a blocking RFE)

Comment 5 Adrian Likins 2014-12-04 14:58:40 UTC
Still not using cli for adding repos, but did move to using /etc/ostree/repos.d/redhat.conf for our info.

commit 11b377f78dcb06d8dbff5645750791b729e20a0e
Author: Adrian Likins <alikins>
Date:   Thu Nov 20 15:55:09 2014 -0500

    Move ostree config to /etc/ostree/remotes.d/redhat.conf
    
    Split up the OstreeConfig usage, so we can track
    what info came from the old location and clean it up.
    
    If we see an old style config with remotes in it, we
    delete them. And then write the remote config to the
    new file.
    
    Also clean up some heavy logging.

Comment 8 John Sefler 2015-01-20 19:27:22 UTC
Verifying atomic compose http://download.eng.bos.redhat.com/rel-eng/Atomic/7/trees/GA.brew/images/20150114.1/

After installing this compose 20150114.1, it includes subscription-manager version...
-bash-4.2# rpm -q subscription-manager subscription-manager-plugin-ostree
subscription-manager-1.13.12-1.el7.x86_64
subscription-manager-plugin-ostree-1.13.12-1.el7.x86_64


With the new implementation from comment 5, the original problem report from comment 0 is no longer an issue.

-bash-4.2# cat /ostree/repo/config
[core]
repo_version=1
mode=bare
-bash-4.2# 
-bash-4.2# cat /etc/ostree/remotes.d/redhat.conf 
-bash-4.2# 
-bash-4.2# subscription-manager register --serverurl=subscription.rhn.stage.redhat.com --username stage_auto_testuser --baseurl=https://cdn.qa.redhat.com --autosubscribe
Password: 
The system has been registered with ID: 549611d3-8dd6-4eb1-9979-36c819218be5 

Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Subscribed

Product Name: Red Hat Enterprise Linux Atomic Host Beta
Status:       Subscribed

-bash-4.2# 
-bash-4.2# cat /ostree/repo/config
[core]
repo_version=1
mode=bare
-bash-4.2# 
-bash-4.2# cat /etc/ostree/remotes.d/redhat.conf
[remote "rhel-atomic-host-beta-ostree"]
url = https://cdn.qa.redhat.com/content/beta/rhel/atomic/7/x86_64/ostree/repo
gpg-verify = false
tls-client-cert-path = /etc/pki/entitlement/7782055078065006424.pem
tls-client-key-path = /etc/pki/entitlement/7782055078065006424-key.pem
tls-ca-path = /etc/rhsm/ca/redhat-uep.pem
-bash-4.2# 


VERIFIED: subscription-manager no longer configures ostree via the /ostree/repo/config file with entitled remotes.  subscription-manager now configures remotes via /etc/ostree/remotes.d/redhat.conf file which is not shared with any other tooling.

Comment 10 errata-xmlrpc 2015-03-05 13:15:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0502.html