)]}'
{"nova/cells/opts.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4395684790aba46ec902f96124bdbef740276e90","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    return CONF.cells.cell_type"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def list_opts():"},{"line_number":32,"context_line":"    return []"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_5e10b5a8","line":31,"updated":"2016-02-09 13:35:19.000000000","message":"we should probably just remove this one, and all its callers.","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"1659fbccda137106ca762180bfeaa814de84ab3c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    return CONF.cells.cell_type"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def list_opts():"},{"line_number":32,"context_line":"    return []"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_485f9675","line":31,"in_reply_to":"5a5ae5dd_5e10b5a8","updated":"2016-02-09 20:10:51.000000000","message":"ok, I will make a follow up patch, thanks","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"}],"nova/conf/cells.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b700a82235cdae28fe8e96b994001fa82f049ea6","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        help\u003d\u0027Set a version cap for messages sent to local cells services\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"ALL_CELLS_OPTS \u003d itertools.chain("},{"line_number":154,"context_line":"        cells_opts,"},{"line_number":155,"context_line":"        mute_weigher_opts,"},{"line_number":156,"context_line":"        ram_weigher_opts,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_8f16a7a5","line":153,"updated":"2016-01-13 17:27:33.000000000","message":"The object returned from \"itertools.chain\" is an iterator.\nIterators iterate only once(!) over a sequence of values. \nThis already happened when \"register_opts\" is called when \nthe oslo config generator imports them. Which means the \"[cells]\"\ngroup has a no options listed (because the iterator is exhausted).\nI assume the oslo config generator ignores empty groups. That\nshould be reason why the \"nova.conf.sample\" shows no \"[cells]\" group.\nA minimal example which could help to understand this:\n\n    import itertools\n\n    a \u003d [ \u0027a\u0027 ]\n    b \u003d [ \u0027b\u0027 ]\n    opts \u003d itertools.chain(a, b)\n\n    for o in opts:\n        print(o)\n\n    for o in opts:\n        print(o)\n\nThe output will only show \"a\", \"b\" once, although we have two loops.\n\nYou can fix that by creating a list with the iterator:\n\n    ALL_CELLS_OPTS \u003d list(itertools.chain(\n            cells_opts,\n            mute_weigher_opts,\n            ram_weigher_opts,\n            weigher_opts,\n            cell_manager_opts,\n            cell_messaging_opts,\n            cell_rpc_driver_opts,\n            cell_scheduler_opts,\n            cell_state_manager_opts\n            ))","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"ef79adf0dc949c922ba85d3fe700bf50374e86a0","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        help\u003d\u0027Set a version cap for messages sent to local cells services\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"ALL_CELLS_OPTS \u003d itertools.chain("},{"line_number":154,"context_line":"        cells_opts,"},{"line_number":155,"context_line":"        mute_weigher_opts,"},{"line_number":156,"context_line":"        ram_weigher_opts,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_f6f7e056","line":153,"in_reply_to":"da6ed579_8f16a7a5","updated":"2016-01-14 08:14:06.000000000","message":"cool, I didn\u0027t know this. But using list(itertools.chain()) gives me a weird placement of options in nova.conf.sample. For example I would like \"enable\" option to be at the beginning but this usage does not keep the placements I made. I am working on this now..","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"724afb092be6d84209787c56aca2c86cd782bf82","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        help\u003d\u0027Set a version cap for messages sent to local cells services\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"ALL_CELLS_OPTS \u003d itertools.chain("},{"line_number":154,"context_line":"        cells_opts,"},{"line_number":155,"context_line":"        mute_weigher_opts,"},{"line_number":156,"context_line":"        ram_weigher_opts,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_9c2d6300","line":153,"in_reply_to":"da6ed579_9c2ec341","updated":"2016-01-14 08:32:31.000000000","message":"OK then I will keep it as it is.. now it is neither logically nor alphabetically ordered :)","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"3e7fd82c2190f6a194cf7a4d490bf527882d2249","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        help\u003d\u0027Set a version cap for messages sent to local cells services\u0027)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"ALL_CELLS_OPTS \u003d itertools.chain("},{"line_number":154,"context_line":"        cells_opts,"},{"line_number":155,"context_line":"        mute_weigher_opts,"},{"line_number":156,"context_line":"        ram_weigher_opts,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_9c2ec341","line":153,"in_reply_to":"da6ed579_f6f7e056","updated":"2016-01-14 08:26:19.000000000","message":"Personally, I would expect the generator to make an alphabetical list out of it. By that, when you tell ops to change config option \"xxx\" they can spot them easier in the \"nova.conf\" file. But that\u0027s not a big issue right now I think. We can tweak that in a follow up patch.","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b700a82235cdae28fe8e96b994001fa82f049ea6","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"def list_opts():"},{"line_number":175,"context_line":"    return {"},{"line_number":176,"context_line":"        \u0027cells\u0027: itertools.chain("},{"line_number":177,"context_line":"                cells_opts,"},{"line_number":178,"context_line":"                mute_weigher_opts,"},{"line_number":179,"context_line":"                ram_weigher_opts,"},{"line_number":180,"context_line":"                weigher_opts,"},{"line_number":181,"context_line":"                cell_manager_opts,"},{"line_number":182,"context_line":"                cell_messaging_opts,"},{"line_number":183,"context_line":"                cell_rpc_driver_opts,"},{"line_number":184,"context_line":"                cell_scheduler_opts,"},{"line_number":185,"context_line":"                cell_state_manager_opts"},{"line_number":186,"context_line":"                ),"},{"line_number":187,"context_line":"        \u0027upgrade_levels\u0027: ALL_RPCAPI_CAP_OPTS,"},{"line_number":188,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_6f61f338","line":186,"range":{"start_line":176,"start_character":0,"end_line":186,"end_character":18},"updated":"2016-01-13 17:27:33.000000000","message":"You can replace this with:\n\n    \u0027cell\u0027: ALL_CELLS_OPTS\n\nwhen the change in line 153 is applied.","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ea94e2b24a81d73237b8495d7dfa27fa185ff514","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_b9d1fe24","line":1,"updated":"2016-02-08 16:21:02.000000000","message":"Unless you work for the OpenStack Foundation this is the wrong copyright to use, and it\u0027s better to just leave it off anyways. However my understanding is that this is essentially meaningless so I don\u0027t think it matters.","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"5298715ab352b33f9be1b808989315cb7d8bd9cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_4fee8cb5","line":1,"in_reply_to":"3a57f1b5_f66c330a","updated":"2016-02-11 06:42:45.000000000","message":"thanks, but what is the correct form? for my feature contributions..","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4395684790aba46ec902f96124bdbef740276e90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_be61a9d5","line":1,"in_reply_to":"5a5ae5dd_472ebca6","updated":"2016-02-09 13:35:19.000000000","message":"its fine leaving it. its all so broken we have given up with it.","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"acb99364fbf057ca6f706a80b793917ca60c5578","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a57f1b5_f66c330a","line":1,"in_reply_to":"5a5ae5dd_68f29271","updated":"2016-02-10 05:35:28.000000000","message":"Yeah, this is wrong but commonly done. So I\u0027m over it.","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"42ff7320753f78c9c4ebafdd4d43104cc5bdf3db","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_472ebca6","line":1,"in_reply_to":"5a5ae5dd_b9d1fe24","updated":"2016-02-09 06:23:34.000000000","message":"Hmm, I didn\u0027t know it. At the end should I remove it or not?","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"},{"author":{"_account_id":18934,"name":"ecelik","email":"celik.esra@tubitak.gov.tr","username":"esracelik"},"change_message_id":"1659fbccda137106ca762180bfeaa814de84ab3c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_68f29271","line":1,"in_reply_to":"5a5ae5dd_be61a9d5","updated":"2016-02-09 20:10:51.000000000","message":"ok..","commit_id":"2c10aefb621b09fe172aa37b2407afb994f3a248"}],"nova/hacking/checks.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"b700a82235cdae28fe8e96b994001fa82f049ea6","unresolved":false,"context_lines":[{"line_number":569,"context_line":"    cleaned_up \u003d [\"nova/console/serial.py\","},{"line_number":570,"context_line":"                  \"nova/cmd/serialproxy.py\","},{"line_number":571,"context_line":"                  \"nova/cells/weights/\","},{"line_number":572,"context_line":"                  \"nova/cells/\","},{"line_number":573,"context_line":"                  ]"},{"line_number":574,"context_line":"    if not any(c in filename for c in cleaned_up):"},{"line_number":575,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_4fd50fb7","line":572,"updated":"2016-01-13 17:27:33.000000000","message":"I posted on the ML that I made a mistake to suggest this. It will lead to merge conflicts again. Please remove them again. I\u0027m sorry for that.","commit_id":"54f3f90d51d5f3cda739f94c3d12172e34d4c361"}]}
