commit f187e293e4f0a581464a4a3028e0380eb7868fa9
Author: Anwesha Chatterjee <achatter@redhat.com>
Date:   Fri Oct 27 14:44:38 2017 +1000

    Automatic commit of release 24.5
    
    Change-Id: I7bb4e2159665d00959c21e7d6bf946d0668e0a2c

commit e5f52d6dc159f5a74faef82964ffb0e6dd35568d
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 20 16:26:39 2017 +1000

    release notes for 24.5
    
    Change-Id: I94f61215239c54e193957d3e9e109db4d2b19792

commit 706e3a74472261ecf6868454cc56f38e24240325
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Mon Oct 23 13:57:24 2017 +1000

    more targetted re-rendering for the recipe progress bar
    
    Bug: 1500142
    Change-Id: I6fb14ff64ece2db91cfcd88c21c168efc273a3b0

commit 3ad5838688943519e011362ebf2b9d3dee159ebd
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Mon Oct 23 13:21:06 2017 +1000

    more targetted re-rendering for the job page recipe rows
    
    Bug: 1500142
    Change-Id: I5ac8fb7579ba4098a3c0eb3b0ec72755729475c1

commit 4fa17fb1758445827301da255cdec0ed7bb077d5
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Mon Oct 23 13:14:42 2017 +1000

    more targetted re-rendering for the recipe page header
    
    Bug: 1500142
    Change-Id: Ib5a15e62e075dc747bbc18b7c8c097477147c10f

commit 5b999ca043a41e135c6f876a1f4728ef6926f582
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 20 17:33:35 2017 +1000

    flush session before returning from PATCH /users/<username>
    
    This ensures the queries in user_full_json() to populate the various
    resource counts are properly updated to the changes just made
    (particularly when the change was to remove the user and clean up all
    their resources).
    
    Change-Id: Ic2be8a7266adf40e56d9307ece0a67dada7317a4

commit 5807bc1a3cb21e7daefae5f180eb56bbe66cb3f6
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Thu Oct 19 17:32:29 2017 +1000

    lab controllers need to be permitted to power any system
    
    Bug: 1501671
    Change-Id: I103068c694c52263eaa9334060f94cf2a095a6b9

commit 555d54163872b310cef830f94dc54e75f83dc10e
Author: Anwesha Chatterjee <achatter@redhat.com>
Date:   Tue Oct 10 17:14:19 2017 +1000

    only listenTo specific attribute changes in model
    
    To avoid unnecessary re-rendering of recipe-summary section.
    
    Bug: 1500142
    Change-Id: I34e216616eee8d75887c0495812d037fc27d47fb

commit f162eea0e2db39a59689341e381e0fbea8e587ed
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Tue Oct 10 16:50:32 2017 +1000

    system search: treat missing value as empty string
    
    Bug: 1498804
    Change-Id: I565d32950b71c9132753f976857780ffd8483d5e

commit 902a75b0a1d1f0c8a92d522e83c3fab06969086d
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 6 14:41:49 2017 +1000

    disallow giving pools to deleted users
    
    Bug: 1498374
    Change-Id: I0845f620e4506e5b0525044193adbd8c43d1046d

commit 32416d9e38f34cf5cce899302667a39be28ed90e
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 6 14:26:30 2017 +1000

    transfer pool ownership when removing a user
    
    Similar to how we transfer system ownership.
    
    Bug: 1498374
    Change-Id: I2803163812ddf1772af4deecb5ff1ec948103e24

commit 54ed1cfcbce6c8871487de6c8b018f1d8a53c5a6
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 6 14:16:05 2017 +1000

    show owned pools on the user page
    
    Bug: 1498374
    Change-Id: Ifb4d22892bd9273e9f6759c618ae1a4a24256637

commit 193390b7dc922ae7824b37c2b4ea909e631fb2a2
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 6 14:00:05 2017 +1000

    disallow adding deleted users to access policies
    
    Bug: 1497881
    Change-Id: Iea477dbe40ea4013edbfec076e4132b872a3b01c

commit 58e6b2b4fa1df0d7600d57c1646e47a0def834ca
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Fri Oct 6 13:27:22 2017 +1000

    disallow adding deleted users to groups
    
    Bug: 1497881
    Change-Id: I8404af34ab835abd8b613ce04dccec08716f2b8a

commit 9c90d5581c3fd0cf8ee680882b97cde939a8f28d
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Thu Oct 5 18:06:49 2017 +1000

    disallow giving systems to deleted users
    
    Bug: 1497881
    Change-Id: Id6073a991c2922ffacc64c47ff773fff7cf57e63

commit 6a3a93ff6e544b9251cc91a0534455a51f59b133
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Thu Oct 5 17:59:53 2017 +1000

    disallow lending systems to deleted users
    
    Bug: 1497881
    Change-Id: I189966c1302b5c58cd7e7c54832fbd19adbbdfc6

commit aa6ca48acf927d67e1870ba29088ee774b604741
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Tue Oct 10 17:35:47 2017 +1000

    implement OpenStack flavor filtering for <not/>
    
    This was somehow missed in the original implementation, causing <not/>
    to always default to precluding OpenStack.
    
    Bug: 1499646
    Change-Id: I79dd7ccedbb7c5e38af4deef724504e5874b56b7

commit 0d72f8c9158682f902c922e5b931c9efcbb2c02c
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Wed Oct 11 08:58:05 2017 +1000

    sqlalchemy 1.0 compatibility: cannot delete from join
    
    With sqlalchemy 1.0, deleting from a query containing a join is now an
    error. This fixes a failure in the tests for removing lab controllers:
    
        bkr.server ERROR Exception on /labcontrollers/lab249.testdata.invalid [PATCH]
        Traceback (most recent call last):
        [...]
          File "Server/bkr/server/labcontroller.py", line 151, in update_labcontroller
            remove_labcontroller(labcontroller)
          File "Server/bkr/server/labcontroller.py", line 92, in remove_labcontroller
            distro_tree_assocs.delete(synchronize_session=False)
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py", line 3047, in delete
            self, synchronize_session)
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1302, in factory
            }, synchronize_session, query)
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1122, in _factory
            return klass(*arg)
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1294, in __init__
            super(BulkDelete, self).__init__(query)
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1087, in __init__
            self._validate_query_state()
          File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 1105, in _validate_query_state
            (methname, )
        InvalidRequestError: Can't call Query.update() or Query.delete() when join(), outerjoin(), select_from(), or from_self() has been called
    
    OpenStack 11 provides sqlalchemy 1.0.
    
    Change-Id: Ib09439d121fe41d2ad49103c7f11b816567c0afa

commit a7d5921d31453c394a31062a8b0039bb047ee11a
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Tue Oct 10 08:52:07 2017 +1000

    tests: requests exception message has changed
    
    Newer versions of requests have started including the failing URL in
    exception messages. We can adjust the test case assertions to handle
    both possibilities. This fixes failures like this:
    
        FAIL: test_on_error_warns_if_server_version_does_not_match
        (bkr.inttest.client.test_common_options.CommonOptionsTest)
        ----------------------------------------------------------------------
        Traceback (most recent call last):
          File "IntegrationTests/src/bkr/inttest/client/test_common_options.py", line 54, in test_on_error_warns_if_server_version_does_not_match
            % __version__)
        AssertionError: 'WARN[91 chars]Found for url: http://localhost:19998/systems/[21 chars]us\n' != 'WARN[91 chars]Found\n'
          WARNING: client version is 24.4 but server version is 999.3
        - HTTP error: 404 Client Error: Not Found for url: http://localhost:19998/systems/asdf.example.com/status
        + HTTP error: 404 Client Error: Not Found
    
    Change-Id: I0fa06703f53560c04ac9b09f3d5256ec2b388a21

commit 1bd7e775bd34ad774278d803d0db050d44eaa449
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Thu Oct 5 17:01:34 2017 +1000

    fix allowed_priorities() to use proper permission check
    
    This method was not aware of the newer "group job" permissions, since it
    wasn't calling through can_change_priority(). And it was also missing
    a base case so it was falling through to return None, causing
    a confusing exception in the caller.
    
    Bug: 1497021
    Change-Id: I8fea805e9d83d3debec5a4b74f7ad9ad2864f511

commit a6a5fa71bf51cb3766694c09c6cb7c595e2634d5
Author: Dan Callaghan <dcallagh@redhat.com>
Date:   Tue Sep 19 16:54:54 2017 +1000

    fix missing URI encoding for login link
    
    The Flask request.path attribute is URI-decoded and UTF8-decoded, which
    means we need to re-apply the encoding when we construct the forward_url
    parameter.
    
    Change-Id: I3d55b4184947913018f47f56a6d55640128f8fd5