)]}'
{"keystone/federation/utils.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4bab507199772bcebca7c2df438ce18bb122be8d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                        \"items\": {"},{"line_number":47,"context_line":"                            \"type\": \"object\","},{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_4c758e30","line":49,"updated":"2015-11-30 15:54:31.000000000","message":"This means we only ever allow \"user\", \"group\", \"groups\", and \"domain\". This means if anything else is passed in it fails validation? Is this something that might break existing deployments?","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"ba0c54d7d99c427d27e39eb37c4cc24295909ad2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                        \"items\": {"},{"line_number":47,"context_line":"                            \"type\": \"object\","},{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_a2ca036d","line":49,"in_reply_to":"9a8ffd7b_4c758e30","updated":"2015-11-30 16:45:11.000000000","message":"Correct. Those are the only items I have seen used in mappings. This patch shouldn\u0027t break older mappings that don\u0027t have those attributes, it just wouldn\u0027t allow for them in the future. I will do some testing with this and let you know.","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4bab507199772bcebca7c2df438ce18bb122be8d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_5102070d","line":51,"updated":"2015-11-30 15:54:31.000000000","message":"This is a dictionary type, right? For any of these should we specify if they are strings or not?\n\nhttps://github.com/openstack/keystone/blob/933e118eee3b494401123f3dc23d025b6c4d4803/keystone/catalog/schema.py#L24","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"ba0c54d7d99c427d27e39eb37c4cc24295909ad2","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_ddd4c6be","line":51,"in_reply_to":"9a8ffd7b_5102070d","updated":"2015-11-30 16:45:11.000000000","message":"Done","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"19757c46c7334068ea7ca41b236a33879798c417","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_8a025ab3","line":51,"in_reply_to":"9a8ffd7b_ddd4c6be","updated":"2015-12-01 05:40:47.000000000","message":"All should actually be of type object. With Strings set the unit tests will return the following errors:\n\n2015-11-30 16:58:49.044 |     {u\u0027id\u0027: u\u00270cd5e9\u0027} is not of type \u0027string\u0027\n2015-11-30 16:58:49.044 |     {u\u0027id\u0027: u\u0027123\u0027} is not of type \u0027string\u0027\n2015-11-30 16:58:49.044 |     {u\u0027id\u0027: u\u0027xyz\u0027} is not of type \u0027string\u0027\n2015-11-30 16:58:49.044 |     {u\u0027name\u0027: u\u0027{0} {1}\u0027, u\u0027email\u0027: u\u0027{2}\u0027} is not of type \u0027string\u0027\n2015-11-30 16:58:49.044 |     {u\u0027name\u0027: u\u0027{0}\u0027, u\u0027email\u0027: u\u0027{1}\u0027} is not of type \u0027string\u0027\n2015-11-30 16:58:49.044 |     {u\u0027name\u0027: u\u0027{0}\u0027} is not of type \u0027string\u0027","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":6534,"name":"David Chadwick","email":"d.w.chadwick@truetrust.co.uk","username":"d-w-chadwick"},"change_message_id":"395f24a2f2e41dee5aaa139cad53f0ca4e6d9f54","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                            }"},{"line_number":63,"context_line":"                        }"},{"line_number":64,"context_line":"                    },"},{"line_number":65,"context_line":"                    \"remote\": {"},{"line_number":66,"context_line":"                        \"minItems\": 1,"},{"line_number":67,"context_line":"                        \"type\": \"array\","},{"line_number":68,"context_line":"                        \"items\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_3b995520","line":65,"updated":"2015-11-30 19:04:53.000000000","message":"The example here\n\nhttps://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3-os-federation-ext.html#map-identities-to-multiple-groups-without-domain-reference\n\nshows group_ids as an allowed attribute","commit_id":"b23c375b6087070419c4f3e707b7698a31bcc015"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"e011fb46f30d2d51d4598223d94f0d7b53b56101","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                            }"},{"line_number":63,"context_line":"                        }"},{"line_number":64,"context_line":"                    },"},{"line_number":65,"context_line":"                    \"remote\": {"},{"line_number":66,"context_line":"                        \"minItems\": 1,"},{"line_number":67,"context_line":"                        \"type\": \"array\","},{"line_number":68,"context_line":"                        \"items\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a8ffd7b_771cbf77","line":65,"in_reply_to":"9a8ffd7b_3b995520","updated":"2015-12-01 05:40:32.000000000","message":"Done","commit_id":"b23c375b6087070419c4f3e707b7698a31bcc015"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0f64e048cc575c4c2fdd6be02e2cdf06921c0a43","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_1dfc2771","line":51,"range":{"start_line":51,"start_character":37,"end_line":51,"end_character":41},"updated":"2016-01-04 22:12:21.000000000","message":"Can we validate any more information within these properties?","commit_id":"96d366e2efd46e1a94c4318c1bb59fe0ccf3c69d"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"8475719711a5f4552d804f3b4b1fc7b6c7fae48b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_62577eca","line":51,"in_reply_to":"fa69d971_1dfc2771","updated":"2016-01-06 04:25:10.000000000","message":"Hello Lance, \n\nI can validate even more such as limit to only the following properties:\n\nuser -\u003e id, name, email, domain, \u003callow string type as well\u003e\n\ngroup -\u003e id, name, domain\n\ngroups -\u003e \u003cjust allow string type\u003e\n\ngroup_ids -\u003e \u003cjust allow string type\u003e\n\ndomain -\u003e name, id\n\n\nLet me know if I am missing any.","commit_id":"96d366e2efd46e1a94c4318c1bb59fe0ccf3c69d"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"34a251f461925dc3bad545644e267c7b0bccd554","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_dff4ae88","line":51,"in_reply_to":"fa69d971_62577eca","updated":"2016-01-07 18:47:33.000000000","message":"Do we want to include those additional properties here?","commit_id":"96d366e2efd46e1a94c4318c1bb59fe0ccf3c69d"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"0fb5572a13a7c56104fa8267023929c9940000e9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                            \"additionalProperties\": False,"},{"line_number":49,"context_line":"                            \"properties\": {"},{"line_number":50,"context_line":"                                \"user\": {"},{"line_number":51,"context_line":"                                    \"type\": \"object\""},{"line_number":52,"context_line":"                                },"},{"line_number":53,"context_line":"                                \"group\": {"},{"line_number":54,"context_line":"                                    \"type\": \"object\""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_d80fe42c","line":51,"in_reply_to":"fa69d971_dff4ae88","updated":"2016-01-07 19:40:10.000000000","message":"As long as the those are the only valid properties, then I think it would be beneficial. Let me know and I\u0027ll update this patch.","commit_id":"96d366e2efd46e1a94c4318c1bb59fe0ccf3c69d"}],"keystone/tests/unit/mapping_fixtures.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4bab507199772bcebca7c2df438ce18bb122be8d","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"                        \"name\": \"{0}\","},{"line_number":1266,"context_line":"                        \"domain\": {\"id\": \"default\"}"},{"line_number":1267,"context_line":"                    },"},{"line_number":1268,"context_line":"                    \"type\": \"local\""},{"line_number":1269,"context_line":"                }"},{"line_number":1270,"context_line":"            ],"},{"line_number":1271,"context_line":"            \"remote\": ["}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_4cf02eca","line":1268,"updated":"2015-11-30 15:54:31.000000000","message":"The test fails because \"type\" isn\u0027t included in the list of required things? This doesn\u0027t fail because \"type\" should be in the \"user\" reference?","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"ba0c54d7d99c427d27e39eb37c4cc24295909ad2","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"                        \"name\": \"{0}\","},{"line_number":1266,"context_line":"                        \"domain\": {\"id\": \"default\"}"},{"line_number":1267,"context_line":"                    },"},{"line_number":1268,"context_line":"                    \"type\": \"local\""},{"line_number":1269,"context_line":"                }"},{"line_number":1270,"context_line":"            ],"},{"line_number":1271,"context_line":"            \"remote\": ["}],"source_content_type":"text/x-python","patch_set":2,"id":"9a8ffd7b_02cf4fb4","line":1268,"in_reply_to":"9a8ffd7b_4cf02eca","updated":"2015-11-30 16:45:11.000000000","message":"This fails because type isn\u0027t included in the list of required things. I can change this to something that would be less misleading.","commit_id":"a3956bbad8386e1d242e17ad754e8ca93581feeb"}]}
