Description of problem: Calamari-lite is not responding to the API calls after incomplete crush rules were PATCHed. /var/log/calamari/calamari.log shows: IndexError: list index out of range. Please see attached calamari.log. Version-Release number of selected component (if applicable):10.1.1-1.el7cp How reproducible:1/1 Steps to Reproduce: 1. PATCH an 'empty' crush rule using Django REST framework (2.3.12) -- This resulted in: Server Error (500) 2. GET crush rule. -- This worked fine 3. PATCH an 'incomplete' crush rule in which only "name" and "ruleset" are mentioned. -- This resulted in: Server Error (500) 4. GET crush rule. -- This worked fine 5. PATCH an 'incomplete' crush rule in which "steps" is incomplete. -- This failed with Server Error (500) Actual results: As mentioned above Expected results: Should display appropriate error message Additional info: [root@magna013 calamari]# rpm -qa | grep calamari calamari-server-1.4.0-0.3.rc7.el7cp.x86_64 [root@magna013 calamari]# rpm -qa | grep salt salt-minion-2015.5.5-1.el7.noarch salt-2015.5.5-1.el7.noarch Please see attached log files also.
Created attachment 1147233 [details] calamari.log
Created attachment 1147236 [details] crush rule inputs
*** Bug 1336451 has been marked as a duplicate of this bug. ***
https://github.com/ceph/calamari/tree/wip-fix-crush-rule needs testing and more tests written before pulling downstream
verified on calamari-server version 1.4.0~rc13-2redhat1xenial
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-2016-1755.html