)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"67eac3a7deaf2a745f3c4d5e81ce4729b360a9d6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sahid Orentino Ferdjaoui \u003csahid.ferdjaoui@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-23 06:19:43 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"virt: add contraint to handle realtime policy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes pinning constraints to take into"},{"line_number":10,"context_line":"account of the new introduced option cpu_realtime."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba15a1d1_07d38e60","line":7,"updated":"2015-09-22 10:00:03.000000000","message":"s/contraint/constraint/","commit_id":"d8a4a644776c8b337147cd92a7274b3b30a66d6f"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"67eac3a7deaf2a745f3c4d5e81ce4729b360a9d6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"virt: add contraint to handle realtime policy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes pinning constraints to take into"},{"line_number":10,"context_line":"account of the new introduced option cpu_realtime."},{"line_number":11,"context_line":"It verify if the configuration is good or raise the an"},{"line_number":12,"context_line":"error to user."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba15a1d1_c7ccb6bd","line":9,"updated":"2015-09-22 10:00:03.000000000","message":"s/to//","commit_id":"d8a4a644776c8b337147cd92a7274b3b30a66d6f"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"4c6208dec30b4384588b9e06ec4ade622cda8275","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sahid Orentino Ferdjaoui \u003csahid.ferdjaoui@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-29 05:31:11 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"virt: add contraint to handle realtime policy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes pinning constraints to take into"},{"line_number":10,"context_line":"account of the new introduced option cpu_realtime."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a1a9d01_dda19747","line":7,"updated":"2015-09-29 15:53:00.000000000","message":"nitpick s/contraint/constraint/","commit_id":"46bd1f1925ddff72fcb1fe01212775d99f9eec87"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bd28b859a616f96642c42d1637477059a58b88c9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit makes pinning constraints to take into"},{"line_number":10,"context_line":"account of new introduced option cpu_realtime."},{"line_number":11,"context_line":"It verifiy if the configuration is good or raise an"},{"line_number":12,"context_line":"error to user."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Iefbb60fcc4f8d1a4b6f8ca8bac9c9a0d8bec3a62"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7a2fa921_856eb0ff","line":11,"updated":"2015-10-07 12:43:08.000000000","message":"s/verifiy/verify/","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"}],"nova/exception.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bd28b859a616f96642c42d1637477059a58b88c9","unresolved":false,"context_lines":[{"line_number":1938,"context_line":""},{"line_number":1939,"context_line":"class RealtimeConfigurationInvalid(Invalid):"},{"line_number":1940,"context_line":"    msg_fmt \u003d _(\"Cannot set realtime policy in a non dedicated \""},{"line_number":1941,"context_line":"                \"cpu pinning policy\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_8836c750","line":1941,"updated":"2015-10-07 12:43:08.000000000","message":"do we need to add flavor/image policy here?","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"}],"nova/virt/hardware.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"67eac3a7deaf2a745f3c4d5e81ce4729b360a9d6","unresolved":false,"context_lines":[{"line_number":958,"context_line":""},{"line_number":959,"context_line":"def is_realtime_enabled(flavor, image_meta):"},{"line_number":960,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":961,"context_line":"    image_rt \u003d image_meta.get(\u0027properties\u0027, {}).get(\"hw_cpu_realtime\")"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    flavor_rt \u003d strutils.bool_from_string(flavor_rt)"},{"line_number":964,"context_line":"    if image_rt is None:  # Property not defined"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_47ec26f3","line":961,"updated":"2015-09-22 10:00:03.000000000","message":"I think that we must only support \u0027hw:cpu_realtime\u0027 against the flavour, not the image. We need to have dedicated configuration for real time compute nodes which requires setting up host aggregates and tagging them against the flavour. It will not be possible to run an image in real time mode, without using a flavour which is tagged for real time. Similarly if would not be desirable to run a non-realtime guest image on a flavour with real time enabled. Given this, we don\u0027t need to support realtime against the image. This also makes the ImageMeta change redundant.","commit_id":"d8a4a644776c8b337147cd92a7274b3b30a66d6f"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0b28fd7c3b7cc8702543aa1e5bea1b2b11061918","unresolved":false,"context_lines":[{"line_number":958,"context_line":""},{"line_number":959,"context_line":"def is_realtime_enabled(flavor, image_meta):"},{"line_number":960,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":961,"context_line":"    image_rt \u003d image_meta.get(\u0027properties\u0027, {}).get(\"hw_cpu_realtime\")"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    flavor_rt \u003d strutils.bool_from_string(flavor_rt)"},{"line_number":964,"context_line":"    if image_rt is None:  # Property not defined"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_c58d5dd4","line":961,"in_reply_to":"ba15a1d1_47ec26f3","updated":"2015-09-23 09:40:16.000000000","message":"Done","commit_id":"d8a4a644776c8b337147cd92a7274b3b30a66d6f"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bd28b859a616f96642c42d1637477059a58b88c9","unresolved":false,"context_lines":[{"line_number":959,"context_line":"    return objects.InstanceNUMATopology(cells\u003dcells)"},{"line_number":960,"context_line":""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"def is_realtime_enabled(flavor):"},{"line_number":963,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":964,"context_line":"    return strutils.bool_from_string(flavor_rt)"},{"line_number":965,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_48d0af1f","line":962,"updated":"2015-10-07 12:43:08.000000000","message":"nit, use _is_realtime_enabled since it\u0027s internal use only?","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"3c1016c6a987cc1aa4f8bf6264949e8b30383d30","unresolved":false,"context_lines":[{"line_number":959,"context_line":"    return objects.InstanceNUMATopology(cells\u003dcells)"},{"line_number":960,"context_line":""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"def is_realtime_enabled(flavor):"},{"line_number":963,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":964,"context_line":"    return strutils.bool_from_string(flavor_rt)"},{"line_number":965,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_33c6fb9a","line":962,"in_reply_to":"7a2fa921_48d0af1f","updated":"2015-10-07 15:59:01.000000000","message":"No, it\u0027s not internal use only.","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bd28b859a616f96642c42d1637477059a58b88c9","unresolved":false,"context_lines":[{"line_number":960,"context_line":""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"def is_realtime_enabled(flavor):"},{"line_number":963,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":964,"context_line":"    return strutils.bool_from_string(flavor_rt)"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_c8d11f59","line":963,"updated":"2015-10-07 12:43:08.000000000","message":"I think it should be better to mention \nit\u0027s default to False even None will be taken as False?","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"3c1016c6a987cc1aa4f8bf6264949e8b30383d30","unresolved":false,"context_lines":[{"line_number":960,"context_line":""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"def is_realtime_enabled(flavor):"},{"line_number":963,"context_line":"    flavor_rt \u003d flavor.get(\u0027extra_specs\u0027, {}).get(\"hw:cpu_realtime\")"},{"line_number":964,"context_line":"    return strutils.bool_from_string(flavor_rt)"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_334d9b3e","line":963,"in_reply_to":"7a2fa921_c8d11f59","updated":"2015-10-07 15:59:01.000000000","message":"I do not think so, property is a string with default to None","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"bd28b859a616f96642c42d1637477059a58b88c9","unresolved":false,"context_lines":[{"line_number":996,"context_line":""},{"line_number":997,"context_line":"    rt \u003d is_realtime_enabled(flavor)"},{"line_number":998,"context_line":"    pi \u003d image_pinning or flavor_pinning"},{"line_number":999,"context_line":"    if rt and pi !\u003d \"dedicated\":"},{"line_number":1000,"context_line":"        raise exception.RealtimeConfigurationInvalid()"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    if not requested:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_68f56b81","line":999,"updated":"2015-10-07 12:43:08.000000000","message":"seems image_pinning \u003d\u003d \"dedicated\" or flavor_pinning \u003d\u003d \"dedicated\"\nwill make request \u003d True here? can we use it?","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"3c1016c6a987cc1aa4f8bf6264949e8b30383d30","unresolved":false,"context_lines":[{"line_number":996,"context_line":""},{"line_number":997,"context_line":"    rt \u003d is_realtime_enabled(flavor)"},{"line_number":998,"context_line":"    pi \u003d image_pinning or flavor_pinning"},{"line_number":999,"context_line":"    if rt and pi !\u003d \"dedicated\":"},{"line_number":1000,"context_line":"        raise exception.RealtimeConfigurationInvalid()"},{"line_number":1001,"context_line":""},{"line_number":1002,"context_line":"    if not requested:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a2fa921_f3ae4384","line":999,"in_reply_to":"7a2fa921_68f56b81","updated":"2015-10-07 15:59:01.000000000","message":"I do not understand your question ?","commit_id":"0dd300a4ea42c0ab29d5f40293c8cc9616b2beb6"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"380adaed18c361070ff2d504f83fcfb81bef4d2e","unresolved":false,"context_lines":[{"line_number":995,"context_line":"        requested \u003d image_pinning \u003d\u003d \"dedicated\""},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"    rt \u003d is_realtime_enabled(flavor)"},{"line_number":998,"context_line":"    pi \u003d image_pinning or flavor_pinning"},{"line_number":999,"context_line":"    if rt and pi !\u003d \"dedicated\":"},{"line_number":1000,"context_line":"        raise exception.RealtimeConfigurationInvalid()"},{"line_number":1001,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa80f949_78cb7973","line":998,"updated":"2015-11-03 10:41:52.000000000","message":"rt, pi - not the best names of vars...","commit_id":"e388ff8ff52b909c10eb894223843a3a5e0787ea"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e8530e7ed63033aba7c7efa71f3ccb662894b8c8","unresolved":false,"context_lines":[{"line_number":995,"context_line":"        requested \u003d image_pinning \u003d\u003d \"dedicated\""},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"    rt \u003d is_realtime_enabled(flavor)"},{"line_number":998,"context_line":"    pi \u003d image_pinning or flavor_pinning"},{"line_number":999,"context_line":"    if rt and pi !\u003d \"dedicated\":"},{"line_number":1000,"context_line":"        raise exception.RealtimeConfigurationInvalid()"},{"line_number":1001,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba8a016a_e1e4d4ac","line":998,"in_reply_to":"fa80f949_78cb7973","updated":"2015-11-19 12:00:41.000000000","message":"it\u0027s *really* close to where they are used, short vars are fine in this case.","commit_id":"e388ff8ff52b909c10eb894223843a3a5e0787ea"}]}
