)]}'
{"id":"openstack%2Fnova~6747","triplet_id":"openstack%2Fnova~master~I7e4899726df9e7e24b9b8154881972c3de6c2665","project":"openstack/nova","branch":"master","topic":"bug/974810","hashtags":[],"change_id":"I7e4899726df9e7e24b9b8154881972c3de6c2665","subject":"Add i18n context module to redefine function _()","status":"ABANDONED","created":"2012-04-24 10:23:02.000000000","updated":"2012-06-12 06:03:01.000000000","total_comment_count":8,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"9826d53397aec69c206a9235257e343dc2a4bc87","_number":6747,"virtual_id_number":6747,"owner":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"all":[{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},{"value":1,"date":"2012-05-15 02:48:44.000000000","_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"disliked":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"all":[{"value":-1,"date":"2012-05-23 13:18:47.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},{"value":0,"date":"2012-05-15 02:32:20.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":2,"date":"2012-05-15 16:18:57.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"date":"2012-06-01 07:50:27.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"date":"2012-05-17 03:41:39.000000000","_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"date":"2012-06-01 06:26:29.000000000","_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"date":"2012-05-15 16:18:57.000000000","_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"date":"2012-06-01 06:25:14.000000000","_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-05-15 02:48:44.000000000","updated_by":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"reviewer":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2012-05-15 16:18:57.000000000","updated_by":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"reviewer":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"state":"REVIEWER"},{"updated":"2012-05-17 03:41:39.000000000","updated_by":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"reviewer":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"state":"REVIEWER"},{"updated":"2012-06-01 06:25:14.000000000","updated_by":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"reviewer":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"state":"REVIEWER"},{"updated":"2012-06-01 06:26:29.000000000","updated_by":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"reviewer":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"state":"REVIEWER"}],"messages":[{"id":"e7ed6a68194020cfcc31f96da875208940888b16","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-04-24 11:34:29.000000000","message":"Patch Set 1:\n\nSmokeStack Results (patch set 1):\n\tUnit Failed:Nova tests failed. Nova pep8 failed.  http://smokestack.openstack.org/?go\u003d/jobs/18582\n\tLibvirt (Fedora 16) Failed:Failed to build nova packages. http://smokestack.openstack.org/?go\u003d/jobs/18580\n\tXenServer (Ubuntu 11.10) Failed:Chef client timeout: nova1 http://smokestack.openstack.org/?go\u003d/jobs/18581","accounts_in_message":[],"_revision_number":1},{"id":"bfc3028528af6491d3379128c82eae9537de0c8c","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-04-24 18:08:24.000000000","message":"Patch Set 1: I would prefer that you didn\u0027t submit this\n\nPlease keep your reviews specific to a single bug or blueprint. Additionally, the second bug referenced in your commit message has already been fixed.","accounts_in_message":[],"_revision_number":1},{"id":"4de85aba51979c1bd29f3ee88f56c8119a603205","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-04-26 09:25:55.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"616c5e641b5d7904e92c5139922384d6cafdf57e","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-05-03 18:24:18.000000000","message":"Patch Set 2:\n\nSmokeStack Results (patch set 2):\n\tUnit Failed:Nova tests failed. Nova pep8 failed.  http://smokestack.openstack.org/?go\u003d/jobs/18853\n\tLibvirt (Fedora 16) Success: http://smokestack.openstack.org/?go\u003d/jobs/18852\n","accounts_in_message":[],"_revision_number":2},{"id":"a00f0bbb6bd81b87f046b88b4d3b58bc9817ce42","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2012-05-07 20:49:10.000000000","message":"Patch Set 2: I would prefer that you didn\u0027t merge this\n\n(6 inline comments)\n\nSee in-line comments…","accounts_in_message":[],"_revision_number":2},{"id":"f82f3b187e1617fe15a133adcee90e76ce09e29f","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-09 09:05:45.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"734039b5ccd03776282b9a7e5f75637a9296d763","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-05-09 09:53:00.000000000","message":"Patch Set 3: Doesn\u0027t seem to work\n\nSmokeStack Results (patch set 3):\n\tUnit Failed:Nova tests failed.  http://smokestack.openstack.org/?go\u003d/jobs/19984\n\tLibvirt (Fedora 16) Success: http://smokestack.openstack.org/?go\u003d/jobs/19986\n","accounts_in_message":[],"_revision_number":3},{"id":"719da434b992265ed5ed1c2fdd40d88ac7affc80","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2012-05-09 15:44:58.000000000","message":"Patch Set 3: (1 inline comment)\n\nInline is a question…","accounts_in_message":[],"_revision_number":3},{"id":"6bec075d8c513c45081f830b054a222edf2f015d","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-10 04:20:49.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"946df37d448140a4347525dd64f6e20674f0f5af","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-05-10 04:54:34.000000000","message":"Patch Set 4: Works for me\n\nSmokeStack Results (patch set 4):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/20066\n\tLibvirt (Fedora 16) Success: http://smokestack.openstack.org/?go\u003d/jobs/20065\n","accounts_in_message":[],"_revision_number":4},{"id":"89e26019fac59f34442b6393208fda2f7008281f","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2012-05-10 14:26:22.000000000","message":"Patch Set 4:\n\nSame question as before: Why do we need to exclude i18ncontext.py from the PEP8/hacking check?  I\u0027m sure you have a good reason for it, but I need to know what it is.","accounts_in_message":[],"_revision_number":4},{"id":"20aa046c344890ef1fbdd5c52108cf05c3d76257","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-11 10:14:34.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"9459bb0a2060d154f120265a7ada402522ce51c4","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-05-11 10:46:26.000000000","message":"Patch Set 5: Works for me\n\nSmokeStack Results (patch set 5):\n\tLibvirt (Fedora 16) Success: http://smokestack.openstack.org/?go\u003d/jobs/20239\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/20240\n","accounts_in_message":[],"_revision_number":5},{"id":"56323841ecab6a3c62a485a06c28babae31f2a31","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-14 02:12:50.000000000","message":"Patch Set 5:\n\nKevin: \nThe reason is  i18ncontext module defined function _(message)  which will fail PEP8/hacking check:  \"N701 rule: Empty localization string\". It seems that the Hacking module defined i18n related compliance rule and test with prefix of N7xx.  All function call of _() in module will be checked if it is using i18n message string.  however,  i18ncontext module is redefinition of the old _() function, not function call,  which will make it look like an empty string. I found 3 methods to resolve this problem:\n1. Excluded i18ncontext to avoid failing the test. \n2. Modify the hacking module to skip this kind of _() function definition\n3. Rename the fucntion _(message) in i18ncontext to dgettext(message)\nI prefer to use option 3 and abort the change to exclude PEP8/Hacking check.","accounts_in_message":[],"_revision_number":5},{"id":"61419d5ecf14034092d45a458d1115cbaaf9c9b8","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2012-05-14 18:25:23.000000000","message":"Patch Set 5: (1 inline comment)\n\nOne HACKING problem; see in-line.\n\nI think you\u0027re going to have difficulty getting anyone else to review this patch.  It may only be ~300 lines, but you touch virtually every .py file in the tree, which means the patch looks intimidatingly large.  What I would suggest is submitting one patch with just the i18ncontext.py file, then several patches with, say, around 10-20 files per patch, all dependent on the patch with i18ncontext.py.  That will result in less intimidating patches and make it easier to handle conflicts until you get everything merged.","accounts_in_message":[],"_revision_number":5},{"id":"641b4839b2b8570ab18ec42a379ba86773348d88","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-15 02:23:13.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"4869d875466689655b12efb1f0fe0266a243483d","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-15 02:32:20.000000000","message":"Patch Set 6:\n\nKevin, It really get me into a lot trouble to amend this patch since it touch lots of modules which needs i18n and the community evolve so quickly. I made too much efforts to rebase, merge and testing to make this forward and completely fix this bug. Your suggestion is good for me. But it doesn\u0027t make sense to fix the bug. Part of the commit will make it incomplete and hard to explain and submit the remaining part of patch.","accounts_in_message":[],"_revision_number":6},{"id":"72237a5e202a0df81717d67d459132676f649cdd","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-05-15 02:48:44.000000000","message":"Patch Set 6: Works for me\n\nSmokeStack Results (patch set 6):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/20509\n\tLibvirt (Fedora 16) Success: http://smokestack.openstack.org/?go\u003d/jobs/20508\n","accounts_in_message":[],"_revision_number":6},{"id":"0e8ccd6c02be2d76bccbb6b308b2a3db9044d054","author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"date":"2012-05-15 16:18:57.000000000","message":"Patch Set 6: Looks good to me (core reviewer)\n\n*shrug*","accounts_in_message":[],"_revision_number":6},{"id":"05421166a7dfc89c12c992b313b6c5e11289dbc1","author":{"_account_id":612,"name":"Tom Fifield","email":"tom@openstack.org","username":"fifieldt"},"date":"2012-05-21 10:31:58.000000000","message":"Patch Set 6: Looks good to me, but someone else must approve\n\nI have looked at all of the files and they are all consistent.","accounts_in_message":[],"_revision_number":6},{"id":"ab4aab5dc4a1786488437da9a6af4810e1e6b957","author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"date":"2012-05-23 13:18:47.000000000","message":"Patch Set 6: I would prefer that you didn\u0027t merge this\n\nI\u0027m not sure I buy this approach. This might sound silly, but it\u0027s asking a lot to add two lines to every file for i18n. Is there absolutely no way to modify nova/__init__.py to correctly set up gettext?","accounts_in_message":[],"_revision_number":6},{"id":"0a9ee7cbeaf9683206ed49f96a987a4aac6e7c6b","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-24 05:55:33.000000000","message":"Patch Set 6:\n\nSame idea as I tried to solve this issue. \nAccording to my research on gettext, it is using binary tree to store and search the i18n string within a domain. So each domain is represented by a tree. There\u0027re two approach to use gettext: \n1) Install the domain once and use it as default domain afterwards, which is dynamic and implicit.\n2) Bind multiple domains and use it with domain specified, which is static and explicit.\n\nFor approach 1,  you must keep the context correct in each module initilization and make sure no context switch. If you install another domain elsewhere in the same process, the previous domain won\u0027t be available any more which means the context is lost. Currently openstack is using this approach but has i18n issue as reported in bug 974810. it can be fixed by defining only ONE domain accross all components. This requires to put all strings together in one place. Or we can decouple client code from server code. This might be able to avoid switching i18n context since client code might not need globalization. but who knows!\n\nFor approach 2, it requires each module to declare which i18n context to be used. This is why you can see many files were added two lines of code.","accounts_in_message":[],"_revision_number":6},{"id":"905ebc2a95e1216a056360939194ace335da0067","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-05-24 06:41:18.000000000","message":"Patch Set 6:\n\nI take back what about the binary tree. It is not accurate. The file format can support binary search for origin strings.","accounts_in_message":[],"_revision_number":6},{"id":"865aeafbfafbb1bba9324f5da3c0d0f22430c10c","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2012-06-01 06:03:14.000000000","message":"Patch Set 6:\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":6},{"id":"3ad569aa07970832b92428f8f18b76cefdde13a7","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2012-06-01 06:03:15.000000000","message":"Patch Set 6: Abandoned\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":6},{"id":"ed971c3c12c5a8e4cbafdfeb2cdad8f385a61a41","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-06-01 06:23:59.000000000","message":"Patch Set 6: Restored\n\nCurrently there\u0027s no better way to fix this bug.","accounts_in_message":[],"_revision_number":6},{"id":"7bc5874f0ce1d29c4c5b5145c318efb9ddef61bc","author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"date":"2012-06-01 07:50:27.000000000","message":"Patch Set 6:\n\nCan we avoid this by using the new python-glanceclient that doesn\u0027t have dependencies on glance and therefore doesn\u0027t install the glance translations?","accounts_in_message":[],"_revision_number":6},{"id":"21d80176fe9b41ed0ddda532399f7a61a0725389","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-06-01 08:24:25.000000000","message":"Patch Set 6:\n\nyes, this might be able to avoid overriding domain problem which just let it go.  But even for client code, is there no need to translate at all?  If the API calls want to get a localized message from server, how to deal with this case?","accounts_in_message":[],"_revision_number":6},{"id":"4d402d00b2ab723e7b21cde3f76e8a1d7d9fa090","author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"date":"2012-06-01 16:44:04.000000000","message":"Patch Set 6:\n\nWhen we use the client code we are catching specific exceptions, so we can provide localized messages in nova for those exceptions if needed.","accounts_in_message":[],"_revision_number":6},{"id":"c51c731fd128c03ea15ea24b1eae5f3754e2fad5","author":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"date":"2012-06-05 04:01:39.000000000","message":"Patch Set 6:\n\nSince we have addressed two options to resolve this problem discussed a lot in the mail list. One is to re-architecture the current design to decouple client and server code which has become true now. The other one is this patch set without re-architecturing which seems more feasible at the time of first submission. it might be valuable for the previous ESSEX release if someone still want to resolve this problem without re-architecturing, I think. :-)","accounts_in_message":[],"_revision_number":6},{"id":"cf8bf64d5d0d0783dacf23b42d9a073ab6336c7b","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2012-06-12 06:03:01.000000000","message":"Patch Set 6:\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":6},{"id":"1f730140a4daea809fef9149c1ecf5277f806207","author":{"_account_id":9,"name":"LaunchpadSync","username":"launchpadsync"},"date":"2012-06-12 06:03:01.000000000","message":"Patch Set 6: Abandoned\n\ncode review expired after 1 week of no activity after a negative review, it can be restored using the `Restore Change` button under the Patch Set on the web interface","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"86c80dcb8f4032fc136075f2b34febfb4cfea538","revisions":{"a2f6303547f63c34a7fe60b77d4f7dcdb51ab764":{"kind":"REWORK","_number":1,"created":"2012-04-24 10:23:02.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/1"}}},"commit":{"parents":[{"commit":"f05841caf3dbf7e659b55513f07e9837b1cf22f6","subject":"Merge \"Logging updates in IptablesFirewallDriver.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f05841caf3dbf7e659b55513f07e9837b1cf22f6"}]}],"author":{"name":"Openstack VM","email":"zhanghua@ubuntu.(none)","date":"2012-04-09 07:49:00.000000000","tz":480},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-04-24 09:50:08.000000000","tz":480},"subject":"i18n context for each component to support multiple text domain and fix Bug #974810. remove empty __init__.py under locale directory to avoid ImportError to fix Bug #977021.","message":"i18n context for each component to support multiple text domain and fix Bug #974810.\nremove empty __init__.py under locale directory to avoid ImportError to fix Bug #977021.\n\nConflicts:\n\n\tnova/api/direct.py\n\tnova/locale/zh_CN/LC_MESSAGES/nova.po\n\tnova/rpc/amqp.py\n\tnova/rpc/common.py\n\tnova/rpc/impl_carrot.py\n\tnova/scheduler/vsa.py\n\tnova/testing/fake/rabbit.py\n\tnova/virt/connection.py\n\tnova/virt/libvirt/vif.py\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a2f6303547f63c34a7fe60b77d4f7dcdb51ab764"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a2f6303547f63c34a7fe60b77d4f7dcdb51ab764"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"f05841caf3dbf7e659b55513f07e9837b1cf22f6","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"57b88e5535a5fddb34478ffd44225ff4d3ebcd47":{"kind":"REWORK","_number":2,"created":"2012-04-26 09:25:55.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/2"}}},"commit":{"parents":[{"commit":"caa1b282c701d5e9b9e02ffdb07d432d9b35ed13","subject":"Xen: Pass session to destroy_vdi","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/caa1b282c701d5e9b9e02ffdb07d432d9b35ed13"}]}],"author":{"name":"ZHANG Hua","email":"zhuadl@cn.ibm.com","date":"2012-04-26 08:50:05.000000000","tz":-420},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-04-26 09:25:14.000000000","tz":480},"subject":"Add i18n context module and import function _ for each component to support multiple text domain. Fix Bug 974810.","message":"Add i18n context module and import function _ for each component to support multiple text domain.\nFix Bug 974810.\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/57b88e5535a5fddb34478ffd44225ff4d3ebcd47"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/57b88e5535a5fddb34478ffd44225ff4d3ebcd47"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"caa1b282c701d5e9b9e02ffdb07d432d9b35ed13","is_merged_in_target_branch":true,"change_id":"I34c59ff536abfdff9221cdb3d9ecc45d1e7a1a90","change_number":6818,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"91e2478f63cdfc9bd05a1930f2a6fe5b0310654c":{"kind":"REWORK","_number":3,"created":"2012-05-09 09:05:45.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/3"}}},"commit":{"parents":[{"commit":"3e126c83bf6c26de971c84700888deeaee280a50","subject":"Merge \"Minor refactor of servers viewbuider.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3e126c83bf6c26de971c84700888deeaee280a50"}]}],"author":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-09 07:23:18.000000000","tz":480},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-09 09:05:32.000000000","tz":480},"subject":"Add i18n context module to redefine function _()","message":"Add i18n context module to redefine function _()\n\nFix Bug 974810.\n\nAdd new i18n context modules to redefine the default i18n function _(message)\nwith correct boundled text domain for each component(nova, glance etc). This\nwill avoid overriding the old domain when installing new domain by calling\ngettext.install().\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/91e2478f63cdfc9bd05a1930f2a6fe5b0310654c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/91e2478f63cdfc9bd05a1930f2a6fe5b0310654c"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"3e126c83bf6c26de971c84700888deeaee280a50","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"9085c1147590b28534c4242ff472d1d02dd2b10e":{"kind":"REWORK","_number":4,"created":"2012-05-10 04:20:49.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/4"}}},"commit":{"parents":[{"commit":"c45595cc33ed295a272117ad710dd75336ee7ecc","subject":"Merge \"fix bug 977007,make nova create correct size of qcow2 disk file.\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c45595cc33ed295a272117ad710dd75336ee7ecc"}]}],"author":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-09 07:23:18.000000000","tz":480},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-10 04:20:36.000000000","tz":480},"subject":"Add i18n context module to redefine function _()","message":"Add i18n context module to redefine function _()\n\nFix Bug 974810.\n\nAdd new i18n context modules to redefine the default i18n function _(message)\nwith correct boundled text domain for each component(nova, glance etc). This\nwill avoid overriding the old domain when installing new domain by calling\ngettext.install().\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9085c1147590b28534c4242ff472d1d02dd2b10e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9085c1147590b28534c4242ff472d1d02dd2b10e"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"c45595cc33ed295a272117ad710dd75336ee7ecc","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"827cbb3d519e9d36ff58e83d90d05a594715e00a":{"kind":"REWORK","_number":5,"created":"2012-05-11 10:14:34.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/5"}}},"commit":{"parents":[{"commit":"bf6673a5952ed59ed55d504938d195083e23a2ce","subject":"Merge \"Use ConfigOpts.find_file() to find paste config\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/bf6673a5952ed59ed55d504938d195083e23a2ce"}]}],"author":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-09 07:23:18.000000000","tz":480},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-11 07:03:04.000000000","tz":480},"subject":"Add i18n context module to redefine function _()","message":"Add i18n context module to redefine function _()\n\nFix Bug 974810.\n\nAdd new i18n context modules to redefine the default i18n function _(message)\nwith correct boundled text domain for each component(nova, glance etc). This\nwill avoid overriding the old domain when installing new domain by calling\ngettext.install().\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/827cbb3d519e9d36ff58e83d90d05a594715e00a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/827cbb3d519e9d36ff58e83d90d05a594715e00a"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"bf6673a5952ed59ed55d504938d195083e23a2ce","is_merged_in_target_branch":true}],"branch":"refs/heads/master"},"86c80dcb8f4032fc136075f2b34febfb4cfea538":{"kind":"REWORK","_number":6,"created":"2012-05-15 02:23:13.000000000","uploader":{"_account_id":2649,"name":"Zhang Hua","email":"zhuadl@cn.ibm.com","username":"zhang-hare"},"ref":"refs/changes/47/6747/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/47/6747/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/47/6747/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/47/6747/6"}}},"commit":{"parents":[{"commit":"fbae8d09fdb9ad370fa827aab0f9bfe0c0c7041f","subject":"Adding notifications for volumes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/fbae8d09fdb9ad370fa827aab0f9bfe0c0c7041f"}]}],"author":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-09 07:23:18.000000000","tz":480},"committer":{"name":"zhang-hare","email":"zhuadl@cn.ibm.com","date":"2012-05-15 02:08:34.000000000","tz":480},"subject":"Add i18n context module to redefine function _()","message":"Add i18n context module to redefine function _()\n\nFix Bug 974810.\n\nAdd new i18n context modules to redefine the default i18n function _(message)\nwith correct boundled text domain for each component(nova, glance etc). This\nwill avoid overriding the old domain when installing new domain by calling\ngettext.install().\n\nChange-Id: I7e4899726df9e7e24b9b8154881972c3de6c2665\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/86c80dcb8f4032fc136075f2b34febfb4cfea538"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/86c80dcb8f4032fc136075f2b34febfb4cfea538"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"fbae8d09fdb9ad370fa827aab0f9bfe0c0c7041f","is_merged_in_target_branch":true,"change_id":"I21b74974fac22c3621ccf7564dc5c0d339f8751a","change_number":7357,"patch_set_number":9,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
