)]}'
{"specs/juno/grenade-resource-survivability.rst":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e0345cd505f22d8f91635265d9fe9c91f88d4365","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Grenade Resource Survivability"},{"line_number":10,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://blueprints.launchpad.net/ceilometer/+spec/grenade-upgrade-testing"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Integrated projects are required to participate in the `Grenade`_ upgrade"},{"line_number":15,"context_line":"testing harness. In addition to testing the upgrades themselves Grenade has"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_a8110d55","line":12,"updated":"2014-06-17 15:49:19.000000000","message":"This is the old phase1 BP that landed in juno-1. Shouldn\u0027t this reference be updated?","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"fe4954b869732b6149bdba33769e96408ee93d18","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Grenade Resource Survivability"},{"line_number":10,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://blueprints.launchpad.net/ceilometer/+spec/grenade-upgrade-testing"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Integrated projects are required to participate in the `Grenade`_ upgrade"},{"line_number":15,"context_line":"testing harness. In addition to testing the upgrades themselves Grenade has"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_6b11bf5c","line":12,"in_reply_to":"1ae5cdf2_a8110d55","updated":"2014-06-17 16:30:53.000000000","message":"Yes, that\u0027s a combination of a pasto and me not quite understanding the one to one relationship between blueprint and spec. Fixed in next patchset.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e0345cd505f22d8f91635265d9fe9c91f88d4365","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_c8d65953","line":50,"updated":"2014-06-17 15:49:19.000000000","message":"\"continuity of metrics\" \u003d\u003d \"continues validity of metric queries that span the upgrade period\"?","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"fe4954b869732b6149bdba33769e96408ee93d18","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_cebd8105","line":50,"in_reply_to":"1ae5cdf2_c8d65953","updated":"2014-06-17 16:30:53.000000000","message":"The question is around whether we need to know if metric A after the upgrade makes sense when compared with the value before the upgrade. For example if we get instance uptime before the upgrade do we want to test to make sure the second uptime is in the future of the first (assuming instances are being kept alive during upgrade, if that\u0027s not true you can extrapolate...)\n\nIf all we need to know is that metric A can be \"got\" before and after the upgrade then no worries, no state handling (see below) is required.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"81f28823bb4998ac9cb47aec1fe45ebcdda1b89e","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_d8f0c368","line":50,"in_reply_to":"1ae5cdf2_cebd8105","updated":"2014-06-18 06:44:57.000000000","message":"\u003e The question is around whether we need to know if metric A after the upgrade makes sense when compared with the value before the upgrade\n\nYes we do.\n\nThat\u0027s what I was getting at with the notion of submitting ceilo-api queries where the time range of the query spans the old the and new metric datapoints, and ensuring the response was sane.\n\n\u003e assuming instances are being kept alive during upgrade, if that\u0027s not true you can extrapolate\n\nYes they do.\n\nLive resources survive across upgrades, but we accept downtime in the cloud control plane while the upgrade is in progress (that\u0027s just the current state of play with openstack upgrades in general).\n\n\u003e no state handling (see below)\n\nIs there a missing comment below that was intended to delve further into the state handling idea?\n\nOr, did you mean see the the *spec text* below?","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"983f482d238bf496e6bb0f60175e8b75375e71ca","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_e94e7237","line":50,"in_reply_to":"1ae5cdf2_d8f0c368","updated":"2014-06-19 12:30:22.000000000","message":"\u003e submitting ceilo-api queries where the time range of the query spans the old the and new metric datapoints, and ensuring the response was sane.\n\nDoes that mean we need to know either what time it was when the tests started, or at least the amount of time that has passed? That\u0027s the \"state handling\" that I meant. The \"below\" part was \"Explore management of dynamic state pre- and post- upgrade, if necessary.\" from work items.\n\nAs the various timeout problems in tempest make clear, we cannot reliably predict a time window.\n\nIt may be that my lack of experience with this stuff is making me concerned about something that won\u0027t matter once writing the code is started, but it seems the spec process is exactly for laying out these kinds of concerns and making sure something isn\u0027t forgotten.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"bee42df2137d302306a356162fa01eda151dd661","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_646ece65","line":50,"in_reply_to":"1ae5cdf2_e94e7237","updated":"2014-06-20 09:28:58.000000000","message":"I\u0027m not sure that we need to be *super*-exact with the timespans beyond some simple bracketing logic, e.g. along the lines of:\n\n* the file timestamp on the ceilometer database dump being an upper bound on when the old cloud was shutdown\n* the process timestamp on the last ceilometer service to be launched would be a lower bound on when the upgraded cloud could be be considered fully operational\n\nWe may then have to offset the query start-time by several polling periods before that upper bound on the old, similarly offset the query end-time by several polling periods after that lower bound on the new.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e0345cd505f22d8f91635265d9fe9c91f88d4365","unresolved":false,"context_lines":[{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_48d2495c","line":51,"updated":"2014-06-17 15:49:19.000000000","message":"Can you expand on the \"state handling\" you\u0027ve in mind here?","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"fe4954b869732b6149bdba33769e96408ee93d18","unresolved":false,"context_lines":[{"line_number":48,"context_line":"It is important to note that at this time javelin2 does not maintain dynamic"},{"line_number":49,"context_line":"state between runs. The ``resources.yaml`` file is the authority for what is"},{"line_number":50,"context_line":"expected to exist. If it is important to validate continuity of metrics (beyond"},{"line_number":51,"context_line":"mere existence of metrics) some form of state handling will need to be devised."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_0eb84910","line":51,"in_reply_to":"1ae5cdf2_48d2495c","updated":"2014-06-17 16:30:53.000000000","message":"See above.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e0345cd505f22d8f91635265d9fe9c91f88d4365","unresolved":false,"context_lines":[{"line_number":59,"context_line":"to the resource model in use in javelin2. If this is the case then it might"},{"line_number":60,"context_line":"make to architect some other kind of before and after upgrade test"},{"line_number":61,"context_line":"specifically for Ceilometer. Doing so would be a shame, though. Better to make"},{"line_number":62,"context_line":"javelin2 more flexible."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Data model impact"},{"line_number":65,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_887e1169","line":62,"updated":"2014-06-17 15:49:19.000000000","message":"Agreed!","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"e0345cd505f22d8f91635265d9fe9c91f88d4365","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Determine form for javelin2 resources corresponding with Ceilometer entities."},{"line_number":132,"context_line":"  Add methods for creating and checking these to ``tempest.cmd.javelin``."},{"line_number":133,"context_line":"  "},{"line_number":134,"context_line":"* Add representations of Ceilometer resources to ``resources.yaml``. These can"},{"line_number":135,"context_line":"  (and should?) depend on the servers created elsewhere in the same file."},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_28733db5","line":133,"updated":"2014-06-17 15:49:19.000000000","message":"Non-blocking nitpick: trailing white-space","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"fe4954b869732b6149bdba33769e96408ee93d18","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Determine form for javelin2 resources corresponding with Ceilometer entities."},{"line_number":132,"context_line":"  Add methods for creating and checking these to ``tempest.cmd.javelin``."},{"line_number":133,"context_line":"  "},{"line_number":134,"context_line":"* Add representations of Ceilometer resources to ``resources.yaml``. These can"},{"line_number":135,"context_line":"  (and should?) depend on the servers created elsewhere in the same file."},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_8e28d934","line":133,"in_reply_to":"1ae5cdf2_28733db5","updated":"2014-06-17 16:30:53.000000000","message":"Feh, somewhere in my vimrc is some bad mojo. I need to start afresh. Fixed in next.","commit_id":"2d464c731517953e54316c9eafa505cfec792606"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"094366b711c02782b9fb1d5bf1e7f8d9a29bf1dd","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The main check that will be facillitated by javelin2 is ensuring the sanity of"},{"line_number":49,"context_line":"api queries with a time range that spans the entire window of time within which"},{"line_number":50,"context_line":"the Grenade test runs (e.g. -+12 hours from now)."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. _javelin code: https://github.com/openstack/tempest/blob/master/tempest/cmd/javelin.py"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_a42ff6f4","line":50,"updated":"2014-06-20 09:34:00.000000000","message":"Some simple ideas on timespan bracketing to consider in:\n\n  https://review.openstack.org/#/c/100575/1/specs/juno/grenade-resource-survivability.rst\n\nthough the even simpler minus 12 hours could work too (not so sure about the plus 12 hours though, seem unnecessary to consider future timestamps, unless clock-drift is a concern?)","commit_id":"47bf9c6998c26c7817458e596e784318e2e562b2"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"094366b711c02782b9fb1d5bf1e7f8d9a29bf1dd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"It may be that Ceilometer queries do not map well to the resource model in use"},{"line_number":58,"context_line":"in javelin2. If this is the case then it might make sense to architect some"},{"line_number":59,"context_line":"other kind of before and after upgrade test specifically for Ceilometer. Doing"},{"line_number":60,"context_line":"so would be a shame, though. Better to make javelin2 more flexible."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_c99c1b11","line":60,"updated":"2014-06-20 09:34:00.000000000","message":"Agreed.\n\nI\u0027d suspect that the resources used will be of the common-or-garden variety (simple instances, volumes, images and the likes) which Ceilometer is capable of metering and handling queries for.","commit_id":"47bf9c6998c26c7817458e596e784318e2e562b2"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"268e84383689ff2a52d8fa4ef5ab7c6de8a2770e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the `javelin code`_ and adding Ceilometer specific entries to the resource"},{"line_number":46,"context_line":"definitions."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The main check that will be facillitated by javelin2 is ensuring the sanity of"},{"line_number":49,"context_line":"api queries with a time range that spans the entire window of time within which"},{"line_number":50,"context_line":"the Grenade test runs (e.g. -+12 hours from now)."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_93b6703d","line":48,"updated":"2014-06-23 22:20:22.000000000","message":"Nitpick (only fix if uploading a new patch set):\n\n  s/facillitated/facilitated/","commit_id":"af508f31ef1d066845dc5405c11c859c112b076f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"268e84383689ff2a52d8fa4ef5ab7c6de8a2770e","unresolved":false,"context_lines":[{"line_number":158,"context_line":"Testing"},{"line_number":159,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Est quod est."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Documentation Impact"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_b3452c45","line":161,"updated":"2014-06-23 22:20:22.000000000","message":"... ergo verum est. ;)","commit_id":"af508f31ef1d066845dc5405c11c859c112b076f"}]}
