Reviewed: https://review.openstack.org/361741 Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=d580adb4dd9337ca4e3b6eaeaefffdf3f215ac19 Submitter: Jenkins Branch: master
commit d580adb4dd9337ca4e3b6eaeaefffdf3f215ac19 Author: Paulo Matias <[email protected]> Date: Sat Aug 27 18:24:55 2016 -0300 Escape blackslash in the angular_escapes filter Co-Authored-By: Tadeu Sampaio <[email protected]> Closes-Bug: #1617749 Change-Id: Ic97c6f3b0e3c4c91323dcba82bfe43e252e16b1a ** Changed in: horizon Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1617749 Title: Angular template cache breaks when the template contains backslashes Status in OpenStack Dashboard (Horizon): Fix Released Bug description: The angular_escapes filter [1] currently does not handle backslashes ('\'), therefore templates containing this character are broken (or have their behaviour modified) when they are cached. We faced this issue when deploying the LBaaSv2 dashboard [2], which uses ng-pattern="/^\d+$/" in multiple fields. This is transformed to ng-pattern=\"/^\d+$/\" when the pattern is cached (see [3]), which results in validator failures that block the usage of the LBaaSv2 dashboard. Although the Horizon code base employs ng-pattern="/^[0-9]+$/" instead when a numeric validator is desired, we feel that not escaping the backslash is a dangerous behaviour which might cause other issues in the future. We will send in a few minutes a patch to gerrit proposing a fix for this issue. -- Expected behaviour: It should be possible to create a new load balancer via the dashboard when deploying Horizon together with the LBaaSv2 dashboard. Actual behaviour: The validator fails on the "port" fields, which are mandatory to create a new load balancer. This blocks the creation of new load balancers through the dashboard. Steps to reproduce: * Deploy the environment * Go to Project > Networks > Load Balancers * Click on "Create Load Balancer" * Try to fill a Port in the "Listener Details" tab Environment: * OpenStack-Ansible, master branch * Multi-node deploy * "neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2" included in "neutron_plugin_base" -- References [1] https://github.com/openstack/horizon/blob/107488f2f53f55ce2b727e52b5496db47ffc21ce/horizon/templatetags/angular.py#L57 [2] https://github.com/openstack/neutron-lbaas- dashboard/blob/c68b80b0bb9f89acd46da717b360b429efade43a/neutron_lbaas_dashboard/static/dashboard/project/lbaasv2/workflow/members/members.html#L73 [3] http://ix.io/1hqG To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1617749/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

