Bug 1282520 - Routing-daemon does not create the openshift_application_aliases policy
Summary: Routing-daemon does not create the openshift_application_aliases policy
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 2.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Miciah Dashiel Butler Masters
QA Contact: zhaozhanqi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-16 16:38 UTC by Timothy Williams
Modified: 2022-08-04 21:54 UTC (History)
4 users (show)

Fixed In Version: rubygem-openshift-origin-routing-daemon-0.26.4.3-1.el6op
Doc Type: Bug Fix
Doc Text:
When the routing daemon is configured with F5 BIG-IP®, the routing daemon is supposed to check for the `openshift_application_aliases` local traffic policy on startup and create the policy if it does not exist. However, a logic error introduced with the release of routing-daemon-0.23.2.0-1 in OpenShift Enterprise 2.2.5 prevented this check from functioning properly. If the `openshift_application_aliases` policy did not already exist, this caused the routing daemon to fail to configure policy rules. This bug fix addresses the logic error in the routing daemon's initialization, and as a result the routing daemon now creates the `openshift_application_aliases` local traffic policy on startup if required.
Clone Of:
Environment:
Last Closed: 2015-12-17 17:11:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:2666 0 normal SHIPPED_LIVE Important: Red Hat OpenShift Enterprise 2.2.8 security, bug fix, and enhancement update 2015-12-17 22:07:54 UTC

Description Timothy Williams 2015-11-16 16:38:11 UTC
Description of problem:
When using F5, the routing-daemon does not create the openshift_application_aliases policy.

Version-Release number of selected component (if applicable):
2.2.7

How reproducible:
Always

Steps to Reproduce:
1. When the openshift_application_aliases policy has not yet been created in F5, start the routing-daemon
2.
3.

Actual results:
The openshift_application_aliases policy is not created during initalization

Expected results:
The openshift_application_aliases policy is created during initialization

Additional Info:

Fixed in https://github.com/openshift/origin-server/commit/e131a07c8568877001d74b504315c2d838ac0a58

Comment 4 Anping Li 2015-11-23 11:21:43 UTC
Failed to get policy. 

/opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/models/f5-icontrol-rest.rb:98:in `rescue in rest_request': got ArgumentError exception: must pass :url (OpenShift::LBModelException)
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/models/f5-icontrol-rest.rb:64:in `rest_request'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/models/f5-icontrol-rest.rb:105:in `get'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/models/f5-icontrol-rest.rb:390:in `initialize'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/controllers/simple.rb:148:in `new'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/controllers/simple.rb:148:in `initialize'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/daemon.rb:168:in `new'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-routing-daemon-0.26.4.1/lib/openshift/routing/daemon.rb:168:in `initialize'
        from /etc/init.d/openshift-routing-daemon:74:in `new'
        from /etc/init.d/openshift-routing-daemon:74:in `block (2 levels) in <main>'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/application.rb:215:in `call'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/application.rb:215:in `block in start_proc'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:in `call'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:in `call_as_daemon'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/application.rb:219:in `start_proc'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/application.rb:255:in `start'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in `run'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons.rb:188:in `block in run_proc'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `call'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `catch_exceptions'
        from /opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.0.10/lib/daemons.rb:187:in `run_proc'
        from /etc/init.d/openshift-routing-daemon:73:in `block in <main>'
        from /etc/init.d/openshift-routing-daemon:37:in `block (2 levels) in locked'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-common-1.29.4.1/lib/openshift-origin-common/utils/path_utils.rb:94:in `block in flock'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-common-1.29.4.1/lib/openshift-origin-common/utils/path_utils.rb:88:in `open'
        from /opt/rh/ruby193/root/usr/share/gems/gems/openshift-origin-common-1.29.4.1/lib/openshift-origin-common/utils/path_utils.rb:88:in `flock'
        from /etc/init.d/openshift-routing-daemon:36:in `block in locked'
        from /opt/rh/ruby193/root/usr/share/ruby/timeout.rb:69:in `timeout'
        from /etc/init.d/openshift-routing-daemon:35:in `locked'
        from /etc/init.d/openshift-routing-daemon:72:in `<main>'

Comment 5 Miciah Dashiel Butler Masters 2015-11-23 23:11:49 UTC
Sorry for the silly error.  The fix will be in the next puddle.

Comment 8 Miciah Dashiel Butler Masters 2015-11-24 19:47:01 UTC
The presence of pools in partitions other than the "Common" partition caused the most recent failures.  It appears the F5 BIG-IP test instance has some pools in non-Common partitions, probably in order to test a feature of the F5 integration in OpenShift 3, and the routing-daemon for OpenShift 2 fails on these pools.

The latest update to the routing-daemon filters out pools, monitors, and pool members that do not belong to the "Common" partition, which should resolve the most recent failures.

Comment 10 Anping Li 2015-11-25 02:53:52 UTC
openshift_application_aliases policy can be created. The pool can be added and removed, the application can be access via F5 Router. so move bug to F5.

Comment 12 errata-xmlrpc 2015-12-17 17:11:35 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/RHSA-2015-2666.html


Note You need to log in before you can comment on or make changes to this bug.