Created attachment 926761 [details] log Description of problem: I created a deployment with a controller, a networked and a compute. after the deployment finished I accidentally tried to add a new compute to the controller group instead of the compute group. I got an error in the UI and from that point, each time I selected the deployment the UI would crashed. Rendered layouts/base.html.erb (0.7ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/layouts/application.html.erb (1.1ms) Completed 500 Internal Server Error in 426ms (Views: 7.8ms | ActiveRecord: 14.0ms) Started GET "/assets/staypuft/staypuft-ff3c9737f87376b2bea12efa34d3c946.css" for 10.36.5.237 at 2014-08-14 07:21:00 -0400 Started GET "/assets/staypuft/staypuft-462483cce522ececf684e09298abdbf7.js" for 10.36.5.237 at 2014-08-14 07:21:01 -0400 Version-Release number of selected component (if applicable): ruby193-rubygem-staypuft-0.2.2-1.el6ost.noarch How reproducible: 100% Steps to Reproduce: 1. create a deployment with 1 controller, 1 networker and 1 compute (I installed Neutron) 2. once the deployment is finished, select the deployment 3. add a new compute to the controller group Actual results: the UI will crash and after that the UI would crash each time we select the deployment because we have two controllers in the controller group Expected results: there should be a validation to prevent that. Additional info: production.log attached Started GET "/deployments/3" for 10.36.5.237 at 2014-08-14 07:20:59 -0400 Processing by Staypuft::DeploymentsController#show as HTML Parameters: {"id"=>"3"} Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployment_show_header.html.erb (145.7ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_free_hosts_table.html.erb (111.2ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_assigned_hosts_table.html.erb (6.9ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployed_hosts_table.html.erb (20.5ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_free_hosts_table.html.erb (4.1ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_assigned_hosts_table.html.erb (3.1ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployed_hosts_table.html.erb (10.8ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_free_hosts_table.html.erb (3.7ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_assigned_hosts_table.html.erb (2.9ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployed_hosts_table.html.erb (10.5ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployment_summary.html.erb (20.6ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/_deployment_overview.html.erb (265.2ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/deployments/show.html.erb within staypuft/layouts/staypuft (413.7ms) Operation FAILED: Rendered common/500.html.erb within staypuft/layouts/staypuft (4.4ms) Rendered layouts/base.html.erb (0.7ms) Rendered /opt/rh/ruby193/root/usr/share/gems/gems/staypuft-0.2.2/app/views/staypuft/layouts/application.html.erb (1.1ms) Completed 500 Internal Server Error in 426ms (Views: 7.8ms | ActiveRecord: 14.0ms) Started GET "/assets/staypuft/staypuft-ff3c9737f87376b2bea12efa34d3c946.css" for 10.36.5.237 at 2014-08-14 07:21:00 -0400 Started GET "/assets/staypuft/staypuft-462483cce522ececf684e09298abdbf7.js" for 10.36.5.237 at 2014-08-14 07:21:01 -0400
The issue, IIUC, is that a second controller is added to a non-HA deployment that was already deployed. The screen tries to determine the horizon url using the controller_ip address and gets confused and crashes.
Additionally a second controller in a non-HA setup would in effect create a new deployment.
This will be fixed as part of the deprecation of the non-HA puppet classes. Deferring it to R6GA
Verified: Environment: ruby193-rubygem-foreman_openstack_simplify-0.0.6-8.el7ost.noarch openstack-foreman-installer-3.0.8-1.el7ost.noarch ruby193-rubygem-staypuft-0.5.9-1.el7ost.noarch rhel-osp-installer-client-0.5.4-1.el7ost.noarch openstack-puppet-modules-2014.2.7-2.el7ost.noarch rhel-osp-installer-0.5.4-1.el7ost.noarch It's possible to add more controllers to a successfully deployed controller. That doesn't crash the UI. Was able to start deploying the new controllers.
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-0156.html