)]}'
{"manila/share/drivers/container/security_service_helper.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":58,"context_line":"                              add_rules):"},{"line_number":59,"context_line":"        if security_service[\u0027type\u0027] \u003d\u003d \u0027ldap\u0027:"},{"line_number":60,"context_line":"            for add_rule in add_rules:"},{"line_number":61,"context_line":"                if add_rule[\u0027access_type\u0027] \u003d\u003d \u0027user\u0027:"},{"line_number":62,"context_line":"                    ldap_attr \u003d \u0027cn\u0027"},{"line_number":63,"context_line":"                    ldap_filter \u003d add_rule[\u0027access_to\u0027]"},{"line_number":64,"context_line":"                    self.ldap_search(share_server_id, security_service,"}],"source_content_type":"text/x-python","patch_set":2,"id":"017604fc_74ce2d5c","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":53},"updated":"2021-06-10 16:33:25.000000000","message":"else?","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        if security_service[\u0027type\u0027] \u003d\u003d \u0027ldap\u0027:"},{"line_number":60,"context_line":"            for add_rule in add_rules:"},{"line_number":61,"context_line":"                if add_rule[\u0027access_type\u0027] \u003d\u003d \u0027user\u0027:"},{"line_number":62,"context_line":"                    ldap_attr \u003d \u0027cn\u0027"},{"line_number":63,"context_line":"                    ldap_filter \u003d add_rule[\u0027access_to\u0027]"},{"line_number":64,"context_line":"                    self.ldap_search(share_server_id, security_service,"},{"line_number":65,"context_line":"                                     ldap_attr, ldap_filter)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fa712c1_74b6c1b8","line":62,"range":{"start_line":62,"start_character":19,"end_line":62,"end_character":36},"updated":"2021-06-10 16:33:25.000000000","message":"ldap_attr is always \"cn\", so no need for the if clause on line 77 below - you can code this in.","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                    _(\"Failed LDAP search. Unknown reason. LDAP server could \""},{"line_number":89,"context_line":"                      \"be offline.\"))"},{"line_number":90,"context_line":"            if ldap_response \u003d\u003d \u0027\u0027:"},{"line_number":91,"context_line":"                raise exception.ShareBackendException("},{"line_number":92,"context_line":"                    _(\"User not found in the LDAP directory.\"))"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def ldap_get_info(self, security_service):"},{"line_number":95,"context_line":"        if all(info in security_service for info in (\"user\", \"password\")):"}],"source_content_type":"text/x-python","patch_set":2,"id":"50b2c9af_2a332903","line":92,"range":{"start_line":91,"start_character":16,"end_line":92,"end_character":63},"updated":"2021-06-10 16:33:25.000000000","message":"handle this exception, and return access rule as being in \"error\"; \nhttps://opendev.org/openstack/manila/src/branch/master/manila/share/driver.py#L771-L860","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"}],"manila/tests/share/drivers/container/test_driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":647,"context_line":"        }"},{"line_number":648,"context_line":"        share_server \u003d db_utils.create_share_server(**share_server_dict)"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        self._driver._get_security_service(share_server, \u0027ldap\u0027)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    @ddt.data("},{"line_number":653,"context_line":"        ([\u0027dns_ip\u0027, \u0027server\u0027, \u0027domain\u0027, \u0027user\u0027, \u0027password\u0027, \u0027ou\u0027], False),"}],"source_content_type":"text/x-python","patch_set":2,"id":"dcd59453_4a0a85d3","line":650,"range":{"start_line":650,"start_character":0,"end_line":650,"end_character":64},"updated":"2021-06-10 16:33:25.000000000","message":"assert something?","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"}],"manila/tests/share/drivers/container/test_security_service_helper.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        mock_ldap_search \u003d self.mock_object("},{"line_number":77,"context_line":"            self.security_service_helper, \u0027ldap_search\u0027)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        self.security_service_helper.validate_access_rules("},{"line_number":80,"context_line":"            share_server[\u0027id\u0027], security_service, add_rules)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d91db8d0_b5f34955","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":0},"updated":"2021-06-10 16:33:25.000000000","message":"add a rule that will fail here for testing..","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        mock_ldap_get_info.assert_called_once_with(security_service)"},{"line_number":171,"context_line":"        for expected_cmd in expected_cmds:"},{"line_number":172,"context_line":"            mock_execute.assert_called_once_with("},{"line_number":173,"context_line":"                *expected_cmd, run_as_root\u003dTrue)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    @ddt.data(11, 0)"},{"line_number":176,"context_line":"    def test_ldap_search_exception(self, expected_exit_code):"}],"source_content_type":"text/x-python","patch_set":2,"id":"057fda38_5c731cb1","line":173,"range":{"start_line":172,"start_character":0,"end_line":173,"end_character":48},"updated":"2021-06-10 16:33:25.000000000","message":"assert_has_calls would be more appropriate here..","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        mock_ldap_get_info.assert_called_once_with(security_service)"},{"line_number":197,"context_line":"        for expected_cmd in expected_cmds:"},{"line_number":198,"context_line":"            mock_execute.assert_called_once_with("},{"line_number":199,"context_line":"                *expected_cmd, run_as_root\u003dTrue)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"    def test_ldap_get_info(self):"},{"line_number":202,"context_line":"        security_service \u003d db_utils.create_security_service()"}],"source_content_type":"text/x-python","patch_set":2,"id":"8dae77f8_39d1b09a","line":199,"range":{"start_line":198,"start_character":0,"end_line":199,"end_character":48},"updated":"2021-06-10 16:33:25.000000000","message":"same as above","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"}],"releasenotes/notes/add-sec-srv-access-rules-container-driver-ee0b09eef395ac13.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"261143c1c2a5f120390abdd2c96983d3daf22356","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    This patch adds security service validation when updating access rules in"},{"line_number":5,"context_line":"    the container driver. As of now, we only support the LDAP security service."},{"line_number":6,"context_line":"    When allowing access to a share an there\u0027s an associated LDAP security"},{"line_number":7,"context_line":"    service, the container driver will validate if the allowed user is present"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"8e83941b_b8ad6deb","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":47},"updated":"2021-06-10 16:33:25.000000000","message":"Security services are now used in the container driver ...","commit_id":"69653a698d86f3f92e0828c3ae01d8be107980f7"}]}
