)]}'
{"ceilometer/api/v1/blueprint.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                  user\u003dNone):"},{"line_number":392,"context_line":"    \"\"\"Return a list of raw samples."},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    Note: the API talks about \"events\" these are equivalent to samples."},{"line_number":395,"context_line":"    but we still need to return the samples within the \"events\" dict"},{"line_number":396,"context_line":"    to maintain API compatibility."},{"line_number":397,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fuvo%3D","line":394,"updated":"2014-04-28 12:47:47.000000000","message":"I think a comma would be needed after \"events\".","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":392,"context_line":"    \"\"\"Return a list of raw samples."},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    Note: the API talks about \"events\" these are equivalent to samples."},{"line_number":395,"context_line":"    but we still need to return the samples within the \"events\" dict"},{"line_number":396,"context_line":"    to maintain API compatibility."},{"line_number":397,"context_line":"    \"\"\""},{"line_number":398,"context_line":"    q_ts \u003d _get_query_timestamps(flask.request.args)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FuxY%3D","line":395,"updated":"2014-04-28 12:47:47.000000000","message":"s/but/But/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"}],"ceilometer/event/converter.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":243,"context_line":"class NotificationEventsConverter(object):"},{"line_number":244,"context_line":"    \"\"\"Notification Event Converter"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    The NotificationEventsConverter handles the conversion of Notifications"},{"line_number":247,"context_line":"    from openstack systems into Ceilometer Events."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    The conversion is handled according to event definitions in a config file."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Furk%3D","line":246,"updated":"2014-04-28 12:47:47.000000000","message":"s/openstack/OpenStack/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    from openstack systems into Ceilometer Events."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    The conversion is handled according to event definitions in a config file."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    The config is a list of event definitions. Order is significant, a"},{"line_number":252,"context_line":"    notification will be processed according to the LAST definition that"},{"line_number":253,"context_line":"    matches it\u0027s event_type. (We use the last matching definition because that"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FurI%3D","line":250,"updated":"2014-04-28 12:47:47.000000000","message":"s/Order/The order/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    The conversion is handled according to event definitions in a config file."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    The config is a list of event definitions. Order is significant, a"},{"line_number":252,"context_line":"    notification will be processed according to the LAST definition that"},{"line_number":253,"context_line":"    matches it\u0027s event_type. (We use the last matching definition because that"},{"line_number":254,"context_line":"    allows you to use YAML merge syntax in the definitions file.)"},{"line_number":255,"context_line":"    Each definition is a dictionary with the following keys (all are required):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fuq0%3D","line":252,"updated":"2014-04-28 12:47:47.000000000","message":"A comma is missing after definitions.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"1fb05a76140f7643a07c3390e7dc49ee914875a9","unresolved":false,"context_lines":[{"line_number":257,"context_line":"                    will handle. These can be wildcarded with unix shell glob"},{"line_number":258,"context_line":"                    (not regex!) wildcards."},{"line_number":259,"context_line":"                    An exclusion listing (starting with a \u0027!\u0027) will exclude any"},{"line_number":260,"context_line":"                    types listed from matching. If ONLY exclusions are listed,"},{"line_number":261,"context_line":"                    the definition will match anything not matching the"},{"line_number":262,"context_line":"                    exclusions."},{"line_number":263,"context_line":"                    This item can also be a string, which will be taken as"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad9bd40_1563eddc","line":260,"updated":"2014-05-02 21:40:03.000000000","message":"comma after \u0027types\u0027 is needed, I guess","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                    types listed from matching. If ONLY exclusions are listed,"},{"line_number":261,"context_line":"                    the definition will match anything not matching the"},{"line_number":262,"context_line":"                    exclusions."},{"line_number":263,"context_line":"                    This item can also be a string, which will be taken as"},{"line_number":264,"context_line":"                    equivalent to 1 item list."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"                    Examples:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fup0%3D","line":263,"updated":"2014-04-28 12:47:47.000000000","message":"... to *a* 1 ...","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"                    Examples:"},{"line_number":267,"context_line":"                    *   [\u0027compute.instance.exists\u0027] will only match"},{"line_number":268,"context_line":"                            compute.intance.exists notifications"},{"line_number":269,"context_line":"                    *   \"compute.instance.exists\"   Same as above."},{"line_number":270,"context_line":"                    *   [\"image.create\", \"image.delete\"]  will match"},{"line_number":271,"context_line":"                         image.create and image.delete, but not anything else."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fuoo%3D","line":268,"updated":"2014-04-28 12:47:47.000000000","message":"\"compute.instance.exists\", same as above","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":267,"context_line":"                    *   [\u0027compute.instance.exists\u0027] will only match"},{"line_number":268,"context_line":"                            compute.intance.exists notifications"},{"line_number":269,"context_line":"                    *   \"compute.instance.exists\"   Same as above."},{"line_number":270,"context_line":"                    *   [\"image.create\", \"image.delete\"]  will match"},{"line_number":271,"context_line":"                         image.create and image.delete, but not anything else."},{"line_number":272,"context_line":"                    *   \u0027compute.instance.*\" will match"},{"line_number":273,"context_line":"                        compute.instance.create.start but not image.upload"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FuoY%3D","line":270,"updated":"2014-04-28 12:47:47.000000000","message":"s/but not anything else./but nothing else/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                        compute.instance.create.start, and image.delete.end,"},{"line_number":276,"context_line":"                        but NOT compute.instance.exists or"},{"line_number":277,"context_line":"                        scheduler.run_instance.start"},{"line_number":278,"context_line":"                    *   \u0027!image.*\u0027 matches any notification except image"},{"line_number":279,"context_line":"                        notifications."},{"line_number":280,"context_line":"                    *   [\u0027*\u0027, \u0027!image.*\u0027]  same as above."},{"line_number":281,"context_line":"        traits:  dictionary, The keys are trait names, the values are the trait"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FuoI%3D","line":278,"updated":"2014-04-28 12:47:47.000000000","message":"\u0027.\u0027 is not needed after \u0027notifications\u0027","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                        but NOT compute.instance.exists or"},{"line_number":277,"context_line":"                        scheduler.run_instance.start"},{"line_number":278,"context_line":"                    *   \u0027!image.*\u0027 matches any notification except image"},{"line_number":279,"context_line":"                        notifications."},{"line_number":280,"context_line":"                    *   [\u0027*\u0027, \u0027!image.*\u0027]  same as above."},{"line_number":281,"context_line":"        traits:  dictionary, The keys are trait names, the values are the trait"},{"line_number":282,"context_line":"                 definitions"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fun8%3D","line":279,"updated":"2014-04-28 12:47:47.000000000","message":"[\u0027*\u0027, \u0027!image.*\u0027],  same as above","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                        scheduler.run_instance.start"},{"line_number":278,"context_line":"                    *   \u0027!image.*\u0027 matches any notification except image"},{"line_number":279,"context_line":"                        notifications."},{"line_number":280,"context_line":"                    *   [\u0027*\u0027, \u0027!image.*\u0027]  same as above."},{"line_number":281,"context_line":"        traits:  dictionary, The keys are trait names, the values are the trait"},{"line_number":282,"context_line":"                 definitions"},{"line_number":283,"context_line":"            Each trait definition is a dictionary with the following keys:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FumM%3D","line":280,"updated":"2014-04-28 12:47:47.000000000","message":"s/The/the/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                 definitions"},{"line_number":283,"context_line":"            Each trait definition is a dictionary with the following keys:"},{"line_number":284,"context_line":"                type (optional): The data type for this trait. (as a string)"},{"line_number":285,"context_line":"                    Valid options are: \u0027text\u0027, \u0027int\u0027, \u0027float\u0027 and \u0027datetime\u0027"},{"line_number":286,"context_line":"                    defaults to \u0027text\u0027 if not specified."},{"line_number":287,"context_line":"                fields:  a path specification for the field(s) in the"},{"line_number":288,"context_line":"                    notification you wish to extract. The paths can be"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FumE%3D","line":285,"updated":"2014-04-28 12:47:47.000000000","message":"A comma is needed after \u0027datetime\u0027.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":287,"context_line":"                fields:  a path specification for the field(s) in the"},{"line_number":288,"context_line":"                    notification you wish to extract. The paths can be"},{"line_number":289,"context_line":"                    specified with a dot syntax (e.g. \u0027payload.host\u0027)."},{"line_number":290,"context_line":"                    dictionary syntax (e.g. \u0027payload[host]\u0027) is also supported."},{"line_number":291,"context_line":"                    in either case, if the key for the field you are looking"},{"line_number":292,"context_line":"                    for contains special characters, like \u0027.\u0027, it will need to"},{"line_number":293,"context_line":"                    be quoted (with double or single quotes) like so:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fulo%3D","line":290,"updated":"2014-04-28 12:47:47.000000000","message":"s/dictionary/Dictionary/\n\n\u0027.\u0027 should be removed after \u0027supported\u0027.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":289,"context_line":"                    specified with a dot syntax (e.g. \u0027payload.host\u0027)."},{"line_number":290,"context_line":"                    dictionary syntax (e.g. \u0027payload[host]\u0027) is also supported."},{"line_number":291,"context_line":"                    in either case, if the key for the field you are looking"},{"line_number":292,"context_line":"                    for contains special characters, like \u0027.\u0027, it will need to"},{"line_number":293,"context_line":"                    be quoted (with double or single quotes) like so:"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"                          \"payload.image_meta.\u0027org.openstack__1__architecture\u0027\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FulQ%3D","line":292,"updated":"2014-04-28 12:47:47.000000000","message":"A comma is needed after \u0027contains\u0027.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"                          \"payload.image_meta.\u0027org.openstack__1__architecture\u0027\""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"                    The syntax used for the field specification is a variant"},{"line_number":298,"context_line":"                    of JSONPath, and is fairly flexible."},{"line_number":299,"context_line":"                    (see: https://github.com/kennknowles/python-jsonpath-rw"},{"line_number":300,"context_line":"                    for more info)  Specifications can be written to match"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fuko%3D","line":297,"updated":"2014-04-28 12:47:47.000000000","message":"Comma is needed after \u0027syntax\u0027 and \u0027specification\u0027.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                    (see: https://github.com/kennknowles/python-jsonpath-rw"},{"line_number":300,"context_line":"                    for more info)  Specifications can be written to match"},{"line_number":301,"context_line":"                    multiple possible fields, the value for the trait will"},{"line_number":302,"context_line":"                    be derived from the matching fields that exist and have"},{"line_number":303,"context_line":"                    a non-null (i.e. is not None) values in the notification."},{"line_number":304,"context_line":"                    By default the value will be the first such field."},{"line_number":305,"context_line":"                    (plugins can alter that, if they wish)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FukE%3D","line":302,"updated":"2014-04-28 12:47:47.000000000","message":"s/have a non-null/have non-null/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"}],"ceilometer/event/trait_plugins.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        \"\"\"Setup bitfield trait."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        :param initial_bitfield: (int) initial value for the bitfield"},{"line_number":128,"context_line":"                                 Flags that are set will be OR\u0027ed with this."},{"line_number":129,"context_line":"        :param flags: List of dictionaries defining bitflags to set depending"},{"line_number":130,"context_line":"                      on data in the notification. Each one has the following"},{"line_number":131,"context_line":"                      keys:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fuf0%3D","line":128,"updated":"2014-04-28 12:47:47.000000000","message":"s/Flags/flags/\n\nA comma is needed after \u0027set\u0027.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                      on data in the notification. Each one has the following"},{"line_number":131,"context_line":"                      keys:"},{"line_number":132,"context_line":"                            path: jsonpath of field to match."},{"line_number":133,"context_line":"                            bit: (int) number of bit to set (lsb is bit 0)"},{"line_number":134,"context_line":"                            value: set bit if corresponding field\u0027s value"},{"line_number":135,"context_line":"                                   matches this. If value is not provided,"},{"line_number":136,"context_line":"                                   bit will be set if the field exists (and"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2Fudo%3D","line":133,"updated":"2014-04-28 12:47:47.000000000","message":"\u0027.\u0027 is needed at the end of this line or should be removed from the other key descriptions too.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                      keys:"},{"line_number":132,"context_line":"                            path: jsonpath of field to match."},{"line_number":133,"context_line":"                            bit: (int) number of bit to set (lsb is bit 0)"},{"line_number":134,"context_line":"                            value: set bit if corresponding field\u0027s value"},{"line_number":135,"context_line":"                                   matches this. If value is not provided,"},{"line_number":136,"context_line":"                                   bit will be set if the field exists (and"},{"line_number":137,"context_line":"                                   is non-null), regardless of its value."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FufE%3D","line":134,"updated":"2014-04-28 12:47:47.000000000","message":"...if *the* corresponding...","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"}],"ceilometer/storage/pymongo_base.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":514,"context_line":"    def _move_negation_to_leaf(condition):"},{"line_number":515,"context_line":"        \"\"\"Moves every not operator to the leafs by"},{"line_number":516,"context_line":"        applying the De Morgan rules and annihilating"},{"line_number":517,"context_line":"        double negations"},{"line_number":518,"context_line":"        \"\"\""},{"line_number":519,"context_line":"        def _apply_de_morgan(tree, negated_subtree, negated_op):"},{"line_number":520,"context_line":"            if negated_op \u003d\u003d \"and\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAXX%2F%2FucY%3D","line":517,"updated":"2014-04-28 12:47:47.000000000","message":"\u0027.\u0027 is missing from the end of the sentence.","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"}],"doc/source/releasenotes/folsom.rst":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"70b318ca231b635172e3fc59063c4098b383aebf","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Version of OpenStack"},{"line_number":24,"context_line":"   It is currently tested to work with OpenStack 2012.2 Folsom. Due to its use of"},{"line_number":25,"context_line":"   openstack-common, and the modification that were made in term of notification"},{"line_number":26,"context_line":"   to many other components (glance, cinder, quantum), it will not easily work"},{"line_number":27,"context_line":"   with any prior version of OpenStack."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAXX%2F%2Fubk%3D","line":25,"updated":"2014-04-28 12:47:47.000000000","message":"s/modification/modifications/","commit_id":"ef12d990aa8be2e762a14e94858a931f44fe9804"}]}
