)]}'
{"id":"openstack%2Fnova~3401","triplet_id":"openstack%2Fnova~master~Ia58c8f0aaf61628bb55b1b8485118a2a9852ed17","project":"openstack/nova","branch":"master","hashtags":[],"change_id":"Ia58c8f0aaf61628bb55b1b8485118a2a9852ed17","subject":"Refactor away the flags.DEFINE_* helpers","status":"MERGED","created":"2012-01-25 14:33:52.000000000","updated":"2012-01-30 16:31:48.000000000","submitted":"2012-01-30 16:27:14.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"935736334e98b17417c75e2f4851b05ba4f81b56","_number":3401,"virtual_id_number":3401,"owner":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},{"value":0,"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},{"value":0,"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"value":1,"date":"2012-01-30 16:27:14.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"all":[{"value":0,"date":"2012-01-30 09:10:10.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},{"value":2,"date":"2012-01-30 15:47:20.000000000","_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"date":"2012-01-28 13:23:44.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":2,"date":"2012-01-30 10:39:25.000000000","_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},{"value":0,"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"value":0,"date":"2012-01-30 16:27:14.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"all":[{"value":0,"date":"2012-01-30 09:10:10.000000000","_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},{"value":1,"date":"2012-01-30 16:04:11.000000000","_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"date":"2012-01-30 10:39:25.000000000","_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},{"value":0,"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},{"value":0,"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"value":0,"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},{"value":0,"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},{"value":0,"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2012-01-25 16:22:38.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-01-28 13:23: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-01-30 10:39:25.000000000","updated_by":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"reviewer":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"state":"REVIEWER"},{"updated":"2012-01-30 16:04:11.000000000","updated_by":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"reviewer":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"state":"REVIEWER"},{"updated":"2012-01-30 16:27:14.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"6e6d9fd42b27b339a9e1a7e82cb75daf6ea6ba2d","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-01-25 16:17:10.000000000","message":"Patch Set 1:\n\nSmokeStack Results (patch set 1):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/10066\n\tLibvirt Failed:Hit by Torpedo. http://smokestack.openstack.org/?go\u003d/jobs/10064\n\tXenServer Failed:Hit by Torpedo. http://smokestack.openstack.org/?go\u003d/jobs/10065","accounts_in_message":[],"_revision_number":1},{"id":"95dfdfaf319294be96d3fd704c67b6d2332886f8","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2012-01-25 16:19:33.000000000","message":"Patch Set 1: I would prefer that you didn\u0027t submit this\n\nHi Mark,\n\nI\u0027m getting some errors from the keystone middleware in nova API:\n\n\u003d\u003d\u003e /var/log/nova/nova-api.log \u003c\u003d\u003d\n2012-01-25 14:58:59,428 CRITICAL nova [-] \u0027module\u0027 object has no attribute \u0027DEFINE_string\u0027\n(nova): TRACE: Traceback (most recent call last):\n(nova): TRACE:   File \"/usr/bin/nova-api\", line 51, in \u003cmodule\u003e\n(nova): TRACE:     servers.append(service.WSGIService(api))\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/nova/service.py\", line 328, in __init__\n(nova): TRACE:     self.app \u003d self.loader.load_app(name)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/nova/wsgi.py\", line 388, in load_app\n(nova): TRACE:     return deploy.loadapp(\"config:%s\" % self.config_path, name\u003dname)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 247, in loadapp\n(nova): TRACE:     return loadobj(APP, uri, name\u003dname, **kw)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 272, in loadobj\n(nova): TRACE:     return context.create()\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 710, in create\n(nova): TRACE:     return self.object_type.invoke(self)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 144, in invoke\n(nova): TRACE:     **context.local_conf)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/util.py\", line 56, in fix_call\n(nova): TRACE:     val \u003d callable(*args, **kw)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/urlmap.py\", line 25, in urlmap_factory\n(nova): TRACE:     app \u003d loader.get_app(app_name, global_conf\u003dglobal_conf)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 350, in get_app\n(nova): TRACE:     name\u003dname, global_conf\u003dglobal_conf).create()\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 362, in app_context\n(nova): TRACE:     APP, name\u003dname, global_conf\u003dglobal_conf)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 450, in get_context\n(nova): TRACE:     global_additions\u003dglobal_additions)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 562, in _pipeline_app_context\n(nova): TRACE:     for name in pipeline[:-1]]\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 458, in get_context\n(nova): TRACE:     section)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 517, in _context_from_explicit\n(nova): TRACE:     value \u003d import_string(found_expr)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py\", line 22, in import_string\n(nova): TRACE:     return pkg_resources.EntryPoint.parse(\"x\u003d\" + s).load(False)\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/pkg_resources.py\", line 1955, in load\n(nova): TRACE:     entry \u003d __import__(self.module_name, globals(),globals(), [\u0027__name__\u0027])\n(nova): TRACE:   File \"/usr/lib/python2.7/dist-packages/keystone/middleware/ec2_token.py\", line 36, in \u003cmodule\u003e\n(nova): TRACE:     flags.DEFINE_string(\u0027keystone_ec2_url\u0027,\n(nova): TRACE: AttributeError: \u0027module\u0027 object has no attribute \u0027DEFINE_string\u0027\n(nova): TRACE: \n\n---\n\nDo we need some compatibility layer in place until that can be refactored as well?","accounts_in_message":[],"_revision_number":1},{"id":"b855a0a98f4bb1033feab64b0d91781e913c5c58","author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"date":"2012-01-25 16:22:38.000000000","message":"Patch Set 1:\n\nDan: is your stuff using an external api-paste config that uses the middleware from keystone?  The one in devstack is copying the one out of nova and rewriting the pipelines, so you may be able to do that instead.  I think if you are using the middleware from nova (it is back in trunk now), it should work.","accounts_in_message":[],"_revision_number":1},{"id":"0d98f7e689cb426f746783fcf512a93942942aab","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2012-01-25 16:26:45.000000000","message":"Patch Set 1: No score\n\nVish: Yes... I saw this coming but forgot to implement it! I\u0027ll look at updating the paste config like you suggested. Thanks.\n\nMark: ignore my previous comment!","accounts_in_message":[],"_revision_number":1},{"id":"48858d5e2c86bcfdf9b8f0023b25658f1fb7fae1","author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"date":"2012-01-26 17:26:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"5ee244d9e0733aa8b7fe46dcf2c1b65ab3234ecb","author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"date":"2012-01-26 17:27:32.000000000","message":"Patch Set 2:\n\nJust a rebase to resolve a conflict with a crypto.py change","accounts_in_message":[],"_revision_number":2},{"id":"dc829eaa000cf9840e68a085681c7d6a71a98ff4","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-01-26 18:01:32.000000000","message":"Patch Set 2:\n\nSmokeStack Results (patch set 2):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/10208\n\tLibvirt Success: http://smokestack.openstack.org/?go\u003d/jobs/10206\n\tXenServer Success: http://smokestack.openstack.org/?go\u003d/jobs/10207","accounts_in_message":[],"_revision_number":2},{"id":"f6909924b1dc0be9f9ef06d653b2a06cf148350b","author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"date":"2012-01-28 12:46:32.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"29a5611376d597261ffccdd7ad96616606fdd9b9","author":{"_account_id":2166,"name":"SmokeStack CI","username":"smokestack","tags":["SERVICE_USER"]},"date":"2012-01-28 13:23:44.000000000","message":"Patch Set 3:\n\nSmokeStack Results (patch set 3):\n\tUnit Success: http://smokestack.openstack.org/?go\u003d/jobs/10430\n\tLibvirt Success: http://smokestack.openstack.org/?go\u003d/jobs/10428\n\tXenServer Success: http://smokestack.openstack.org/?go\u003d/jobs/10429","accounts_in_message":[],"_revision_number":3},{"id":"60aa86a793cb21ef970823a8c94a949728ba55a3","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2012-01-28 13:42:25.000000000","message":"Patch Set 3:\n\nMark. This looks good to me. One question though... Why are the are the flags.DEFINE_* helpers so bad? They are slightly less verbose than the code w/ the config helpers.","accounts_in_message":[],"_revision_number":3},{"id":"16c33e2e42b71607e8e2f225e1099cbcab98e50e","author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"date":"2012-01-30 09:10:10.000000000","message":"Patch Set 3:\n\nDan: we want to get rid of the gflags shim layer completely and use cfg directly. This is just one step towards that.","accounts_in_message":[],"_revision_number":3},{"id":"d7a4cafcb13aef17e3b84d3a2f77f3c145f0c3e6","author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"date":"2012-01-30 10:39:25.000000000","message":"Patch Set 3: Looks good to me (core reviewer)\n\nGood grief, this must have been boring :)\n\n+1","accounts_in_message":[],"_revision_number":3},{"id":"681b8322e9c00459bf7773d4936d95641dac885a","author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"date":"2012-01-30 11:49:59.000000000","message":"Patch Set 3:\n\nActually, no it wasn\u0027t boring - I learned how to step up my sed evilness another notch :-)\n\nThanks Soren","accounts_in_message":[],"_revision_number":3},{"id":"c0b48ea9f168da473823ff8c184d74af5ff3f041","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2012-01-30 15:47:20.000000000","message":"Patch Set 3: Looks good to me (core reviewer)\n\n","accounts_in_message":[],"_revision_number":3},{"id":"5cf9d83a1fe3e588cd7852dded6696621fbe0a49","author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"date":"2012-01-30 16:04:11.000000000","message":"Patch Set 3: Approved\n\n","accounts_in_message":[],"_revision_number":3},{"id":"b350a2bc0f8a700d5f47b98e5ccc056905222719","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-01-30 16:27:14.000000000","message":"Patch Set 3: Verified\n\nBuild Successful \n \nhttps://jenkins.openstack.org/job/gate-integration-tests-devstack-vm/937/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-nova-merge/1135/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-nova-unittests/750/ : SUCCESS \nhttps://jenkins.openstack.org/job/gate-nova-pep8/2512/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"66946ef9900996972274a0d198767e7d5d4bf02b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-01-30 16:27:16.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":3},{"id":"935736334e98b17417c75e2f4851b05ba4f81b56","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2012-01-30 16:31:48.000000000","message":"Patch Set 3:\n\nBuild Successful \n \nhttps://jenkins.openstack.org/job/nova-tarball/1815/ : SUCCESS","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"82049af90e86380043c59741fa4e1cd2cf24aaa7","revisions":{"d5ae4b42d64a2c3be645fcad1109f3c2a1a7bc31":{"kind":"REWORK","_number":1,"created":"2012-01-25 14:33:52.000000000","uploader":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"ref":"refs/changes/01/3401/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/01/3401/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/01/3401/1"}}},"commit":{"parents":[{"commit":"dd29f420ab9be8e5d05e46185af8505d67faf54f","subject":"Remove unused flags.Help*Flag","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/dd29f420ab9be8e5d05e46185af8505d67faf54f"}]}],"author":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-23 11:51:14.000000000","tz":0},"committer":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-25 14:33:30.000000000","tz":0},"subject":"Refactor away the flags.DEFINE_* helpers","message":"Refactor away the flags.DEFINE_* helpers\n\nThe next obvious step in porting to cfg is to define all options using\ncfg schemas directly rather than using the flags.DEFINE_* helpers.\n\nThis is a large change, but it is almost entirely pure refactoring and\ndoes not result in any functional changes.\n\nThe only change to note is that the default values for glance_host,\nglance_api_servers and default_publisher_id options are now using opt\nvalue interpolation i.e.\n\n -glance_host\u003d_get_my_ip()\n +glance_host\u003d\u0027$my_ip\u0027\n\n -glance_api_servers\u003d[\u0027%s:%d\u0027 % (FLAGS.glance_host, FLAGS.glance_port)]\n +glance_api_servers\u003d[\u0027$glance_host:$glance_port\u0027]\n\n -default_publisher_id\u003dFLAGS.host\n +default_publisher_id\u003d\u0027$host\u0027\n\nAlso note that the lower_bound check on the {report,periodic}_interval\noptions are no more, but this has been true since cfg was first added.\n\nChange-Id: Ia58c8f0aaf61628bb55b1b8485118a2a9852ed17\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d5ae4b42d64a2c3be645fcad1109f3c2a1a7bc31"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d5ae4b42d64a2c3be645fcad1109f3c2a1a7bc31"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"dd29f420ab9be8e5d05e46185af8505d67faf54f","is_merged_in_target_branch":true,"change_id":"I7c74456a06fe924503dcfbcfa4da9fc5c26b8ab0","change_number":3400,"patch_set_number":1,"change_status":"MERGED"}],"branch":"refs/heads/master"},"50630bba5b670d918c4e8428d92dc4781b509136":{"kind":"REWORK","_number":2,"created":"2012-01-26 17:26:37.000000000","uploader":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"ref":"refs/changes/01/3401/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/01/3401/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/01/3401/2"}}},"commit":{"parents":[{"commit":"6142230ccf2555650dbb902a5c342a342e9b2582","subject":"bug 921931: fix Quantum Manager VM launch race condition","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/6142230ccf2555650dbb902a5c342a342e9b2582"}]}],"author":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-23 11:51:14.000000000","tz":0},"committer":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-26 17:13:42.000000000","tz":0},"subject":"Refactor away the flags.DEFINE_* helpers","message":"Refactor away the flags.DEFINE_* helpers\n\nThe next obvious step in porting to cfg is to define all options using\ncfg schemas directly rather than using the flags.DEFINE_* helpers.\n\nThis is a large change, but it is almost entirely pure refactoring and\ndoes not result in any functional changes.\n\nThe only change to note is that the default values for glance_host,\nglance_api_servers and default_publisher_id options are now using opt\nvalue interpolation i.e.\n\n -glance_host\u003d_get_my_ip()\n +glance_host\u003d\u0027$my_ip\u0027\n\n -glance_api_servers\u003d[\u0027%s:%d\u0027 % (FLAGS.glance_host, FLAGS.glance_port)]\n +glance_api_servers\u003d[\u0027$glance_host:$glance_port\u0027]\n\n -default_publisher_id\u003dFLAGS.host\n +default_publisher_id\u003d\u0027$host\u0027\n\nAlso note that the lower_bound check on the {report,periodic}_interval\noptions are no more, but this has been true since cfg was first added.\n\nChange-Id: Ia58c8f0aaf61628bb55b1b8485118a2a9852ed17\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/50630bba5b670d918c4e8428d92dc4781b509136"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/50630bba5b670d918c4e8428d92dc4781b509136"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"6142230ccf2555650dbb902a5c342a342e9b2582","is_merged_in_target_branch":true,"change_id":"I1f3a0f001477caa5f595c93c49f6c9e03a50149a","change_number":3447,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"82049af90e86380043c59741fa4e1cd2cf24aaa7":{"kind":"REWORK","_number":3,"created":"2012-01-28 12:46:32.000000000","uploader":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"ref":"refs/changes/01/3401/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/01/3401/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/01/3401/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/01/3401/3"}}},"commit":{"parents":[{"commit":"02b872625b94c3c63674d8c64b23f80215b04a15","subject":"Merge \"Remove session arg from sm_backend_conf_update\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/02b872625b94c3c63674d8c64b23f80215b04a15"}]}],"author":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-23 11:51:14.000000000","tz":0},"committer":{"name":"Mark McLoughlin","email":"markmc@redhat.com","date":"2012-01-28 12:37:16.000000000","tz":0},"subject":"Refactor away the flags.DEFINE_* helpers","message":"Refactor away the flags.DEFINE_* helpers\n\nThe next obvious step in porting to cfg is to define all options using\ncfg schemas directly rather than using the flags.DEFINE_* helpers.\n\nThis is a large change, but it is almost entirely pure refactoring and\ndoes not result in any functional changes.\n\nThe only change to note is that the default values for glance_host,\nglance_api_servers and default_publisher_id options are now using opt\nvalue interpolation i.e.\n\n -glance_host\u003d_get_my_ip()\n +glance_host\u003d\u0027$my_ip\u0027\n\n -glance_api_servers\u003d[\u0027%s:%d\u0027 % (FLAGS.glance_host, FLAGS.glance_port)]\n +glance_api_servers\u003d[\u0027$glance_host:$glance_port\u0027]\n\n -default_publisher_id\u003dFLAGS.host\n +default_publisher_id\u003d\u0027$host\u0027\n\nAlso note that the lower_bound check on the {report,periodic}_interval\noptions are no more, but this has been true since cfg was first added.\n\nChange-Id: Ia58c8f0aaf61628bb55b1b8485118a2a9852ed17\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/82049af90e86380043c59741fa4e1cd2cf24aaa7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/82049af90e86380043c59741fa4e1cd2cf24aaa7"}]},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"02b872625b94c3c63674d8c64b23f80215b04a15","is_merged_in_target_branch":true}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
