)]}'
{"id":"openstack%2Fpython-watcherclient~616462","triplet_id":"openstack%2Fpython-watcherclient~master~I8aae4595f7ca9dae7ed36705b1311070a531523f","project":"openstack/python-watcherclient","branch":"master","topic":"bug/1802217","hashtags":[],"change_id":"I8aae4595f7ca9dae7ed36705b1311070a531523f","subject":"Replace latest with explicit version","status":"MERGED","created":"2018-11-08 08:52:51.000000000","updated":"2019-01-26 06:12:50.000000000","submitted":"2018-11-19 08:59:01.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"616462-1542617941968-40a7e5fe","meta_rev_id":"db4f9b07b583d545486c082a979754fa5412b5e0","_number":616462,"virtual_id_number":616462,"owner":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":2,"date":"2018-11-19 08:59:01.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"all":[{"value":2,"date":"2018-11-16 06:42:44.000000000","_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2018-11-19 08:48:38.000000000","_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"}],"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":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"all":[{"value":0,"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2018-11-19 08:48:38.000000000","_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-11-16 06:42:44.000000000","updated_by":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"reviewer":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"state":"REVIEWER"},{"updated":"2018-11-19 08:48:38.000000000","updated_by":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"reviewer":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"state":"REVIEWER"},{"updated":"2018-11-19 08:59:01.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"b3a5b11e51cea075571eb2188673efcfe80aaf0b","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2018-11-08 08:52:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"abfa9ed03fccda7cc39141d41f8a2a4e46d0967d","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2018-11-08 08:59:59.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"2ba56994420f8489ca11f3169a1a0902e09c8c9e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-08 09:29:09.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-lower-constraints http://logs.openstack.org/62/616462/2/check/openstack-tox-lower-constraints/a61d165/ : SUCCESS in 5m 53s\n- openstack-tox-pep8 http://logs.openstack.org/62/616462/2/check/openstack-tox-pep8/8327f9c/ : SUCCESS in 4m 50s\n- openstack-tox-py27 http://logs.openstack.org/62/616462/2/check/openstack-tox-py27/4f796ab/ : SUCCESS in 4m 17s\n- openstack-tox-py35 http://logs.openstack.org/62/616462/2/check/openstack-tox-py35/345832f/ : SUCCESS in 5m 25s\n- openstack-tox-py36 http://logs.openstack.org/62/616462/2/check/openstack-tox-py36/00e11cf/ : SUCCESS in 4m 57s\n- openstack-tox-docs http://logs.openstack.org/62/616462/2/check/openstack-tox-docs/f39385b/html/ : SUCCESS in 4m 04s\n- openstackclient-check-plugins http://logs.openstack.org/62/616462/2/check/openstackclient-check-plugins/38b29f2/ : SUCCESS in 6m 15s (non-voting)\n- watcherclient-tempest-functional http://logs.openstack.org/62/616462/2/check/watcherclient-tempest-functional/35cfc27/ : SUCCESS in 27m 00s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"4720d3f55a6cffc031d07f6e04445f13bf102690","author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"date":"2018-11-16 06:42:44.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"6a0f28e60f53a9f91e194941ff3315d318e013db","author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"date":"2018-11-19 08:48:38.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"4f8bd3bddc49a3721b8cb83207b0879a4a4c86da","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-19 08:48:49.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"ebe3d90f8ce25e6a2c3b62641a1b8f810350dd00","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-19 08:59:01.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"40c123c407c722ba45f94dfcd3fd470fe33ce520","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-19 08:59:01.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints http://logs.openstack.org/62/616462/2/gate/openstack-tox-lower-constraints/da08fdf/ : SUCCESS in 5m 16s\n- openstack-tox-pep8 http://logs.openstack.org/62/616462/2/gate/openstack-tox-pep8/8254116/ : SUCCESS in 4m 30s\n- openstack-tox-py27 http://logs.openstack.org/62/616462/2/gate/openstack-tox-py27/cc1b166/ : SUCCESS in 6m 28s\n- openstack-tox-py35 http://logs.openstack.org/62/616462/2/gate/openstack-tox-py35/845de49/ : SUCCESS in 4m 17s\n- openstack-tox-py36 http://logs.openstack.org/62/616462/2/gate/openstack-tox-py36/dccf1f0/ : SUCCESS in 6m 53s\n- openstack-tox-docs http://logs.openstack.org/62/616462/2/gate/openstack-tox-docs/e361b23/html/ : SUCCESS in 4m 42s","accounts_in_message":[],"_revision_number":2},{"id":"ee0cc498779286604ccdf764d158da40d4c62fd0","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2019-01-24 14:29:20.000000000","message":"Patch Set 2:\n\nHi folk!\n\nIt looks like this patch introduced another bug.\n\n1) I do not know historical reasons for having 2 arguments for specifying API version to use (version and os_infra_optim_api_version), but only version is listed in docs - https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/client.py#L164-L183\n\n2) as it is written in docs, the regular user can assume that only version can be transmitted and such behavior is expected. https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/v1/client.py#L34-L46\n\n2.1) btw, since the transformation of os_watcher_api_version to os_infra_optim_api_version is done in the backward compatible way (no deprecation warning, no temporary auto-transformation for some period), users are switching to \u0027only version specified\u0027 behavior by default.\n\n3) in case of not specified os_infra_optim_api_version, the default value is used https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/v1/client.py#L46 and it maps to \u0027latest\u0027 https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/httpclient.py#L46\n\n4) Before making a http request, this string is adopted to APIVersion instance https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/httpclient.py#L300-L302 . \n\n5) APIVersion init method has a regex check for validating version format https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/api_versioning.py#L68 which doesn\u0027t allow anything stated not from numeric major version.\n\n6) result: watcherclient.exceptions.UnsupportedVersion: Invalid format of client version \u0027latest\u0027. Expected format \u0027X.Y\u0027, where X is a major part and Y is a minor part of version.","accounts_in_message":[],"_revision_number":2},{"id":"b441746ebd4ccdb5053301ba53e25c7d71ad7bbf","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-01-25 06:09:39.000000000","message":"Patch Set 2:\n\n\u003e Hi folk!\n \u003e \n \u003e It looks like this patch introduced another bug.\n \u003e \n \u003e 1) I do not know historical reasons for having 2 arguments for\n \u003e specifying API version to use (version and os_infra_optim_api_version),\n \u003e but only version is listed in docs - https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/client.py#L164-L183\n \u003e \n \u003e 2) as it is written in docs, the regular user can assume that only\n \u003e version can be transmitted and such behavior is expected.\n \u003e https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/v1/client.py#L34-L46\n \u003e \n \u003e 2.1) btw, since the transformation of os_watcher_api_version to\n \u003e os_infra_optim_api_version is done in the backward compatible way\n \u003e (no deprecation warning, no temporary auto-transformation for some\n \u003e period), users are switching to \u0027only version specified\u0027 behavior\n \u003e by default.\n \u003e \n \u003e 3) in case of not specified os_infra_optim_api_version, the default\n \u003e value is used https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/v1/client.py#L46\n \u003e and it maps to \u0027latest\u0027 https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/httpclient.py#L46\n \u003e \n \u003e 4) Before making a http request, this string is adopted to\n \u003e APIVersion instance https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/httpclient.py#L300-L302\n \u003e .\n \u003e \n \u003e 5) APIVersion init method has a regex check for validating version\n \u003e format https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/common/api_versioning.py#L68\n \u003e which doesn\u0027t allow anything stated not from numeric major version.\n \u003e \n \u003e 6) result: watcherclient.exceptions.UnsupportedVersion: Invalid\n \u003e format of client version \u0027latest\u0027. Expected format \u0027X.Y\u0027, where X\n \u003e is a major part and Y is a minor part of version.\n\nHi,\nThe file https://github.com/openstack/python-watcherclient/blob/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1/watcherclient/client.py#L164-L183 is not latest.\nI think This patch https://review.openstack.org/#/c/625296/ had fixed that bug.\nPlease update watcherclient/client.py.\nif there are something wrong, let me know, thank you!","accounts_in_message":[],"_revision_number":2},{"id":"9a7727916be636a6c5cba977899c0e2aa0c76b43","author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"date":"2019-01-25 11:47:41.000000000","message":"Patch Set 2:\n\n@licanwei: that patch fixes only the case when both endpoint and  os_infra_optim_api_version parameters are not specified. In our case, endpoint parameter is transmitted and watcherclient fails...\n\nFrom master:\n\nhttps://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/v1/client.py#L46 (or https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L199-L200 )-\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L46 -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L301-L302 -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/api_versioning.py#L68","accounts_in_message":[],"_revision_number":2},{"id":"6a5f0b480dd9b791154b15113b301d1eb469e9d6","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-01-26 06:08:38.000000000","message":"Patch Set 2:\n\n\u003e @licanwei: that patch fixes only the case when both endpoint and \n \u003e os_infra_optim_api_version parameters are not specified. In our\n \u003e case, endpoint parameter is transmitted and watcherclient fails...\n \u003e \n \u003e From master:\n \u003e \n \u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/v1/client.py#L46\n \u003e (or https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L199-L200\n \u003e )-\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L46\n \u003e -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L301-L302\n \u003e -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/api_versioning.py#L68\n\nIt\u0027s because  \u0027latest\u0027 isn\u0027t a valid VERSION value, DEFAULT_VER should be \u00271.latest\u0027.","accounts_in_message":[],"_revision_number":2},{"id":"1e7ab6638c6691e51ed4720365534055c519a436","author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"date":"2019-01-26 06:12:50.000000000","message":"Patch Set 2:\n\n\u003e \u003e @licanwei: that patch fixes only the case when both endpoint and\n \u003e \u003e os_infra_optim_api_version parameters are not specified. In our\n \u003e \u003e case, endpoint parameter is transmitted and watcherclient\n \u003e fails...\n \u003e \u003e\n \u003e \u003e From master:\n \u003e \u003e\n \u003e \u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/v1/client.py#L46\n \u003e \u003e (or https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L199-L200\n \u003e \u003e )-\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L46\n \u003e \u003e -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/httpclient.py#L301-L302\n \u003e \u003e -\u003e https://github.com/openstack/python-watcherclient/blob/ca6190c3a1d2eeec22450dc2c67bc67b63705258/watcherclient/common/api_versioning.py#L68\n \u003e \n \u003e It\u0027s because  \u0027latest\u0027 isn\u0027t a valid VERSION value, DEFAULT_VER\n \u003e should be \u00271.latest\u0027.\n\nFix this: https://review.openstack.org/633337","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1","revisions":{"cd952fc77a467f864e79079b215d044da1342ec6":{"kind":"REWORK","_number":1,"created":"2018-11-08 08:52:51.000000000","uploader":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"ref":"refs/changes/62/616462/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-watcherclient","ref":"refs/changes/62/616462/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/1"}}},"commit":{"parents":[{"commit":"946ef06dc60c8132cd2461fd17f26ab84769b592","subject":"Update watcher api command argument","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/946ef06dc60c8132cd2461fd17f26ab84769b592"}]}],"author":{"name":"licanwei","email":"li.canwei2@zte.com.cn","date":"2018-11-08 08:44:53.000000000","tz":480},"committer":{"name":"licanwei","email":"li.canwei2@zte.com.cn","date":"2018-11-08 08:44:53.000000000","tz":480},"subject":"Replace latest with explicit version","message":"Replace latest with explicit version\n\nChange-Id: I8aae4595f7ca9dae7ed36705b1311070a531523f\nCloses-Bug: #1802217\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/cd952fc77a467f864e79079b215d044da1342ec6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/cd952fc77a467f864e79079b215d044da1342ec6"}]},"branch":"refs/heads/master"},"b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1":{"kind":"REWORK","_number":2,"created":"2018-11-08 08:59:59.000000000","uploader":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"ref":"refs/changes/62/616462/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-watcherclient","ref":"refs/changes/62/616462/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-watcherclient refs/changes/62/616462/2"}}},"commit":{"parents":[{"commit":"946ef06dc60c8132cd2461fd17f26ab84769b592","subject":"Update watcher api command argument","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/946ef06dc60c8132cd2461fd17f26ab84769b592"}]}],"author":{"name":"licanwei","email":"li.canwei2@zte.com.cn","date":"2018-11-08 08:44:53.000000000","tz":480},"committer":{"name":"licanwei","email":"li.canwei2@zte.com.cn","date":"2018-11-08 08:59:38.000000000","tz":480},"subject":"Replace latest with explicit version","message":"Replace latest with explicit version\n\nChange-Id: I8aae4595f7ca9dae7ed36705b1311070a531523f\nCloses-Bug: #1802217\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-watcherclient/commit/b7928eb155e2c6e511ab0ebb8a28e5665ca0eda1"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
