| Summary: | Moving gears with many aliases causes excessive number of apache reloads | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Rory Thrasher <rthrashe> |
| Component: | Containers | Assignee: | Rory Thrasher <rthrashe> |
| Status: | CLOSED ERRATA | QA Contact: | Gaoyun Pei <gpei> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 2.2.0 | CC: | agrimm, aos-bugs, jgoulding, jialiu, jokerman, mmccomas, rchopra, rthrashe, xtian, zzhao |
| Target Milestone: | --- | Keywords: | UpcomingRelease |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | rubygem-openshift-origin-node-1.38.7.1-1.el6op, rubygem-openshift-origin-frontend-apache-mod-rewrite-0.8.2.1-1.el6op, rubygem-openshift-origin-frontend-apache-vhost-0.13.3.1-1.el6op, rubygem-openshift-origin-frontend-haproxy-sni-proxy-0.5.3.1-1.el6op, etc | Doc Type: | Bug Fix |
| Doc Text: |
Cause: Moving a gear with many aliases reloads apache for each alias.
Consequence: Too many aliases means the gear move would take timeout and fail.
Fix: A gear move will now update apache once with an array of of aliases instead of updating after each alias.
Result: Gears with large numbers of aliases can now be moved.
|
Story Points: | --- |
| Clone Of: | 1194029 | Environment: | |
| Last Closed: | 2017-01-04 20:23:36 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: | |
| Bug Depends On: | 1194029 | ||
| Bug Blocks: | 1277547 | ||
|
Comment 1
Rory Thrasher
2016-12-12 22:02:02 UTC
Verify this bug with puddle 2.2/2016-12-12.1 1. Create one scalable app, add 135 alias to the app. [root@broker ~]# rhc app show app1 app1 @ http://app1-yes.ose22-auto.com.cn/ (uuid: 584ff0da82611d90c4000009) -------------------------------------------------------------------------- Domain: yes Created: 8:00 AM Gears: 1 (defaults to small) Git URL: ssh://yes-app1-1.com.cn/~/git/app1.git/ SSH: yes-app1-1.com.cn Deployment: auto (on git push) Aliases: app1-name1.com, app1-name2.com, app1-name3.com, app1-name4.com, app1-name5.com, app1-name6.com, app1-name7.com, app1-name8.com, app1-name9.com, app1-name10.com, app1-name11.com, app1-name12.com, app1-name13.com, app1-name14.com, app1-name15.com, app1-name16.com, app1-name17.com, app1-name18.com, app1-name19.com, app1-name20.com, app1-name21.com, app1-name22.com, app1-name23.com, app1-name24.com, app1-name25.com, app1-name26.com, app1-name27.com, app1-name28.com, app1-name29.com, app1-name30.com, app1-name31.com, app1-name32.com, app1-name33.com, app1-name34.com, app1-name35.com, app1-name36.com, app1-name37.com, app1-name38.com, app1-name39.com, app1-name40.com, app1-name41.com, app1-name42.com, app1-name43.com, app1-name44.com, app1-name45.com, app1-name46.com, app1-name47.com, app1-name48.com, app1-name49.com, app1-name50.com, app1-name51.com, app1-name52.com, app1-name53.com, app1-name54.com, app1-name55.com, app1-name56.com, app1-name57.com, app1-name58.com, app1-name59.com, app1-name60.com, app1-name61.com, app1-name62.com, app1-name63.com, app1-name64.com, app1-name65.com, app1-name66.com, app1-name67.com, app1-name68.com, app1-name69.com, app1-name70.com, app1-name71.com, app1-name72.com, app1-name73.com, app1-name74.com, app1-name75.com, app1-name76.com, app1-name77.com, app1-name78.com, app1-name79.com, app1-name80.com, app1-name81.com, app1-name82.com, app1-name83.com, app1-name84.com, app1-name85.com, app1-name86.com, app1-name87.com, app1-name88.com, app1-name89.com, app1-name90.com, app1-name91.com, app1-name92.com, app1-name93.com, app1-name94.com, app1-name95.com, app1-name96.com, app1-name97.com, app1-name98.com, app1-name99.com, app1-name100.com, app1-name101.com, app1-name102.com, app1-name103.com, app1-name104.com, app1-name105.com, app1-name106.com, app1-name107.com, app1-name108.com, app1-name109.com, app1-name110.com, app1-name111.com, app1-name112.com, app1-name113.com, app1-name114.com, app1-name115.com, app1-name116.com, app1-name117.com, app1-name118.com, app1-name119.com, app1-name120.com, app1-name121.com, app1-name122.com, app1-name123.com, app1-name124.com, app1-name125.com, app1-name126.com, app1-name127.com, app1-name128.com, app1-name129.com, app1-name130.com, app1-name131.com, app1-name132.com, app1-name133.com, app1-name134.com, app1-name135.com haproxy-1.4 (Web Load Balancer) ------------------------------- Gears: Located with jbosseap-6 jbosseap-6 (JBoss Enterprise Application Platform 6) ---------------------------------------------------- Scaling: x1 (minimum: 1, maximum: available) on small gears 2. Move the head gear of app1 from node1 to node2 [root@broker ~]# oo-admin-move --gear_uuid yes-app1-1 -i node2.ose22-auto.com.cn URL: http://app1-yes.ose22-auto.com.cn Login: gpei App UUID: 584ff0da82611d90c4000009 Gear UUID: 584ff0da82611d90c4000009 DEBUG: Source district uuid: 584feef382611dc026000001 DEBUG: Destination district uuid: 584feef382611dc026000001 DEBUG: Getting existing app 'app1' status before moving DEBUG: Gear component 'jbosseap-6' was running DEBUG: Stopping existing app cartridge 'jbosseap-6' before moving DEBUG: Stopping existing app cartridge 'haproxy-1.4' before moving DEBUG: Force stopping existing app before moving DEBUG: Gear platform is 'linux' DEBUG: Creating new account for gear 'yes-app1-1' on node2.ose22-auto.com.cn DEBUG: Moving content for app 'app1', gear 'yes-app1-1' to node2.ose22-auto.com.cn Warning: Permanently added '192.168.2.184' (RSA) to the list of known hosts. Warning: Permanently added '192.168.2.186' (RSA) to the list of known hosts. Agent pid 13727 unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 13727 killed; DEBUG: Moving system components for app 'app1', gear 'yes-app1-1' to node2.ose22-auto.com.cn reverse mapping checking getaddrinfo for host-192-168-2-184.openstacklocal [192.168.2.184] failed - POSSIBLE BREAK-IN ATTEMPT! Agent pid 13735 unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 13735 killed; DEBUG: Starting cartridge 'haproxy-1.4' in 'app1' after move on node2.ose22-auto.com.cn DEBUG: Starting cartridge 'jbosseap-6' in 'app1' after move on node2.ose22-auto.com.cn DEBUG: Fixing DNS and mongo for gear 'yes-app1-1' after move DEBUG: Changing server identity of 'yes-app1-1' from 'node1.ose22-auto.com.cn' to 'node2.ose22-auto.com.cn' DEBUG: Deconfiguring old app 'app1' on node1.ose22-auto.com.cn after move Successfully moved gear with uuid 'yes-app1-1' of app 'app1' from 'node1.ose22-auto.com.cn' to 'node2.ose22-auto.com.cn' 3. Check the alias record in /var/lib/openshift/.httpd.d/routes.json was successfully removed on node1 and added on node2 The added alias is still working. [root@broker ~]# curl -I -H "Host: app1-name111.com" node2.ose22-auto.com.cn HTTP/1.1 200 OK Date: Wed, 14 Dec 2016 02:52:41 GMT Server: Apache-Coyote/1.1 Accept-Ranges: bytes ETag: W/"41714-1470429862000" Last-Modified: Fri, 05 Aug 2016 20:44:22 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 41714 Cache-control: private Set-Cookie: GEAR=app1-yes; path=/ Connection: close 4. The same test on non-scalable app also works well. 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-2017-0017.html Fixed In Version field is too short to list all affected package names: rubygem-openshift-origin-node-1.38.7.1-1.el6op, rubygem-openshift-origin-frontend-apache-mod-rewrite-0.8.2.1-1.el6op, rubygem-openshift-origin-frontend-apache-vhost-0.13.3.1-1.el6op, rubygem-openshift-origin-frontend-haproxy-sni-proxy-0.5.3.1-1.el6op, rubygem-openshift-origin-frontend-nodejs-websocket-0.4.2.1-1.el6op, openshift-origin-msg-node-mcollective-1.30.3.1-1.el6op |