)]}'
{"id":"openstack%2Fceilometer~677031","triplet_id":"openstack%2Fceilometer~master~I5f0614518a9e304b86b74aa5bb0f9667d2a3a787","project":"openstack/ceilometer","branch":"master","topic":"dynamic_pollster","hashtags":[],"change_id":"I5f0614518a9e304b86b74aa5bb0f9667d2a3a787","subject":"Create dynamic pollster feature","status":"MERGED","created":"2019-08-16 21:05:16.000000000","updated":"2019-10-28 01:55:59.000000000","submitted":"2019-10-28 01:54:48.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":49,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"677031-1572227688196-256045c0","meta_rev_id":"89bbd749c9109c151428067b501cfe2870031233","_number":677031,"virtual_id_number":677031,"owner":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"date":"2019-10-25 12:16:29.000000000","_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},{"value":0,"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},{"value":0,"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},{"value":0,"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},{"value":0,"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2019-10-28 01:54:47.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},{"value":0,"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"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":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"recommended":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},{"value":1,"date":"2019-10-23 21:53:48.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},{"value":2,"date":"2019-10-28 00:50:55.000000000","_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},{"value":0,"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},{"value":2,"date":"2019-10-27 16:44:34.000000000","_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},{"value":0,"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"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":{"approved":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},{"value":0,"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},{"value":1,"date":"2019-10-28 00:50:55.000000000","_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},{"value":0,"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},{"value":0,"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},{"value":0,"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},{"value":0,"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},{"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},{"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},{"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-09-04 14:36:48.000000000","updated_by":{"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},"reviewer":{"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},"state":"REVIEWER"},{"updated":"2019-09-05 06:24:17.000000000","updated_by":{"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},"reviewer":{"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},"state":"REVIEWER"},{"updated":"2019-09-05 06:28:54.000000000","updated_by":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"reviewer":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"state":"REVIEWER"},{"updated":"2019-09-06 09:20:31.000000000","updated_by":{"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},"reviewer":{"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},"state":"REVIEWER"},{"updated":"2019-10-18 16:32:35.000000000","updated_by":{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},"reviewer":{"_account_id":9373,"name":"Vlad Gusev","email":"vlad.esten@gmail.com","username":"s10"},"state":"REVIEWER"},{"updated":"2019-10-23 21:53:48.000000000","updated_by":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"reviewer":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"state":"REVIEWER"},{"updated":"2019-10-27 16:44:34.000000000","updated_by":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"reviewer":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"state":"REVIEWER"},{"updated":"2019-10-28 00:50:55.000000000","updated_by":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"reviewer":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"state":"REVIEWER"},{"updated":"2019-10-28 01:54:47.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":"86b4671116ec2f5ccdcd29f5122565e5670a7fc6","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-16 21:05:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"94ed0482f002c4070fe211cc647e9b081182f1b1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-16 21:08:31.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"ad1f850b8da1d9c3e2ba59b6edad86b5d3a52e9c","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-16 22:22:27.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8fd6d08599244c1a9de9efdd1ca02ce9 : FAILURE in 6m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a66eb065696c48eab4cfdb8cd3d6c122 : FAILURE in 3m 45s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/7e699dcf593a4e9c88f5eb4eea9dfcc1 : FAILURE in 5m 02s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/97526a859aff41f294f2e7b76ef161f0 : FAILURE in 5m 05s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/66ac9f6e0b52413ba5fe2e4b60720395 : FAILURE in 5m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cf26c267b4aa4b6393c200a925c30b92 : SUCCESS in 3m 37s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1157cf297e8f4f6bbe3eb03175148004 : FAILURE in 6m 43s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/24fbd561c1494f4ebc0fde752de0f58a : SUCCESS in 1h 07m 44s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/45da85c80ce546fc9b0f3421acf40e0c : SUCCESS in 50m 11s","accounts_in_message":[],"_revision_number":2},{"id":"a426c170853c2cf36bb3de351c0a3402e6474c93","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-16 23:30:47.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"a0459d4296457f4ce9361e41cf2acf4790369eae","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-17 00:42:15.000000000","message":"Patch Set 3: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e3fff3e968f144a197827c4151996b39 : FAILURE in 6m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/29cee31e2ba94eb6870e632644d7baf8 : FAILURE in 3m 59s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/ee02f92435934eb299c7aedf88d28e69 : FAILURE in 5m 12s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/c53b1def2a804e9ab9ba8e1b160135a9 : FAILURE in 5m 15s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/ac016b811ad4403f899960f60020a110 : FAILURE in 6m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1f2acf6f597b4345a5f39dce10b9e0cb : SUCCESS in 5m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/64b3e8289ed04d54af2045acd83b021c : FAILURE in 6m 40s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/9430899cf49c44d0903773feb3d5fc77 : SUCCESS in 1h 07m 06s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/bbe6c7052648453884bdda184af30467 : SUCCESS in 50m 06s","accounts_in_message":[],"_revision_number":3},{"id":"3c7763b391ae29b5989208b0d16cc81a04f4492e","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-17 01:01:50.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"9e477b5b8121aedf17048d4bc0b79e25ea87ff6e","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-17 02:15:48.000000000","message":"Patch Set 4: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6dcffe193f544eedaa368c76ce343ba8 : FAILURE in 5m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4e1758fd223c4568ba1f000d056d35c9 : FAILURE in 3m 45s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/340ae63bb3e84267b083f1681d21ecb3 : FAILURE in 4m 50s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/58f5d79be5b74b2ea801f6856c9e3f30 : FAILURE in 5m 15s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/6697befd956043b2bc7b5b95d29fead3 : FAILURE in 5m 43s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/46e82d3608344c918bb9184840a77781 : SUCCESS in 4m 08s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c7b5c3c02d224240b6f5cdd3a1d84845 : FAILURE in 6m 27s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/d9d582c1ad854f00a76fdbc83db569d3 : SUCCESS in 1h 08m 19s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/fced1aba536b41d3ace691718a06e421 : FAILURE in 57m 00s","accounts_in_message":[],"_revision_number":4},{"id":"1b5a6ac55b1df9273eab4db90171d519e6bb6068","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-17 02:29:25.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"7128d1598447ed77bf057682b64bceb72ea3d952","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-17 02:56:19.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"7675eed35fb87e0b27287e7d9484b0af35f2f2e5","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-17 04:10:24.000000000","message":"Patch Set 6: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8e4d3b4f50d24281afa79a11cf5f62f4 : SUCCESS in 7m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6314979f1c8541a782122efff969e18d : SUCCESS in 4m 07s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/5a8aab1aab4b48d9837bb289a3d5cb6a : SUCCESS in 4m 56s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2045f714da5f459cbcf4e6f524e5dc17 : SUCCESS in 6m 28s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/b90219de274d423da82fd2799d5b59c3 : SUCCESS in 5m 29s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cc23dcefa97d48a49c1acdf105613ae2 : SUCCESS in 5m 24s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/dd33b82040834d499f995869ad598720 : SUCCESS in 6m 07s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/f8b9abc513ed4b58b3ee2db8cf55dec4 : SUCCESS in 1h 11m 22s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/0f8f425a4e1948189cc9ae42b3a11e64 : FAILURE in 46m 15s","accounts_in_message":[],"_revision_number":6},{"id":"9c600525edf069bff96bf6e52334b6fbc3a83948","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-17 12:30:58.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"135de55693f4ef76ea1345cdfbb8ceab0e0bd475","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-17 14:12:52.000000000","message":"Patch Set 6:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5fe039a7165f4d2595e451ecb8d6d7a0 : SUCCESS in 5m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/16682b261e3d4543af6392a823b9a3f5 : SUCCESS in 3m 40s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/c49865cd5d4e4ab0b1dbec2c405fadb0 : SUCCESS in 4m 43s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/14503ab3ca2d4ba58c65c8c8b5eefb06 : SUCCESS in 5m 10s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/68e1375dc97d47b3904e6b160117f934 : SUCCESS in 5m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/40e8bd92379d4967b1c6863f64247bf8 : SUCCESS in 4m 02s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a01246ec4b61407d9f86a130e1831f26 : POST_FAILURE in 7m 32s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/3ea80986cd3e4947acf6f49acf5f7197 : SUCCESS in 1h 03m 30s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/ed75b8f384f047849ff5d42e98388dc7 : SUCCESS in 1h 05m 18s","accounts_in_message":[],"_revision_number":6},{"id":"fd82e6e1e72755abb4e3ce034227a3eb1076d09a","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-17 20:25:20.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"5ec8dfc56bf920844486780b52bf15d419bd3bea","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-17 21:23:45.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5da9112979ea456a92cec6f24ec433b9 : SUCCESS in 5m 57s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4c97f76ed93e4668882eb2acc6ad7aff : SUCCESS in 4m 19s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/c6d9aa26ac10479b9f4357ad87fc8425 : SUCCESS in 9m 26s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/1dac286392854510b4be61ce96ad1a95 : SUCCESS in 6m 46s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/45ca051c1067476ebb88be78e1393712 : SUCCESS in 10m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/15355e24c9384df78f972ffa85c87e9f : SUCCESS in 8m 59s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4b126d1958854e308c1af68e150158ca : SUCCESS in 11m 02s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/91ec9cb7d3184231a65399a60b384b0b : SUCCESS in 57m 12s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/a449e0cbcbf04cb59956b7144a64e08f : SUCCESS in 47m 10s","accounts_in_message":[],"_revision_number":6},{"id":"82c0b855a487fa6d51deae00bd49723b66c7a68e","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-19 11:21:36.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"060e4634d54420f74b48bfe10068185d908a3bad","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-19 12:43:55.000000000","message":"Patch Set 6:\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/449d983346154857a6bd049e39b66cef : SUCCESS in 5m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/57908db0db5f4665bf7b32fbb98cb499 : SUCCESS in 4m 14s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/710230a19dbb4fdd96744bb2c3ebbe9e : SUCCESS in 5m 44s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/70e5eb72e2194836a145e80eef7fab0b : SUCCESS in 4m 34s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/7a72dd16516f443190b29c30bf9a7687 : SUCCESS in 8m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9778aef9a39b4ad48da32ce61ae16f46 : SUCCESS in 4m 28s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8427269f22974451acd483b03d51205b : SUCCESS in 6m 10s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/967ae6ec029241d7a5756a053bec749d : SUCCESS in 1h 20m 50s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/65d207d5c85a48f9bc85852ecb933e47 : SUCCESS in 49m 16s","accounts_in_message":[],"_revision_number":6},{"id":"1bd301aa1a8ee052fcfd3c442536eaf283fd4f7d","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-08-23 12:27:35.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"8cd793b4cbf68f5ff064d120a5f47d299872277a","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-23 13:40:59.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5db4db012887451c9dd7ea0ae626f36b : SUCCESS in 7m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/20f6a993b7fc4fa4b8a55797df07d43a : SUCCESS in 4m 53s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/743498e0864d423fa3f2bda4baf34225 : SUCCESS in 5m 20s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ebd687daa5554c0cbb20d40cba2aa8db : SUCCESS in 6m 08s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/4923a15ed2cf4489942dea8234c8c3e6 : SUCCESS in 6m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e44df58c53e84f3abc4e08ca5d53a7b7 : SUCCESS in 7m 53s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fe9a246882e04145b45b5086c75de440 : SUCCESS in 7m 12s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/ac784110db4c4b6589e9e285902e78c4 : SUCCESS in 1h 07m 22s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/3e741427b67a47b8a68723398e9eadee : SUCCESS in 48m 07s","accounts_in_message":[],"_revision_number":7},{"id":"5cb96556ad2702d4107a971e7ec47c6c6958841d","author":{"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},"date":"2019-08-23 16:01:46.000000000","message":"Patch Set 7: Code-Review+1","accounts_in_message":[],"_revision_number":7},{"id":"8b5219b7dd73d2233755e190284d030b0539760c","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-04 12:46:07.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"f3759b01fe03126a3fd0a6b5eaf6c1afabe59c2f","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-04 13:38:38.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"70bedd43f752d454e7de5441e28353df06ae55b5","author":{"_account_id":27515,"name":"Florian Engelmann","email":"engelmann@d-g-c.de","username":"engel75"},"date":"2019-09-04 14:36:48.000000000","message":"Patch Set 9: Code-Review+1","accounts_in_message":[],"_revision_number":9},{"id":"b96b97395a5fde1f9215e922540f7498788ac9da","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-04 15:00:28.000000000","message":"Patch Set 9: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4d4c89055efb4ec29e897cf10308b85d : SUCCESS in 7m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d22e7f8865fe4f358631e4cbba86b87d : FAILURE in 6m 15s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/20289b87ffc8409091dee6a102927a90 : SUCCESS in 5m 45s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/c5cd201bf0c54c2681cbe777c6815ba3 : SUCCESS in 6m 05s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/f99b86b662fb454e8092f8b15c68f965 : SUCCESS in 7m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d1e1e78f44e54465b547a080e2633d65 : SUCCESS in 5m 00s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/65f83d860da14778b7bd18a8bd651c47 : SUCCESS in 8m 26s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/13c32e03bae84c4298f3973781ebd941 : SUCCESS in 1h 14m 27s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/7a9d9e2dcfda4c4b97b13b0f476c40d4 : SUCCESS in 48m 45s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/6b887e18dd9e450dac3186520fb6fb60 : SUCCESS in 58m 10s","accounts_in_message":[],"_revision_number":9},{"id":"95436981f1deff4a0535e9fbfa30bae6dc245d12","author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"date":"2019-09-04 15:23:08.000000000","message":"Patch Set 9:\n\nPlease use `tox -e pep8` in your machine to test before pushing a new patchset.\n\n\"./ceilometer/polling/dynamic_pollster.py:86:5: E303 too many blank lines (2)\n    def validate_pollster_definition(self):\n    ^\n./ceilometer/polling/dynamic_pollster.py:153:80: E501 line too long (90 \u003e 79 characters)\n                metadata \u003d dict((k, pollster_sample.get(k)) for k in self.METADATA_FIELDS)\"","accounts_in_message":[],"_revision_number":9},{"id":"ae85935f9470132dc2aca8a9848a527568c50e33","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-04 18:54:18.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"a15043f5f352d411b9875a1a068eb0b1602625c8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-04 20:14:30.000000000","message":"Patch Set 10: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/27a18da0216a4de199d4e4a19dbfd127 : SUCCESS in 9m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ae8b4c7b207442fa49f08388fd7cbc9 : FAILURE in 6m 52s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f3d9e4d982bb44bba13b39482fe733fb : SUCCESS in 5m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e48681f7ae844fa3858a43f9d26e2808 : SUCCESS in 5m 47s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/00f0658c81b241d9a6bf69785eb38f8f : SUCCESS in 6m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e008d6eac84842e4924da2265688f026 : SUCCESS in 5m 00s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/cf45a821c6dd4bdbb4c9ab858e770818 : SUCCESS in 8m 40s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/bd6fb2fa9c884980a04275e61a5a3561 : SUCCESS in 1h 17m 28s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/a0f4928c13a840bba59cfc6028fb96c4 : SUCCESS in 55m 37s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/9536feaf1a2049c7bd2850608e8b442f : SUCCESS in 55m 42s","accounts_in_message":[],"_revision_number":10},{"id":"882e0ea67485e96fed5e305c61fd15dbf716ecd3","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-04 20:32:13.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"0f3008174259af48532ab6889b582ad15b9782e1","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-04 21:52:15.000000000","message":"Patch Set 11: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ffa14c71c9724e86886845091af56261 : SUCCESS in 6m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/48e965b6fcb04ea3a9f8a56c8c0dc6f2 : FAILURE in 3m 54s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/21554c03e0304211a82d8ed9e2af1fd8 : SUCCESS in 8m 27s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/f085c94f6c8f475b997941eea4bf0855 : SUCCESS in 8m 05s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/69c0e505aba0468b883fe8ebfaf4ad56 : SUCCESS in 8m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5000f667c034c88a4b864cdb6c6eadb : SUCCESS in 7m 22s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7df75142f44546cb85c61ead70bc23d7 : SUCCESS in 8m 51s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/741bf0c322434b5bbaf6dc061123cf8c : SUCCESS in 1h 06m 03s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/1b0148a7a72e46c8898c40e916e18158 : SUCCESS in 53m 42s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/6594a204dbe945eb97f449dc08901256 : SUCCESS in 50m 37s","accounts_in_message":[],"_revision_number":11},{"id":"8fcd16ea3f37855ac9cde611a255f149d8483bb1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-04 22:07:13.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"77573e6d58a47fae28039f4de25bd8936b7e2317","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-04 23:24:06.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/aacee938823f44539cb464faf2944320 : SUCCESS in 5m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/221d870c43f9409383c87d20276ac349 : SUCCESS in 4m 41s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f4d930c09dcf43a89bd681b647da8021 : SUCCESS in 6m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/025db9fce61146dd819498d12cbde09b : SUCCESS in 6m 27s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/c891595dc7cc4cbcb265b127bd9dd4cd : SUCCESS in 5m 46s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2f87df6bfc534b728cbd34a69d6852d8 : SUCCESS in 4m 22s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/02cc7d07313e4da6aff1ffcf2d562fb0 : SUCCESS in 7m 23s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/fa16215f43ab4b3ea37fb375481fd4e2 : SUCCESS in 1h 07m 26s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/07600f550ae747468b10790f64ab3c94 : SUCCESS in 54m 54s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/abbe4a3a773b4d7989faa0875e0d0a68 : SUCCESS in 47m 55s","accounts_in_message":[],"_revision_number":12},{"id":"1ea00d5a085c3a2a592e96358d1b8bc1c2b91b13","author":{"_account_id":30940,"name":"Nicolas Ghirlanda","email":"nicolas.ghee@gmail.com"},"date":"2019-09-05 06:24:17.000000000","message":"Patch Set 12: Code-Review+1\n\nthis is really great, it helps us a lot getting the right metrics dynamically without touching any code! very important for our billing for openstack services","accounts_in_message":[],"_revision_number":12},{"id":"bff65df5e99bc62087e97aaa8cbd0983adb102a7","author":{"_account_id":27068,"name":"Trinh Nguyen","email":"dangtrinhnt@gmail.com","username":"dangtrinhnt"},"date":"2019-09-05 06:28:54.000000000","message":"Patch Set 12: Code-Review+2\n\nLGTM. Thanks.","accounts_in_message":[],"_revision_number":12},{"id":"944db7af547577fce684f19dd3e60c4e6d7b6e56","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-09-05 08:07:03.000000000","message":"Patch Set 12: Code-Review+1\n\nCould we have some tests for this?","accounts_in_message":[],"_revision_number":12},{"id":"2613475d71a73d734ad7f6ea0cfdb248a2a8b496","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-05 11:52:12.000000000","message":"Patch Set 12:\n\n\u003e Could we have some tests for this?\n\nYes, we can.\n\nI will work on it.","accounts_in_message":[],"_revision_number":12},{"id":"3f7364a426e152a6ec26e8fd1bb05541a4d5e6d1","author":{"_account_id":20100,"name":"Shaoman Zhang","email":"zhang.shaoman@zte.com.cn","username":"zhang.shaoman"},"date":"2019-09-06 09:20:31.000000000","message":"Patch Set 12: Code-Review-1\n\n(1 comment)\n\ni have a question, dynamic pollster is only running in central service? There seems to be no restriction when loading extensions.","accounts_in_message":[],"_revision_number":12},{"id":"0d50db230df53155bf401820da4d7a7d77c65064","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-06 12:39:21.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"f7d9a5f523783ec5a281a33d614ed360e0451837","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-06 12:41:44.000000000","message":"Patch Set 13:\n\n(1 comment)\n\n\u003e (1 comment)\n \u003e \n \u003e i have a question, dynamic pollster is only running in central\n \u003e service? There seems to be no restriction when loading extensions.\n\nNo, I am not restricting it. In my perspective, as long as the system administrator/operator creates the folder and the YAML file configurations, Ceilometer should load the dynamic pollsters there, and use them.\n\nIf you check the support I am adding into Kolla-ansible (https://review.opendev.org/#/c/679999/), there I only create the folder, and copy the files for ceilometer central.","accounts_in_message":[],"_revision_number":13},{"id":"29f35c48c384a153340e5ded3b64aa83386b2681","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-06 14:08:13.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/952d7e9ffd52452e975dc64021068e85 : SUCCESS in 5m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fb6206f844a74b38ae6f84e1390d9c73 : SUCCESS in 3m 10s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/676f0927590f483498e12fad9965eede : SUCCESS in 4m 33s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/804f7be3d4ec471abdf43163d5897c0d : SUCCESS in 5m 11s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d5a1dc8b8c024e8f978345cc8cfae3c7 : SUCCESS in 6m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/af5e65b6fadc4c81b1e2ddda38afd537 : SUCCESS in 5m 55s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5e98e09255c34df2afb397a8cbe5e9d1 : SUCCESS in 7m 10s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/a7d5336f32c240bfa90e2e2801560049 : SUCCESS in 1h 16m 29s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/a3602dbfd6a34ea383e7f282e497d8af : SUCCESS in 49m 02s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/16817a1588e9450589b437bb2024e247 : SUCCESS in 48m 34s","accounts_in_message":[],"_revision_number":13},{"id":"ba4650ddf983c05a5bd3469d76c92181ae29cb72","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-06 22:07:39.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"d8cbc3fea87f52f9bd9fd88a6d7ee6c8e82bab12","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-06 22:08:53.000000000","message":"Patch Set 13:\n\nShaoman Zhang I have created unit test cases as requested.\n\nOthers, please review and post again your feedback.","accounts_in_message":[],"_revision_number":13},{"id":"8096e7105ed5524e717224abf94aa5d6f571bc21","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-06 23:26:49.000000000","message":"Patch Set 14: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/353158a3aaeb4ed2ba60989d13c0824a : FAILURE in 5m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e0caba9b34b14d4db770edd83bc10686 : SUCCESS in 4m 26s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/3e7e06fe043e4a81875075198f83043d : SUCCESS in 6m 03s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ad34b526b66a49faa87e55c4f87eb049 : FAILURE in 4m 56s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/71f130b0ee3d4fc9b6b411552b38ff82 : FAILURE in 4m 45s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7e89995d5b874462959e7cff91dc6589 : SUCCESS in 4m 23s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8ced67c0a3604050bd1a879488d306ba : FAILURE in 7m 21s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/88fc6bc95eb24bc2a9312256a007dec4 : SUCCESS in 1h 10m 50s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/f4b3cc59003c47c2b2b10a73f9bcb729 : SUCCESS in 52m 35s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/36abaaecb28349a29a89885e800293d3 : SUCCESS in 46m 59s","accounts_in_message":[],"_revision_number":14},{"id":"e8f37b13c330ea7b5920803fb43badeb31c7e912","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-06 23:39:45.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"02d4ae23db0f4939e1ac0cfef1f3ef1c01ac2ebe","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-07 00:56:20.000000000","message":"Patch Set 15: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ac75a803d2574e688ef4774970c2dff4 : SUCCESS in 6m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ecefe9ff5dc464494e4737d76a5fa3d : SUCCESS in 3m 26s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/801fae8c1d1f4e22b4d01d75697e00c6 : SUCCESS in 4m 37s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/35184c610bda4220ba4476626d2715a0 : SUCCESS in 6m 58s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/72d031f475574456a7ad1f7dda5c1c2e : FAILURE in 6m 12s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/87637abd480b4361a33cf302c5153923 : SUCCESS in 3m 36s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a778511306d14b3e876e03eb479b47b2 : SUCCESS in 7m 04s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/406e3a6794574bca8c4d44fed05ebe49 : SUCCESS in 1h 09m 44s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/fa674bf42e5e4d879135653ae57524ef : SUCCESS in 54m 35s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/4dd75bd576154acfb1a41fcb18460fcb : SUCCESS in 49m 55s","accounts_in_message":[],"_revision_number":15},{"id":"1f32d6b6288c61c36516ff87415943e3665eea21","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-09-07 08:10:57.000000000","message":"Patch Set 15:\n\n(1 comment)","accounts_in_message":[],"_revision_number":15},{"id":"43083660154025e6c71fd455cf28d997737bec8c","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-07 13:23:19.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"67a589a0618d9c03b0d455a6b685db193a9f2bce","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-07 13:23:31.000000000","message":"Patch Set 15:\n\n(1 comment)","accounts_in_message":[],"_revision_number":15},{"id":"a89f286b153a1c2bf84de0fa6210a1a57b256a0f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-07 14:35:10.000000000","message":"Patch Set 16: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a7f76730eff94776b13fd8158e86de19 : SUCCESS in 5m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9aca54853ecd40caa9f20ac20c3ffd26 : FAILURE in 3m 44s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/0e2eb08a773d4c8eb76aa5209d4a0566 : SUCCESS in 4m 31s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/aff3e20b11a349fba76378809fbd292f : SUCCESS in 5m 03s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/7a8298fb1ce144818d35310ff40ca835 : POST_FAILURE in 5m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/17fe02b48d9e4ccea81c767838b15a6d : POST_FAILURE in 3m 49s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6d67208c85df4ee184c7b2708c2a2761 : POST_FAILURE in 5m 39s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/d061794f76fb4bfc9126684002b73554 : SUCCESS in 1h 06m 06s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/18afd1d8f0b244259385592f89fbdc47 : POST_FAILURE in 47m 56s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/3ad4518628ca4b75b9f5f2125f0e762a : SUCCESS in 48m 43s","accounts_in_message":[],"_revision_number":16},{"id":"2d7114092f0bf71c539412ac63a0d2d8e601807f","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-07 14:38:43.000000000","message":"Uploaded patch set 17.","accounts_in_message":[],"_revision_number":17},{"id":"3f3141b0e3e4da1ae36cfd34ce40979524fd0881","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-07 15:54:51.000000000","message":"Patch Set 17: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/80cf0dc78ea246b58888709d2cfae0e8 : SUCCESS in 6m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/873c1eda0be7464394538985271dcb17 : FAILURE in 3m 24s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/ba0d70b2d7624e28896853a7350ba8bf : SUCCESS in 4m 45s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ab7a53aebe2a48bd8a316c82b6e925d1 : SUCCESS in 4m 48s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/c6e118e9f6d045daaeb6dee0d8184b30 : SUCCESS in 5m 04s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3d99ef5f15564389988e6626d87aa9a7 : POST_FAILURE in 3m 26s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a388527655304409b07528534d5d8562 : POST_FAILURE in 5m 42s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/54602764f6d64b1c99baf21d57004f6d : SUCCESS in 1h 09m 30s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/5f277826e2c848afaa9d2ef8ac542574 : SUCCESS in 50m 29s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/633481479e804b33a1f74cb1ee5bd033 : SUCCESS in 47m 58s","accounts_in_message":[],"_revision_number":17},{"id":"0901d3ebf64033b751b7e71801102481023e38e3","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-07 16:23:05.000000000","message":"Uploaded patch set 18.","accounts_in_message":[],"_revision_number":18},{"id":"018f5fe69519fce6cb6c62394b0b1c79cc2309a6","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-09-07 17:40:57.000000000","message":"Patch Set 18: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5e8e2a9626284d9b972a0f6429402a0b : SUCCESS in 4m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0759a9a649e8480f9c9fa79a1fbcaf16 : SUCCESS in 2m 47s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/3f7469ad02654f29b311509bd8bcde20 : SUCCESS in 4m 22s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a1f6b93a336145b09dc32d0225ebfbb8 : SUCCESS in 4m 27s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d6959bd64cb4403c9d7b765497f1e774 : SUCCESS in 4m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fd927ca0b0294e5abf19cc02ecaef8bf : SUCCESS in 4m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6e21e725b9a64cc9923da16b5a382362 : SUCCESS in 5m 47s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/438b8e3008d54052856c574c4760e33a : SUCCESS in 1h 11m 22s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/2788b0d656594eaa910da78834f27bd7 : SUCCESS in 52m 01s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/f761f788ff0a47b7b527318e67015589 : SUCCESS in 49m 01s","accounts_in_message":[],"_revision_number":18},{"id":"c7e1bcf96ebe71d11db995d1d644e6b51751e6d8","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-09-23 08:35:46.000000000","message":"Patch Set 18:\n\nI think the StopIteration expection should add in the ceilometer/polling/dynamic_pollster.py, not add in the tests code.","accounts_in_message":[],"_revision_number":18},{"id":"842fd6c031e77a0cf49f4a5e1dd4dbb6f47c102a","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-09-27 12:09:19.000000000","message":"Patch Set 18:\n\n\u003e I think the StopIteration expection should add in the\n \u003e ceilometer/polling/dynamic_pollster.py, not add in the tests code.\n\nI am not following...\n\nThe code on ceilometer/polling/dynamic_pollster.py does not throw a StopIteration. What do you mean?","accounts_in_message":[],"_revision_number":18},{"id":"158710657cc6ec0a78052480b629bb4eb438354e","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-02 11:42:19.000000000","message":"Patch Set 18:\n\nHello guys, can we move this along?\n\nEverything seems to be ready for a merge (code has been adjusted, unit tests created, and inquiries answered.). This feature is quite interesting for the future of  Ceilometer, and the Telemetry project from our perspective.","accounts_in_message":[],"_revision_number":18},{"id":"c4cbdeafd5f00933a4a2085d42e53928e874ce2d","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-10-08 06:58:40.000000000","message":"Patch Set 18:\n\n\u003e \u003e I think the StopIteration expection should add in the\n \u003e \u003e ceilometer/polling/dynamic_pollster.py, not add in the tests\n \u003e code.\n \u003e \n \u003e I am not following...\n \u003e \n \u003e The code on ceilometer/polling/dynamic_pollster.py does not throw a\n \u003e StopIteration. What do you mean?\n\nThe StopIteration rasie in py37 is due to ceilometer/polling/dynamic_pollster.py@L228 the next function, So you can not just catch the error in UT, you should catch the error in ceilometer/polling/dynamic_pollster.py L228","accounts_in_message":[],"_revision_number":18},{"id":"dd7f1a219312674549d7d6f76da27d11edb35057","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 11:35:37.000000000","message":"Uploaded patch set 19.","accounts_in_message":[],"_revision_number":19},{"id":"f68d4ce8a6cb3adf0905f01ae8ea1f50caaf098b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 12:58:09.000000000","message":"Patch Set 19: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c02acadb9e7c4794a05591e70f58d4d1 : SUCCESS in 5m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4d4bc06b510e428789adc7257c77cfca : SUCCESS in 2m 52s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/d0345adff69b47b79ac3337ff0056240 : SUCCESS in 4m 18s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/ca19ebdc90bb4884a2588d4e23c12cbb : SUCCESS in 4m 50s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/4f39e7e405bf4c508d89c4030113a42f : FAILURE in 5m 18s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/398d6e7c99d04539856bbcba4ff63dbc : FAILURE in 5m 10s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/673be5a4fc96437b883595038fd2c3d4 : SUCCESS in 6m 49s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/ca1ff6453fb046bdbadefcfef4767c75 : SUCCESS in 1h 16m 33s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/be497f7b48b64555afae640dfdaf11e0 : SUCCESS in 52m 30s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/cfcdc443d1344ed2a84d48003c87b5de : SUCCESS in 50m 10s","accounts_in_message":[],"_revision_number":19},{"id":"f393f2c50a41a8081b49b11071986c71441223e4","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 14:31:44.000000000","message":"Uploaded patch set 20.","accounts_in_message":[],"_revision_number":20},{"id":"944f032c80f4a8f6566bb3f4d63e2115f17c47b6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 15:57:02.000000000","message":"Patch Set 20: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/59c6429e3e3f4ec4b36797f5d5abb59a : SUCCESS in 5m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/54f60cd0374a48248ac780731a920d0a : SUCCESS in 3m 23s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/400a273233e8450bbcb4c3793a7572f0 : SUCCESS in 4m 54s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5595d936cf4d4fda842d8238509d5d44 : SUCCESS in 6m 01s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/7938f11bd2c045be858cea1bacd61c42 : FAILURE in 5m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/23f57fdd113d4f919bfa8d0c422d1820 : FAILURE in 6m 48s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/dc160d99e3be4b9d9bab753325e72dfe : SUCCESS in 9m 01s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/6a4e1399e29240339e30e2ded90b50a8 : SUCCESS in 1h 15m 09s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/b764a562e7fc47d683460d10befc894a : SUCCESS in 48m 22s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/f933417edb464ddb9f1cae96c78231af : SUCCESS in 1h 08m 23s","accounts_in_message":[],"_revision_number":20},{"id":"328c15d902367bf962adabe8f2b92d4ac6ec93e3","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 17:27:37.000000000","message":"Uploaded patch set 21.","accounts_in_message":[],"_revision_number":21},{"id":"be048cbea6c0a5383c0e9ee7d872cc3d97caab01","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 18:59:36.000000000","message":"Patch Set 21: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/2b23acc4ef4f420eb046c671fd35eb10 : SUCCESS in 4m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/08ac634e11aa45928374c5f17522858d : SUCCESS in 3m 00s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/b9deb611265d4914bc92fecdad9c632c : SUCCESS in 6m 12s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b32526163ff44ee88dab148a781b9366 : SUCCESS in 5m 57s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/7ae0e8872bd44bedb5abd94d14865e25 : SUCCESS in 6m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1d0c7ca4a8aa4964b71c809106267d8a : FAILURE in 6m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/339c76f45e29449dbf790abf27a0bb0f : SUCCESS in 6m 37s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/0511968c3d7a4e56a1c3bc8395b86751 : SUCCESS in 1h 24m 15s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/87d4ff3fc22e4e73b8607d13c2333568 : SUCCESS in 58m 56s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/ad648970b70a41d4821d18b168e4c6a4 : SUCCESS in 47m 44s","accounts_in_message":[],"_revision_number":21},{"id":"984d527aadd3544c9281d008271b8bf346f88cdc","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 19:51:05.000000000","message":"Uploaded patch set 22.","accounts_in_message":[],"_revision_number":22},{"id":"36e7603cea338d20667666e2403cb37d920e5385","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 21:09:28.000000000","message":"Patch Set 22: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/07c1cfccb1664648adc4ae7ebe8a6550 : SUCCESS in 5m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/421cdb90c8c8486a82343111d8d846ad : SUCCESS in 4m 02s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/b959e71266944b839c7674b781a05174 : SUCCESS in 6m 37s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/af0186630c8b4fdda3d42be9b4161fe8 : SUCCESS in 5m 02s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/6417e271c74948d79c527e81d6a4d561 : SUCCESS in 5m 22s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3d0662657a3e496ab71a06aaafe1ccc9 : FAILURE in 6m 12s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/093705c3286f47b396dafb65482aca1e : SUCCESS in 6m 10s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/9c17f921b2604e5293606264725d7a05 : SUCCESS in 1h 10m 45s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/4a98603c7ef94810b4719a1f47414f2f : SUCCESS in 49m 57s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/e87b2afc3be449fc8ed87d03d76ee566 : SUCCESS in 40m 15s","accounts_in_message":[],"_revision_number":22},{"id":"8cca8d607df89faaf4fe1e68a4bf4f54d4a035be","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 21:17:46.000000000","message":"Uploaded patch set 23.","accounts_in_message":[],"_revision_number":23},{"id":"812967ee0ea4d2f01d64b696b3dd8e6f09bee31c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 22:18:24.000000000","message":"Patch Set 23: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/eb141c67bcad4fc49f6e24605796cfbb : SUCCESS in 5m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/099273e7e5f94c479387fd336e387811 : SUCCESS in 3m 43s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/3a48c646818a4eaa9a5c1519456a0eda : SUCCESS in 5m 06s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d76128bdf6024c61a194b02cb9c668aa : SUCCESS in 5m 39s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/0da2cc47a09f4b45acfd7e7282d3362b : SUCCESS in 5m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5676ea0d1a940f0a6dda6664ce4b371 : FAILURE in 6m 17s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/799c55d3cc79442c962e46f0cbb703d7 : SUCCESS in 6m 01s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/b40097fdb0c041f5a3f4f837b231d063 : SUCCESS in 59m 05s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/d53c109538504f398d9a346172804dd8 : SUCCESS in 46m 35s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/5e29867bc9914e748d4fc6d51690a1af : SUCCESS in 38m 57s","accounts_in_message":[],"_revision_number":23},{"id":"4ef7a90866da4c43a90d4a7a294dbfff65dc94d1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-08 23:51:08.000000000","message":"Uploaded patch set 24.","accounts_in_message":[],"_revision_number":24},{"id":"914c22eedb948e88edac26e8e6053edf1dac100b","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-10-09 00:42:55.000000000","message":"Patch Set 24:\n\n(1 comment)","accounts_in_message":[],"_revision_number":24},{"id":"54a206cee1e298f41829793650e2dc48d087c18d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-09 00:49:38.000000000","message":"Patch Set 24: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a46af1ba3500419c9ef0237563a715b6 : SUCCESS in 4m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e6d5910bc6004461971843c3feaa4bd0 : SUCCESS in 3m 17s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/a2e9abc49c1346c39d95e299e2026ca6 : SUCCESS in 3m 42s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/4579427dbd6c4e8e94a7d951d5518a5c : SUCCESS in 4m 17s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/398bb5fadfa9446e822d11ff6b757946 : SUCCESS in 4m 41s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6f8e4245aad14599b0f176e4f2c716f5 : FAILURE in 6m 48s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/42b562fd6bc84080b708daee203b8f9d : SUCCESS in 5m 22s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/e5c560e5228c470da21f493fac99678a : SUCCESS in 57m 09s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/27408a776ca146a8ab8763c290486bbb : SUCCESS in 41m 59s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/71fc16d606c948d8b53ba34593d52a20 : SUCCESS in 36m 28s","accounts_in_message":[],"_revision_number":24},{"id":"f08265f43a1557a34cc9b1ef5dafaa08139f937b","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-09 12:01:50.000000000","message":"Patch Set 24:\n\n(1 comment)","accounts_in_message":[],"_revision_number":24},{"id":"edbe34af096385c181698de8d32428bba126ce10","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-09 12:02:23.000000000","message":"Uploaded patch set 25.","accounts_in_message":[],"_revision_number":25},{"id":"9a78458f34af5d05dd8a3a5426fc7e848b17d2e8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-09 13:16:38.000000000","message":"Patch Set 25: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1fc4731b678e430d9662ae5e2b48cd95 : SUCCESS in 4m 52s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7c52481936e7418ebf46fb76a0178c70 : SUCCESS in 3m 44s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/f3f54a0f70f546f2b4c6e2a6c9f1f544 : SUCCESS in 4m 09s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5ef9b52915d64ad08e10ac552929b75d : SUCCESS in 5m 20s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/35a8c14886824cdba037af8299c5ce85 : FAILURE in 5m 31s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/52ba613ec1da4d9087ac2a074652c193 : SUCCESS in 5m 29s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9e7dd91590e1422c98921d5d0e682ecb : SUCCESS in 6m 12s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/1adab6e9fc6d41688b8d29eac21ddfdd : SUCCESS in 1h 08m 43s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/4644e42a0f8b43d59d695c18483eb7f3 : SUCCESS in 50m 14s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/a7ceac2a8c5b47ed9937fde2ed88fef7 : SUCCESS in 38m 07s","accounts_in_message":[],"_revision_number":25},{"id":"cfa219f218ed896c4bb3bc2219b1758d797290ff","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-09 13:29:53.000000000","message":"Uploaded patch set 26.","accounts_in_message":[],"_revision_number":26},{"id":"935ab06602e08b8109c0bb2d3ec5ac72c765627e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-09 14:47:30.000000000","message":"Patch Set 26: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/fc033367f7ab418a95e3c0e902da03e5 : SUCCESS in 7m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04a61c841c864089917ae81ab0a8b089 : SUCCESS in 4m 54s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/57230d3784af41c48488b0504e6c35ce : SUCCESS in 5m 55s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e31625b071974d80ba9de683596a748e : SUCCESS in 6m 31s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/e4c76cc127cf4f61aff43c72b183896c : SUCCESS in 7m 22s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1736e897532a4ce08c4138ed7d658162 : SUCCESS in 6m 49s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3204f44bcec24c858d25c64b68991992 : SUCCESS in 7m 53s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/6e5bb65cd2e7462d85f9da731ecb81b6 : SUCCESS in 1h 11m 30s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/c11e6944f0524fdfa9ff4c37ab98df41 : FAILURE in 56m 37s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/fed51921aa1b4cc587b375abf2c3ea4e : SUCCESS in 58m 54s","accounts_in_message":[],"_revision_number":26},{"id":"ef677b6a760fe2fac8df7b9e871502154d6e82c5","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-09 16:31:46.000000000","message":"Patch Set 26:\n\nrecheck","accounts_in_message":[],"_revision_number":26},{"id":"9a38c92a51b2d8125fc4b8e17eb7680ec871698b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-09 17:51:12.000000000","message":"Patch Set 26: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3501f0c11eec4b238380117ffcb25969 : SUCCESS in 5m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f4b465791e67491087842e229ffc4b9b : SUCCESS in 3m 36s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/2b3e022938094b6ab5a476e6e7aa0598 : SUCCESS in 4m 48s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/3bcb6c9274a34bf1b32dd4292bf16d32 : SUCCESS in 5m 05s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/71e9c5fef5bb41ee8fb0f543a7f4ae79 : SUCCESS in 7m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8b61e5275148444ab20d2547c89f9970 : SUCCESS in 7m 31s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/71f680a85c1b4ea387755d409340f110 : SUCCESS in 7m 18s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/22745735e9c24c9fbc79b66adc22bbf3 : SUCCESS in 1h 11m 06s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/6a4ddb8df79e41418e820b6a8abe3487 : SUCCESS in 47m 31s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/06779935e37e447bae86dd2a132f256a : SUCCESS in 46m 43s","accounts_in_message":[],"_revision_number":26},{"id":"d084579285effa800d5bd5f0513baa3b3bb0b0ea","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-10-10 00:52:34.000000000","message":"Patch Set 26: Code-Review+1\n\nThanks, will be +2 after U release start","accounts_in_message":[],"_revision_number":26},{"id":"f37b873e2145babe679ab215f7972bb005caf8d5","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 08:51:09.000000000","message":"Patch Set 26: Code-Review-1\n\nHi Rafael, I finally have some time to review this patch, sorry for the delay and thanks for your patience. Generally, I like this idea as it doesn\u0027t add extra dependencies by making API call instead of using openstack service clients.\n\nCode looks good to me, although there are some places could be improved later but shouldn\u0027t block its merge.\n\n-1 here is asking for an example in doc/source/admin/telemetry-dynamic-pollster.rst, e.g. the magnum one that\u0027s mentioned.","accounts_in_message":[],"_revision_number":26},{"id":"e083655dad1ef0c43b32ab527c926f6c85586bca","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 08:53:10.000000000","message":"Patch Set 26:\n\nwhat\u0027s more, please add a release note in a separate patch","accounts_in_message":[],"_revision_number":26},{"id":"75b609ed2d5d1a47e75cede1dba1a0cf83624bf1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 11:11:28.000000000","message":"Patch Set 26:\n\n\u003e Hi Rafael, I finally have some time to review this patch, sorry for\n \u003e the delay and thanks for your patience. Generally, I like this idea\n \u003e as it doesn\u0027t add extra dependencies by making API call instead of\n \u003e using openstack service clients.\n \u003e \n \u003e Code looks good to me, although there are some places could be\n \u003e improved later but shouldn\u0027t block its merge.\n \u003e \n \u003e -1 here is asking for an example in doc/source/admin/telemetry-dynamic-pollster.rst,\n \u003e e.g. the magnum one that\u0027s mentioned.\n\nDone","accounts_in_message":[],"_revision_number":26},{"id":"4d5ce0ac1cc4294a8d6cafa9a5410fc0bf06077c","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 11:18:30.000000000","message":"Patch Set 26:\n\n\u003e what\u0027s more, please add a release note in a separate patch\n\ndone","accounts_in_message":[],"_revision_number":26},{"id":"904a0d11ae22f961340170c748f2b4e26b04bf95","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 11:18:55.000000000","message":"Uploaded patch set 27.","accounts_in_message":[],"_revision_number":27},{"id":"1ddbe6051ebad14712407ff9dbf8d430228eab10","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-10 12:36:34.000000000","message":"Patch Set 27: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/edfe24d67d6f47ab858c374674f65b8e : SUCCESS in 5m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/64ea7e56e7124e6296bd05ed7ef62f35 : SUCCESS in 3m 11s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/671fe55307fb47bfbae816cae317743a : FAILURE in 5m 29s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/288e7844bb014790b8a58a72cbc8c174 : SUCCESS in 5m 01s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9d4ae8c4f21549deb00c92bb1a112ba3 : SUCCESS in 5m 03s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1b42a17f43c740839104d5178d02c781 : FAILURE in 6m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fb315de70e2a46c28a95f5bd9dbbb060 : SUCCESS in 6m 05s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8e649a754d964a77847e329e980795a5 : SUCCESS in 7m 38s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/04897ad02a7c47619a376203c2232c11 : SUCCESS in 1h 11m 40s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/06eb35ef8a8e44d9a58ca91a30d2aa70 : SUCCESS in 54m 02s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/7d6a10b9e89f4010bc91fb2c15285a74 : SUCCESS in 49m 10s","accounts_in_message":[],"_revision_number":27},{"id":"a77e176a87961eea8d359a869d136fa0ad6a6627","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 12:39:49.000000000","message":"Uploaded patch set 28.","accounts_in_message":[],"_revision_number":28},{"id":"f16ab30e0b33e14fe2574f3db9f66c588d4c8c29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-10 13:50:22.000000000","message":"Patch Set 28: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/88bd1df2f3ad40dfbb6c42f989a9eae4 : SUCCESS in 5m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1ad6dbba44e249cd8e63e6112e016917 : SUCCESS in 2m 49s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/16314c17eb414d7da55a7e8dd45ca852 : SUCCESS in 4m 39s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9e5331b4e7194a7c948f1bfc93db89a3 : SUCCESS in 5m 04s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d76272233947438a85495a6a018e1fb7 : SUCCESS in 6m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/870d1d837cb94fd6b32336b86922c15f : SUCCESS in 6m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d35cdab450884020aaaea774173cf58d : SUCCESS in 7m 10s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/99cd01bcf4e24e939084b13979e51905 : SUCCESS in 6m 49s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/e4c0cf0c64ca4192b8d793e0681c3a60 : SUCCESS in 1h 08m 30s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/aea050b154c6421e8a3d7458cc77ec30 : SUCCESS in 59m 35s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/0ca026e33e0d4a28bc60368e5a5b38e0 : SUCCESS in 50m 35s","accounts_in_message":[],"_revision_number":28},{"id":"e82d29f848203044472914c166c6f65d9283e21a","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 20:48:52.000000000","message":"Patch Set 29: Published edit on patch set 28.","accounts_in_message":[],"_revision_number":29},{"id":"310eecd7828cb14bdb5c6cd54abdf4727c0c0b3d","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 20:51:51.000000000","message":"Patch Set 29:\n\nOne more question, does the dynamic pollster support the URL with project_id as part of it? e.g. Cinder, Trove, etc.","accounts_in_message":[],"_revision_number":29},{"id":"d7e5a46b229cfbec8f9f0291c274209ce46c3726","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-10 22:01:05.000000000","message":"Patch Set 29: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f782a5af7b15405cac94eda81f922993 : FAILURE in 4m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1a65de022c6940a9bfe58383ecea858e : SUCCESS in 3m 09s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/caee8c64719245899b03eb8092afddfa : FAILURE in 5m 09s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/9f8dafb94f914a0d96c1b2b1159ec52d : FAILURE in 4m 52s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/0d48e9a88c534a29a35eca89fddc57f5 : FAILURE in 4m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/91da5719d42a419a933b1969f4d3c16b : SUCCESS in 6m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/59f16baf7f094cb080553dc000c956c2 : SUCCESS in 6m 11s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/638c0b005d514006890e302dda62fdac : FAILURE in 6m 37s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/60fcf2e111094f31b3df1f6488984ac5 : SUCCESS in 1h 05m 39s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/8e94e1f926a549358385014dd7078369 : SUCCESS in 47m 21s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/8c814e8539c74d7b850c81d9724cda8e : SUCCESS in 42m 41s","accounts_in_message":[],"_revision_number":29},{"id":"840201a90ff3efbf92899202a312f3d5e288bb00","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 23:06:46.000000000","message":"Patch Set 26:\n\n\u003e One more question, does the dynamic pollster support the URL with\n \u003e project_id as part of it? e.g. Cinder, Trove, etc.\n\nNot yet. It can be extended to support URLs that work in a project basis though.\n\nI have a question. Why did you executed the changes 28 and 29? Wouldn\u0027t it be better to raise a question, and then let me execute the changes (after we discuss them)? You broke and code, and wrote some wrong documentation.\n\nWhat was the goal of the patch set 28 and 29?","accounts_in_message":[],"_revision_number":26},{"id":"92b7bc1e24cbab218a1b7a660f5a07ce9cbb5ecc","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 23:25:43.000000000","message":"Patch Set 29:\n\n\u003e \u003e One more question, does the dynamic pollster support the URL with\n \u003e \u003e project_id as part of it? e.g. Cinder, Trove, etc.\n \u003e \n \u003e Not yet. It can be extended to support URLs that work in a project\n \u003e basis though.\n \u003e \n \u003e I have a question. Why did you executed the changes 28 and 29?\n \u003e Wouldn\u0027t it be better to raise a question, and then let me execute\n \u003e the changes (after we discuss them)? You broke and code, and wrote\n \u003e some wrong documentation.\n \u003e \n \u003e What was the goal of the patch set 28 and 29?\n\nSorry to break the CI, that\u0027s not on purpose. The original purpose is to fix the doc, I\u0027m not sure if you have clicked to check the rendered doc here https://89e6659093c0b5cc3d9d-8507e674ad9eed48586504f8f04bb11d.ssl.cf2.rackcdn.com/677031/28/check/openstack-tox-docs/870d1d8/docs/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration, there are some formatting issues, which I thought is easy to fix before merge without bothering the author. You can take a look at the current rendered doc https://1939728806a472cf7146-9f93672c1e5954463001236c87807725.ssl.cf5.rackcdn.com/677031/29/check/openstack-tox-docs/91da571/docs/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration\n\nHowever, when I was fixing the doc, I found the field \u0027metadata_map\u0027 should be \u0027metadata_mapping\u0027 to keep consistent with others (value_mapping, default_value_mapping) so include that change in the patch as well, which broke the CI. I do apologize for that.\n\nI know this patch has been waiting for a long time, I want to speed it up without bringing more hassles to the author. However, if you insist, please revert the last patchset and do the change by yourself.","accounts_in_message":[],"_revision_number":29},{"id":"5b39d6e01abd8e01ceb20c33a1a0ee263d6ac7f2","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 23:26:02.000000000","message":"Patch Set 29:\n\nI will revert the last patchset.","accounts_in_message":[],"_revision_number":29},{"id":"46d5157407bbae9991c8054ea9a28d2a723b5319","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 23:28:34.000000000","message":"Uploaded patch set 30.","accounts_in_message":[],"_revision_number":30},{"id":"45eb4d17a42cf8994152b3190391819d2bca37ac","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-10 23:29:05.000000000","message":"Patch Set 30:\n\npatchset 28 was reverted","accounts_in_message":[],"_revision_number":30},{"id":"508688b2b138b3e682ac3c23f2f6729396a05a4f","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-10 23:29:08.000000000","message":"Patch Set 26:\n\n\u003e \u003e \u003e One more question, does the dynamic pollster support the URL\n \u003e with\n \u003e \u003e \u003e project_id as part of it? e.g. Cinder, Trove, etc.\n \u003e \u003e\n \u003e \u003e Not yet. It can be extended to support URLs that work in a\n \u003e project\n \u003e \u003e basis though.\n \u003e \u003e\n \u003e \u003e I have a question. Why did you executed the changes 28 and 29?\n \u003e \u003e Wouldn\u0027t it be better to raise a question, and then let me\n \u003e execute\n \u003e \u003e the changes (after we discuss them)? You broke and code, and\n \u003e wrote\n \u003e \u003e some wrong documentation.\n \u003e \u003e\n \u003e \u003e What was the goal of the patch set 28 and 29?\n \u003e \n \u003e Sorry to break the CI, that\u0027s not on purpose. The original purpose\n \u003e is to fix the doc, I\u0027m not sure if you have clicked to check the\n \u003e rendered doc here https://89e6659093c0b5cc3d9d-8507e674ad9eed48586504f8f04bb11d.ssl.cf2.rackcdn.com/677031/28/check/openstack-tox-docs/870d1d8/docs/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration,\n \u003e there are some formatting issues, which I thought is easy to fix\n \u003e before merge without bothering the author. You can take a look at\n \u003e the current rendered doc https://1939728806a472cf7146-9f93672c1e5954463001236c87807725.ssl.cf5.rackcdn.com/677031/29/check/openstack-tox-docs/91da571/docs/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration\n \u003e \n \u003e However, when I was fixing the doc, I found the field\n \u003e \u0027metadata_map\u0027 should be \u0027metadata_mapping\u0027 to keep consistent with\n \u003e others (value_mapping, default_value_mapping) so include that\n \u003e change in the patch as well, which broke the CI. I do apologize for\n \u003e that.\n \u003e \n \u003e I know this patch has been waiting for a long time, I want to speed\n \u003e it up without bringing more hassles to the author. However, if you\n \u003e insist, please revert the last patchset and do the change by\n \u003e yourself.\n\nThanks for the update. I do see your point. I am not bothered at all by this back and forth. It is always good to exchange and learn with others in OpenSource.\n\nI did not check the results of the RST files. Sorry for that. I will fix them, and also fix the name of the property as you suggested. Thanks for helping me here so far :)","accounts_in_message":[],"_revision_number":26},{"id":"ce7c3674d5e5e1aecc11a1cf2d3c63e729842da1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-11 00:00:49.000000000","message":"Uploaded patch set 31.","accounts_in_message":[],"_revision_number":31},{"id":"086c060eb1b35ca124881f41d488fab669a5b89c","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-11 01:02:37.000000000","message":"Patch Set 31: Code-Review-1\n\n(14 comments)","accounts_in_message":[],"_revision_number":31},{"id":"09bd713ad0eff85ca74ef888272dd92999685476","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-11 01:15:21.000000000","message":"Patch Set 31: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3be4e80e13d44d05885cba898b06ff5e : SUCCESS in 4m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f7e2668509bf41fab89adcb2624aef91 : SUCCESS in 3m 59s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/1474d2b83cdf452c99c9d115988062b8 : SUCCESS in 4m 01s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/bf18313094424b519c9ce7723753e43a : SUCCESS in 4m 32s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/815060aa1e914e32ad595bdada67539c : SUCCESS in 6m 17s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/575a0585dfde4bb1ade2117979898bbd : SUCCESS in 7m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/893b98671ea444b9b65f4f1339be28f9 : SUCCESS in 6m 11s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d3c3e2a6177040edadce3f0c37236cbb : SUCCESS in 6m 40s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/a1107fc57240474597861114763fbb00 : SUCCESS in 1h 11m 19s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/cb216ed0a25f4a448994f1f5e1524ddc : SUCCESS in 49m 07s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/87cfc6f391ea4d56ab898d22acc2b5a6 : SUCCESS in 44m 59s","accounts_in_message":[],"_revision_number":31},{"id":"64cd190baec59b55e932b605d9c9df773c7a8ca3","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-11 02:13:19.000000000","message":"Patch Set 31:\n\n(13 comments)\n\nThanks for the valuable feedback Lingxian Kong!\n\nI have replied and addressed your requests. If you have more suggestions and/or questions, I am eager to answer/address them.","accounts_in_message":[],"_revision_number":31},{"id":"b1823659dbd50f722f877c8ad64ae74096edb8cf","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-11 02:14:25.000000000","message":"Uploaded patch set 32.","accounts_in_message":[],"_revision_number":32},{"id":"5519d1845774313a2eb628ea42cda0fc6acf9dd9","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-11 03:14:06.000000000","message":"Patch Set 32: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":32},{"id":"cd8c85ce51f84bb67da83f85d4547ca7e36e364c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-11 03:22:41.000000000","message":"Patch Set 32: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a6a99c85bb854f11ac62a3ec21cd86c6 : FAILURE in 4m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c2956906b7904ecb8397a46de9ffa378 : FAILURE in 2m 57s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/11799975691d48f7a681b39166a2aa71 : FAILURE in 4m 41s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/221251ec283a409e84087f8f71fb4f7c : FAILURE in 4m 53s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/c349fd2e75f34b73aff27f81728cd498 : FAILURE in 5m 22s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/495e20abf80f4c8b8bbf893eba2a6991 : SUCCESS in 5m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fa8fd208e3244c3ca838c8f4bd215fbd : SUCCESS in 6m 28s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/904740febbf04745bacda68a9a52090f : FAILURE in 6m 28s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/fdc110f3cd4848cba2e2841e418ff74b : SUCCESS in 1h 02m 50s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/4bfa1465f32c4c50b00d0ebf640c5579 : SUCCESS in 54m 10s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/6357bfd56f0f445295c352ce6ce484b5 : SUCCESS in 46m 30s","accounts_in_message":[],"_revision_number":32},{"id":"228234457a19ff2d5849bd1f23ca22e01ad1d342","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-11 03:29:08.000000000","message":"Patch Set 31:\n\n(3 comments)","accounts_in_message":[],"_revision_number":31},{"id":"3510b6d99f4b5e36888639e90970c347d17a9c0d","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-11 03:33:51.000000000","message":"Uploaded patch set 33.","accounts_in_message":[],"_revision_number":33},{"id":"6ef3d4a82539117bba8d29e616f239f7ac6e9a8f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-11 04:46:52.000000000","message":"Patch Set 33: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3bbc9fdf9d574b9dbf2b12fcb8c1b5f8 : FAILURE in 5m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f3b2528c3a1c400fa77596a72f0f8164 : FAILURE in 2m 55s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/c8570013e2014232a31542ee0d040ec9 : FAILURE in 4m 46s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/5f981893fb434453959ed461619ac966 : FAILURE in 4m 32s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/46de1f5d0353441fa7e7ac5359d5f543 : FAILURE in 4m 37s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aa544710b7674e3d8dabb13eefd761ef : SUCCESS in 5m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b32a09da59844d89bd5d6f443d751522 : SUCCESS in 5m 53s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/05ad1c0bccac4945be7c1e263bff40a1 : FAILURE in 5m 38s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/01e29d03aac24aa9823e10431e0ea413 : SUCCESS in 1h 11m 04s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/3dd0c635cb734f04a92eef56b2d19662 : SUCCESS in 50m 25s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/83029e06112b43b3913eb2175510e0b9 : SUCCESS in 39m 35s","accounts_in_message":[],"_revision_number":33},{"id":"eba60366a877d2f3bf3c3d80047d21fe39a8ea5a","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-11 06:41:20.000000000","message":"Patch Set 33: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":33},{"id":"a35d42916f2bb6d7ca109a9d20a058109e1b06d4","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-11 06:45:32.000000000","message":"Patch Set 33:\n\n(2 comments)","accounts_in_message":[],"_revision_number":33},{"id":"21f6d708a1108de6f23fcac25db575a83755dfb4","author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"date":"2019-10-14 19:34:03.000000000","message":"Patch Set 33:\n\n(1 comment)","accounts_in_message":[],"_revision_number":33},{"id":"42579d62d6e1168ca1ed3c846e8c8289b9bfc2e1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-23 13:08:46.000000000","message":"Uploaded patch set 34.","accounts_in_message":[],"_revision_number":34},{"id":"a8468d6c7a1ea1b7cd4dbccaa18188ed4ec13be3","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-23 13:09:11.000000000","message":"Patch Set 33:\n\n(5 comments)\n\nThank you guys for your suggestions!\n\nI have amended the code to address them.","accounts_in_message":[],"_revision_number":33},{"id":"8a09791799645c37d79b46190854986c4c17e563","author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"date":"2019-10-23 13:12:44.000000000","message":"Patch Set 34: Code-Review+1","accounts_in_message":[],"_revision_number":34},{"id":"ff5466f800539f4e8b2ad20c985e31c79450c3a5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-23 14:31:24.000000000","message":"Patch Set 34: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6829ea1b44624b178378b772f9800c4f : FAILURE in 5m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/106b3c601b534c91bbe68c0344aceba8 : FAILURE in 4m 03s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/72d8156c25bb4d16ac04086d399ee312 : FAILURE in 5m 43s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d44e4891d9174764a78f002f114e9900 : FAILURE in 6m 15s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/badbe110a9b6481d83c7c86230d39212 : FAILURE in 6m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0c176ba28a4f454f85ec64aa8a8452df : FAILURE in 8m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d4ed22d3944445a6a0a59f47b399c89f : SUCCESS in 7m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7cf2879bb1104cc3bf2df8bb53efe5a7 : FAILURE in 7m 45s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/0cb470c6f79a426b95a62ec0d7948f18 : SUCCESS in 1h 19m 43s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/499f7b152e2a4148bab43dfc83280249 : SUCCESS in 47m 42s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/bc61f32361ea4dde8f141187a67ef1fd : SUCCESS in 48m 14s","accounts_in_message":[],"_revision_number":34},{"id":"7134e0bcfb3f1d729716ad0557afb8d0a9fc454a","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-23 14:42:41.000000000","message":"Uploaded patch set 35.","accounts_in_message":[],"_revision_number":35},{"id":"9d42d6f73a7ccdf1244fa006bbbe777b1ea49270","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-23 17:02:08.000000000","message":"Patch Set 35: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/527ca8add32543abafa61b21000d4954 : SUCCESS in 7m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e2563f83461a4fa6844286bd6b296861 : FAILURE in 4m 42s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/b59fdcf9ae4844fe8273f55ded609c25 : SUCCESS in 6m 38s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b5b6a9173e4d42d2bfd7c2ac2fef4ea9 : SUCCESS in 5m 49s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/841072d55b1c498eab47226f69e8e9ff : SUCCESS in 5m 47s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6900ea495b4942d9823713591b092d1a : FAILURE in 6m 54s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fa0168bca5ba493891af9394291466cb : SUCCESS in 6m 16s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/52ab57636ffa48a58b606115b7c7e3ac : SUCCESS in 10m 16s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/dd683dcf57b042aba853499e44e22323 : SUCCESS in 2h 09m 00s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/0e6753d04dbc4dc49ea2a79609851dfc : SUCCESS in 1h 29m 06s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/c60f23b28e0b44958b7c910479ad7575 : SUCCESS in 49m 03s","accounts_in_message":[],"_revision_number":35},{"id":"4b1b8f6791097f6402566170cf46e4ac239f3631","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-23 17:21:29.000000000","message":"Uploaded patch set 36.","accounts_in_message":[],"_revision_number":36},{"id":"6cd5cf1f74935c1311bbd0061863d734d62c8deb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-23 18:59:55.000000000","message":"Patch Set 36: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6642c6410b43421aafc4314e247ee7ee : SUCCESS in 6m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/aee118199b344f399b4cefcc935c7a5d : FAILURE in 3m 15s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/07a22e51d09f4679a33d4fb6f2eba6a7 : SUCCESS in 4m 39s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/a93f73dce33a4dd4a48af8f16d1d5e3d : SUCCESS in 5m 06s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/d39732f3e4bc403aa1c34c58fd903d10 : SUCCESS in 6m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b1fe81c6d4044a30a873641432c60b9f : SUCCESS in 6m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ed66930701884eccaaf340cc2bde60fe : SUCCESS in 6m 54s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/758b2aee70014d7885ea888421835da2 : SUCCESS in 8m 53s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/66e8c32b0ffe495fa909bd06b45e9574 : SUCCESS in 1h 24m 20s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/47472b592cbe4335a0659a443dbff2f7 : SUCCESS in 1h 07m 14s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/dc63ef62fa424aa6822d77f5c4dcbc6e : SUCCESS in 1h 05m 12s","accounts_in_message":[],"_revision_number":36},{"id":"b18446d4a11296b9ace848f904068bec8a4778c1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-23 19:02:30.000000000","message":"Uploaded patch set 37.","accounts_in_message":[],"_revision_number":37},{"id":"a30b08124bceea8d000f350280655d44fe0cc8b7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-23 20:17:49.000000000","message":"Patch Set 37: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/83a6c583fe664ddc96e959d5718cc654 : SUCCESS in 5m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/19cdaefb0e18450c90aeb3cd690ac29b : SUCCESS in 3m 31s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/726965fe33da4dd2a67f74fdfe191db3 : SUCCESS in 7m 36s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/e28878382e504db9bfc7414a83f7bce7 : SUCCESS in 5m 58s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/675f416cdf92410ba8624caa80a1c81f : SUCCESS in 5m 07s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/82bd643f11994a619547f53d87f75272 : SUCCESS in 7m 25s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2a9e39e9a1f34bebb302ec63777af2b4 : SUCCESS in 7m 43s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/27bb58afcdbd451da87b2ac564c2f38f : SUCCESS in 6m 46s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/6558f651fd3e44b19155da1b707d918a : SUCCESS in 1h 08m 31s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/a583ac3bb1724b23854c827679b8c01d : SUCCESS in 51m 35s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/902dee59bb4b4e66a151095276c07843 : SUCCESS in 42m 18s","accounts_in_message":[],"_revision_number":37},{"id":"093c14cfb9a4f67743bbad58ae92f109effe438c","author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"date":"2019-10-23 21:53:48.000000000","message":"Patch Set 37: Code-Review+1","accounts_in_message":[],"_revision_number":37},{"id":"79c7fbfabef1f48826958fe52f827deea02ae38c","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-10-25 01:28:32.000000000","message":"Patch Set 37: Code-Review+1\n\nLGTM, wait lingxian\u0027s final review","accounts_in_message":[],"_revision_number":37},{"id":"8cde47ad875ab24c09326b3fa09fafce4b2d8663","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2019-10-25 12:16:29.000000000","message":"Patch Set 37:\n\n\u003e LGTM, wait lingxian\u0027s final review\n\nCool, thanks Zhurong","accounts_in_message":[],"_revision_number":37},{"id":"2c0d18d7c5de8f54deb8368fe3d96d42a0b72f85","author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"date":"2019-10-27 16:44:34.000000000","message":"Patch Set 37: Code-Review+2","accounts_in_message":[],"_revision_number":37},{"id":"1106f1e5e0607fec0017b43bfbcec14e5fc7b226","author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"date":"2019-10-28 00:50:55.000000000","message":"Patch Set 37: Code-Review+2 Workflow+1\n\nthanks","accounts_in_message":[],"_revision_number":37},{"id":"ba4700f5deb2e43562b1afecfdf594e2bf930ac1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-28 00:51:08.000000000","message":"Patch Set 37: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":37},{"id":"da6f0dfb22a0e75710fe1b62d60e56158aa8c92b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-28 01:54:47.000000000","message":"Patch Set 37: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4ef71f170caa4be48f9ea0b53e34a2c0 : SUCCESS in 4m 49s\n- openstack-tox-py27 https://zuul.opendev.org/t/openstack/build/76b24cd8f1e24a1bb5b0dc6343be207b : SUCCESS in 4m 24s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/82a10401e1fb43a8b13009dfc94323f4 : SUCCESS in 5m 24s\n- openstack-tox-py37 https://zuul.opendev.org/t/openstack/build/9bcf1e185f5542d3b976b9aa2da5ba0e : SUCCESS in 5m 53s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a088943167ea4f378b044838fcd6c367 : SUCCESS in 7m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c439abee14eb44e3a34b1eebf4028559 : SUCCESS in 6m 01s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b14dca3ab6e945b8bc5aad0d2215f351 : SUCCESS in 6m 13s\n- grenade-dsvm-ceilometer https://zuul.opendev.org/t/openstack/build/b8b748d93ef4412ca224075bf4024fbb : SUCCESS in 1h 01m 14s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/16aa9c3f098949a2aaee107a32ea9b3d : SUCCESS in 52m 23s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/07ea22b2db9a4f2396aa11e8cd40ed34 : SUCCESS in 40m 16s","accounts_in_message":[],"_revision_number":37},{"id":"e27971103264b22be2d439a256ea987b999a13e2","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-28 01:54:48.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":37},{"id":"df36a66599526ef33bb539f76ee5707166effd0c","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-28 01:55:59.000000000","message":"Patch Set 37:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4f4ec2aec82b41de8235e23a5a0b13ce : SUCCESS in 48s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/48ccdc75ebf94bb88eeba77fe3599552 : SUCCESS in 53s","accounts_in_message":[],"_revision_number":37}],"current_revision_number":37,"current_revision":"7bff46921e6a5f9c8ecae97aa3756d8c570f23c8","revisions":{"6b475fbfae8fd22f23625e389f151d3849c0efca":{"kind":"REWORK","_number":1,"created":"2019-08-16 21:05:16.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/1"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-16 21:05:12.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to create/update pollsters on the fly (without changing code). The system reads YAML configures that are found in ``pollsters_definitions_dirs``, which has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file in the dynamic pollster feature can use the following attributes to define a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic pollster. For instance, a pollster for magnum can use the name ``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must be one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is being collected. For magnum, for instance, one can use ``cluster`` as the unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the JSON response from the URL of the component being polled. In our magnum example, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is used to discover the base URL of the component to be monitored; for magnum, one can use ``container-infra``. Other values are accepted such as ``volume`` for cinder endpoints, ``object-store`` for swift, and so on;\n* ``url_path``: mandatory attribute. It defines the path of the request that we execute on the endpoint to gather data. For example, to gather data from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that the response of the request executed with ``url_path`` that we want to retrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that might come in the ``value_attribute`` that we want to ignore. For magnun, one could for instance, ignore some of the status it has for clusters. Therefore, data is not gathered for clusters in the defined status.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the values that the dynamic pollster is handling. This is the actual value that is sent to Gnocchi or other backends. If there is no mapping specified, we will use the raw value that is obtained with the use of ``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for the value mapping in case the variable value receives data that is not mapped to something in the ``value_mapping`` configuration. This attribute is only used when ``value_mapping`` is defined. Moreover, it has a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/6b475fbfae8fd22f23625e389f151d3849c0efca"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/6b475fbfae8fd22f23625e389f151d3849c0efca"}]},"branch":"refs/heads/master"},"2ef6e93267057f86465545c21bd1128c5fd4f923":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2019-08-16 21:08:31.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/2"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-16 21:07:58.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/2ef6e93267057f86465545c21bd1128c5fd4f923"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/2ef6e93267057f86465545c21bd1128c5fd4f923"}]},"branch":"refs/heads/master"},"fc8d47e0f915308d92758102f2a8628cbcf7813f":{"kind":"REWORK","_number":3,"created":"2019-08-16 23:30:47.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/3"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-16 23:30:23.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/fc8d47e0f915308d92758102f2a8628cbcf7813f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/fc8d47e0f915308d92758102f2a8628cbcf7813f"}]},"branch":"refs/heads/master"},"a921162ec3fda132fd70d58f54b00c8aa6f12a1c":{"kind":"REWORK","_number":4,"created":"2019-08-17 01:01:50.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/4"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-17 01:01:36.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a921162ec3fda132fd70d58f54b00c8aa6f12a1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a921162ec3fda132fd70d58f54b00c8aa6f12a1c"}]},"branch":"refs/heads/master"},"1464a348ba84a6db226f961fb168b439d4c5de38":{"kind":"REWORK","_number":5,"created":"2019-08-17 02:29:25.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/5"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-17 02:29:11.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1464a348ba84a6db226f961fb168b439d4c5de38"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1464a348ba84a6db226f961fb168b439d4c5de38"}]},"branch":"refs/heads/master"},"ccd39f125b5f8db61532bd568da57097a776d443":{"kind":"REWORK","_number":6,"created":"2019-08-17 02:56:19.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/6"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-17 02:55:27.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/ccd39f125b5f8db61532bd568da57097a776d443"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/ccd39f125b5f8db61532bd568da57097a776d443"}]},"branch":"refs/heads/master"},"0e11d1046930dda02c1c27aaf8e3f3e36618f202":{"kind":"REWORK","_number":7,"created":"2019-08-23 12:27:35.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/7"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-23 12:27:05.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/0e11d1046930dda02c1c27aaf8e3f3e36618f202"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/0e11d1046930dda02c1c27aaf8e3f3e36618f202"}]},"branch":"refs/heads/master"},"3e257aa632b40423d99e3d3f5d2d0bbcb186dcc3":{"kind":"REWORK","_number":8,"created":"2019-09-04 12:46:07.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/8"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-04 12:45:52.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3e257aa632b40423d99e3d3f5d2d0bbcb186dcc3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3e257aa632b40423d99e3d3f5d2d0bbcb186dcc3"}]},"branch":"refs/heads/master"},"12fedf14b9c4ebde4df076c111767b6b2c72bfe6":{"kind":"REWORK","_number":9,"created":"2019-09-04 13:38:38.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/9"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-04 13:38:21.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/12fedf14b9c4ebde4df076c111767b6b2c72bfe6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/12fedf14b9c4ebde4df076c111767b6b2c72bfe6"}]},"branch":"refs/heads/master"},"3406424cf2b0bc640c16a945a79ad577a5052f07":{"kind":"REWORK","_number":10,"created":"2019-09-04 18:54:18.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/10"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-04 18:54:05.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3406424cf2b0bc640c16a945a79ad577a5052f07"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3406424cf2b0bc640c16a945a79ad577a5052f07"}]},"branch":"refs/heads/master"},"e66467c78d7b9d3e36f479ca3e370605a54f3ec9":{"kind":"REWORK","_number":11,"created":"2019-09-04 20:32:13.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/11"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-04 20:31:43.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/e66467c78d7b9d3e36f479ca3e370605a54f3ec9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/e66467c78d7b9d3e36f479ca3e370605a54f3ec9"}]},"branch":"refs/heads/master"},"c4914318ac942cf3765e327edc7eb42408b84115":{"kind":"REWORK","_number":12,"created":"2019-09-04 22:07:13.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/12"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-04 22:06:43.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/c4914318ac942cf3765e327edc7eb42408b84115"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/c4914318ac942cf3765e327edc7eb42408b84115"}]},"branch":"refs/heads/master"},"3cae5ee3e40c2083ee1d3ad0c3ae09e438fcfe59":{"kind":"REWORK","_number":13,"created":"2019-09-06 12:39:21.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/13"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-06 12:39:08.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3cae5ee3e40c2083ee1d3ad0c3ae09e438fcfe59"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/3cae5ee3e40c2083ee1d3ad0c3ae09e438fcfe59"}]},"branch":"refs/heads/master"},"c691b2426ea8f91be2c9ef6ac948dc299dd5570d":{"kind":"REWORK","_number":14,"created":"2019-09-06 22:07:39.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/14"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-06 22:07:19.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/c691b2426ea8f91be2c9ef6ac948dc299dd5570d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/c691b2426ea8f91be2c9ef6ac948dc299dd5570d"}]},"branch":"refs/heads/master"},"5f201753d1701d1f5b9e0ce40d86d51e5f0311fb":{"kind":"REWORK","_number":15,"created":"2019-09-06 23:39:45.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/15"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-06 23:39:13.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/5f201753d1701d1f5b9e0ce40d86d51e5f0311fb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/5f201753d1701d1f5b9e0ce40d86d51e5f0311fb"}]},"branch":"refs/heads/master"},"1c0504065c37dad8a3b3820eb6e3ebdb9234fcb7":{"kind":"REWORK","_number":16,"created":"2019-09-07 13:23:19.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/16"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-07 13:21:20.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1c0504065c37dad8a3b3820eb6e3ebdb9234fcb7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1c0504065c37dad8a3b3820eb6e3ebdb9234fcb7"}]},"branch":"refs/heads/master"},"a54650f007c96a0e496b462ab939ce8f8cd482e3":{"kind":"REWORK","_number":17,"created":"2019-09-07 14:38:43.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/17"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-07 14:38:08.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a54650f007c96a0e496b462ab939ce8f8cd482e3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a54650f007c96a0e496b462ab939ce8f8cd482e3"}]},"branch":"refs/heads/master"},"7d8ff0e2ee4ca416d9bfc8cd9fdb4a82002ba240":{"kind":"REWORK","_number":18,"created":"2019-09-07 16:23:05.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/18"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-09-07 16:22:17.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7d8ff0e2ee4ca416d9bfc8cd9fdb4a82002ba240"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7d8ff0e2ee4ca416d9bfc8cd9fdb4a82002ba240"}]},"branch":"refs/heads/master"},"bd4dfb82ca0346e4ffcc3ff0a9ca611963b55c25":{"kind":"REWORK","_number":19,"created":"2019-10-08 11:35:37.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/19","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/19","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/19 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/19 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/19 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/19"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 11:32:52.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/bd4dfb82ca0346e4ffcc3ff0a9ca611963b55c25"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/bd4dfb82ca0346e4ffcc3ff0a9ca611963b55c25"}]},"branch":"refs/heads/master"},"26578f1dacaeda3ca8779f97b94a54c81baa0cd4":{"kind":"REWORK","_number":20,"created":"2019-10-08 14:31:44.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/20","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/20","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/20 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/20 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/20 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/20"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 14:31:26.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/26578f1dacaeda3ca8779f97b94a54c81baa0cd4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/26578f1dacaeda3ca8779f97b94a54c81baa0cd4"}]},"branch":"refs/heads/master"},"80cc328661ebc642cac7bebbce56c59ff9694c1c":{"kind":"REWORK","_number":21,"created":"2019-10-08 17:27:37.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/21","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/21","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/21 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/21 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/21 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/21"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 17:27:20.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/80cc328661ebc642cac7bebbce56c59ff9694c1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/80cc328661ebc642cac7bebbce56c59ff9694c1c"}]},"branch":"refs/heads/master"},"7832805c330dc4c5f96021d41711ae95115341eb":{"kind":"REWORK","_number":22,"created":"2019-10-08 19:51:05.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/22","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/22","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/22 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/22 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/22 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/22"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 19:50:41.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7832805c330dc4c5f96021d41711ae95115341eb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7832805c330dc4c5f96021d41711ae95115341eb"}]},"branch":"refs/heads/master"},"8a321f23cb8057e0ce307602fd190bd744896913":{"kind":"REWORK","_number":23,"created":"2019-10-08 21:17:46.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/23","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/23","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/23 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/23 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/23 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/23"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 21:17:28.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8a321f23cb8057e0ce307602fd190bd744896913"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8a321f23cb8057e0ce307602fd190bd744896913"}]},"branch":"refs/heads/master"},"098642448f9c4bf6181b483e319c0a4b907ca766":{"kind":"REWORK","_number":24,"created":"2019-10-08 23:51:08.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/24","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/24","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/24 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/24 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/24 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/24"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-08 23:35:55.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/098642448f9c4bf6181b483e319c0a4b907ca766"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/098642448f9c4bf6181b483e319c0a4b907ca766"}]},"branch":"refs/heads/master"},"afc39e78e5611fd5c4f52c65540ddb446548bd15":{"kind":"REWORK","_number":25,"created":"2019-10-09 12:02:23.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/25","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/25","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/25 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/25 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/25 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/25"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-09 12:02:05.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/afc39e78e5611fd5c4f52c65540ddb446548bd15"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/afc39e78e5611fd5c4f52c65540ddb446548bd15"}]},"branch":"refs/heads/master"},"55330121d589397c8caedcf97a1fe6c56c0b1e71":{"kind":"REWORK","_number":26,"created":"2019-10-09 13:29:53.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/26","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/26","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/26 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/26 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/26 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/26"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-09 13:29:26.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/55330121d589397c8caedcf97a1fe6c56c0b1e71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/55330121d589397c8caedcf97a1fe6c56c0b1e71"}]},"branch":"refs/heads/master"},"8a47d49f6c72a23192378da6255100610b11f2cc":{"kind":"REWORK","_number":27,"created":"2019-10-10 11:18:55.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/27","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/27","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/27 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/27 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/27 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/27"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-10 11:18:14.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8a47d49f6c72a23192378da6255100610b11f2cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8a47d49f6c72a23192378da6255100610b11f2cc"}]},"branch":"refs/heads/master"},"47d33e07a8e5b218ae7c061302246fa4ce67e3ef":{"kind":"REWORK","_number":28,"created":"2019-10-10 12:39:49.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/28","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/28","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/28 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/28 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/28 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/28"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-10 12:39:32.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/47d33e07a8e5b218ae7c061302246fa4ce67e3ef"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/47d33e07a8e5b218ae7c061302246fa4ce67e3ef"}]},"branch":"refs/heads/master"},"60c9384b9502c4a7fbd9fc44bb579592f29a67a9":{"kind":"REWORK","_number":29,"created":"2019-10-10 20:48:52.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/31/677031/29","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/29","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/29 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/29 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/29 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/29"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2019-10-10 20:48:38.000000000","tz":0},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/60c9384b9502c4a7fbd9fc44bb579592f29a67a9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/60c9384b9502c4a7fbd9fc44bb579592f29a67a9"}]},"branch":"refs/heads/master"},"db47531629dbe076cb3103bd55c4d53f7cab27bd":{"kind":"REWORK","_number":30,"created":"2019-10-10 23:28:34.000000000","uploader":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"ref":"refs/changes/31/677031/30","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/30","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/30 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/30 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/30 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/30"}}},"commit":{"parents":[{"commit":"449486f0fa44d5a1196b79eef19c1f936956afb6","subject":"Imported Translations from Zanata","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/449486f0fa44d5a1196b79eef19c1f936956afb6"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Lingxian Kong","email":"anlin.kong@gmail.com","date":"2019-10-10 23:28:21.000000000","tz":780},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/db47531629dbe076cb3103bd55c4d53f7cab27bd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/db47531629dbe076cb3103bd55c4d53f7cab27bd"}]},"branch":"refs/heads/master"},"5fcb4a07c6ac38a9033a8364ab2c52c3b83ba4c9":{"kind":"REWORK","_number":31,"created":"2019-10-11 00:00:49.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/31","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/31","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/31 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/31 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/31 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/31"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-11 00:00:30.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/5fcb4a07c6ac38a9033a8364ab2c52c3b83ba4c9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/5fcb4a07c6ac38a9033a8364ab2c52c3b83ba4c9"}]},"branch":"refs/heads/master"},"37e2340cd6d9d585401fe606655a10b74fb3bcb7":{"kind":"REWORK","_number":32,"created":"2019-10-11 02:14:25.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/32","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/32","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/32 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/32 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/32 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/32"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-11 02:14:05.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/37e2340cd6d9d585401fe606655a10b74fb3bcb7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/37e2340cd6d9d585401fe606655a10b74fb3bcb7"}]},"branch":"refs/heads/master"},"f1deb9926504b348731c6f7ee27fbda1ad0a9a8f":{"kind":"REWORK","_number":33,"created":"2019-10-11 03:33:51.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/33","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/33","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/33 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/33 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/33 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/33"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-11 03:33:23.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f1deb9926504b348731c6f7ee27fbda1ad0a9a8f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f1deb9926504b348731c6f7ee27fbda1ad0a9a8f"}]},"branch":"refs/heads/master"},"478558cad9915b54210f6c2a53d1d12fbd291291":{"kind":"REWORK","_number":34,"created":"2019-10-23 13:08:46.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/34","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/34","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/34 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/34 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/34 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/34"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-23 13:08:26.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/478558cad9915b54210f6c2a53d1d12fbd291291"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/478558cad9915b54210f6c2a53d1d12fbd291291"}]},"branch":"refs/heads/master"},"f713d60df779487801f00a4460862a22d4588574":{"kind":"REWORK","_number":35,"created":"2019-10-23 14:42:41.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/35","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/35","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/35 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/35 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/35 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/35"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-23 14:42:19.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f713d60df779487801f00a4460862a22d4588574"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/f713d60df779487801f00a4460862a22d4588574"}]},"branch":"refs/heads/master"},"78c0ece21a393a65496768c9b233227fbba30684":{"kind":"REWORK","_number":36,"created":"2019-10-23 17:21:29.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/36","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/36","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/36 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/36 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/36 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/36"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-23 17:21:10.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/78c0ece21a393a65496768c9b233227fbba30684"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/78c0ece21a393a65496768c9b233227fbba30684"}]},"branch":"refs/heads/master"},"7bff46921e6a5f9c8ecae97aa3756d8c570f23c8":{"kind":"REWORK","_number":37,"created":"2019-10-23 19:02:30.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/31/677031/37","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/31/677031/37","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/37 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/37 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/37 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/31/677031/37"}}},"commit":{"parents":[{"commit":"b6896c2400c75d1aa736f45ff0e9b8478efc902e","subject":"Fixing broken links","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/b6896c2400c75d1aa736f45ff0e9b8478efc902e"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-08-15 16:58:29.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2019-10-23 19:01:55.000000000","tz":-180},"subject":"Create dynamic pollster feature","message":"Create dynamic pollster feature\n\nThe dynamic pollster feature allows system administrators to\ncreate/update pollsters on the fly (without changing code). The system\nreads YAML configures that are found in ``pollsters_definitions_dirs``,\nwhich has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file\nin the dynamic pollster feature can use the following attributes to\ndefine a dynamic pollster:\n\n* ``name`` -- mandatory field. It specifies the name/key of the dynamic\npollster. For instance, a pollster for magnum can use the name\n``dynamic.magnum.cluster``;\n* ``sample_type``: mandatory field; it defines the sample type. It must\nbe one of the values: ``gauge``, ``delta``, ``cumulative``;\n* ``unit``: mandatory field; defines the unit of the metric that is\nbeing collected. For magnum, for instance, one can use ``cluster`` as\nthe unit or some other meaningful String value;\n* ``value_attribute``: mandatory attribute; defines the attribute in the\nJSON response from the URL of the component being polled. In our magnum\nexample, we can use ``status`` as the value attribute;\n* ``endpoint_type``: mandatory field; defines the endpoint type that is\nused to discover the base URL of the component to be monitored; for\nmagnum, one can use ``container-infra``. Other values are accepted such\nas ``volume`` for cinder endpoints, ``object-store`` for swift, and so\non;\n* ``url_path``: mandatory attribute. It defines the path of the request\nthat we execute on the endpoint to gather data. For example, to gather\ndata from magnum, one can use ``v1/clusters/detail``;\n* ``metadata_fields``: optional field. It is a list of all fields that\nthe response of the request executed with ``url_path`` that we want to\nretrieve. As an example, for magnum, one can use the following values:\n```\n  metadata_fields:\n    - \"labels\"\n    - \"updated_at\"\n    - \"keypair\"\n    - \"master_flavor_id\"\n    - \"api_address\"\n    - \"master_addresses\"\n    - \"node_count\"\n    - \"docker_volume_size\"\n    - \"master_count\"\n    - \"node_addresses\"\n    - \"status_reason\"\n    - \"coe_version\"\n    - \"cluster_template_id\"\n    - \"name\"\n    - \"stack_id\"\n    - \"created_at\"\n    - \"discovery_url\"\n    - \"container_version\"\n```\n* ``skip_sample_values``: optional field. It defines the values that\nmight come in the ``value_attribute`` that we want to ignore. For\nmagnun, one could for instance, ignore some of the status it has for\nclusters. Therefore, data is not gathered for clusters in the defined\nstatus.\n```\n  skip_sample_values:\n    - \"CREATE_FAILED\"\n    - \"DELETE_FAILED\"\n```\n* ``value_mapping``: optional attribute. It defines a mapping for the\nvalues that the dynamic pollster is handling. This is the actual value\nthat is sent to Gnocchi or other backends. If there is no mapping\nspecified, we will use the raw value that is obtained with the use of\n``value_attribute``. An example for magnum, one can use:\n```\n  value_mapping:\n    CREATE_IN_PROGRESS: \"0\"\n    CREATE_FAILED: \"1\"\n    CREATE_COMPLETE: \"2\"\n    UPDATE_IN_PROGRESS: \"3\"\n    UPDATE_FAILED: \"4\"\n    UPDATE_COMPLETE: \"5\"\n    DELETE_IN_PROGRESS: \"6\"\n    DELETE_FAILED: \"7\"\n    DELETE_COMPLETE: \"8\"\n    RESUME_COMPLETE: \"9\"\n    RESUME_FAILED: \"10\"\n    RESTORE_COMPLETE: \"11\"\n    ROLLBACK_IN_PROGRESS: \"12\"\n    ROLLBACK_FAILED: \"13\"\n    ROLLBACK_COMPLETE: \"14\"\n    SNAPSHOT_COMPLETE: \"15\"\n    CHECK_COMPLETE: \"16\"\n    ADOPT_COMPLETE: \"17\"\n```\n* ``default_value_mapping``: optional parameter. The default value for\nthe value mapping in case the variable value receives data that is not\nmapped to something in the ``value_mapping`` configuration. This\nattribute is only used when ``value_mapping`` is defined. Moreover, it\nhas a default of ``-1``.\n\nChange-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787\nSigned-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7bff46921e6a5f9c8ecae97aa3756d8c570f23c8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/7bff46921e6a5f9c8ecae97aa3756d8c570f23c8"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
