| Summary: | ActionDispatch::Cookies::CookieOverflow for big deployments | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Retired] CloudForms Cloud Engine | Reporter: | Jan Provaznik <jprovazn> | ||||||
| Component: | aeolus-conductor | Assignee: | Jan Provaznik <jprovazn> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | wes hayutin <whayutin> | ||||||
| Severity: | low | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 1.0.0 | CC: | akarol, deltacloud-maint, hbrock, rwsu, ssachdev | ||||||
| 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: | 2012-05-15 22:25:27 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Attachments: |
|
||||||||
deployables w/ multiple assemblies is not supported in 1.0, low priority This error can occur in other situations too - anywhere where we work with multiple objects and save a result into flash, for example when stopping instances: start many deployments (30) on one provider, better to use long instance time, then stop DC core and rty to stop instances. Condutor prints list of instances which failed to stop, but if this list will be sufficiently long, it will throws exception page. Heh, found funny related bug: in config/initializers/session_store.rb we define: Conductor::Application.config.session_store = :active_record_store but correct syntax is: Conductor::Application.config.session_store :active_record_store Because of wrong syntax, default CookieSession is used, which is... bad. But this doesn't solve the problem. For some reason flash object is saved in _session_id key string, this string is: 1) sent as cookie (4k limit anyway) 2) is used when storing session in DB (if SessionStore is used) - there is varchar(255) limit for _session_id in db table, so another exception is raised. Going to check if we can somehow set what is saved in '_session_id' string. pushed, commit: 8654859c236693f7ca81aadf1b539cf379742141 Created attachment 565590 [details]
long flash error
Created attachment 565591 [details]
25_instances
launched a deployment with 25 assemblies , for a realm not mapped to any provider.. Long flash error is displayed.. rpm -qa|grep aeolus aeolus-conductor-0.8.0-35.el6.noarch rubygem-aeolus-cli-0.3.0-10.el6.noarch aeolus-conductor-doc-0.8.0-35.el6.noarch rubygem-aeolus-image-0.3.0-9.el6.noarch aeolus-all-0.8.0-35.el6.noarch aeolus-conductor-daemons-0.8.0-35.el6.noarch aeolus-configure-2.5.0-15.el6.noarch 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. http://rhn.redhat.com/errata/RHEA-2012-0583.html |
Steps to Reproduce: 1. create a deployable with many images (25) 2. create a frontend realm which is not mapped to any backend realm or provider 3. try to launch the deployable with this realm Because of missing realm mapping, no match is found for any of images -> conductor tries to generate really long flash error (see bellow), which is too big to fit into 4k cookie limit -> Error page is rendered: ActionDispatch::Cookies::CookieOverflow in DeploymentsController#launch_time_params ActionDispatch::Cookies::CookieOverflow I'm not sure how important is this bug since this occurs only for bigger deployments. Could be fixed by displaying the the errors for mages inside page instead of in flash. flash: {:error=>{:failures=>{"ttt7-5"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt3-1"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt4-1"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt3-2"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt5-1"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt4-2"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt3-3"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt6-1"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt5-2"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt4-3"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt3-4"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt7-1"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt6-2"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt5-3"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt4-4"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt3-5"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt7-2"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt6-3"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt5-4"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt4-5"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt7-3"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt6-4"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt5-5"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt7-4"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled", "ttt6-5"=>"Realm r2 is not mapped to any provider or provider realm, ec2: provider must be enabled"}}}