)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"18f52deb103953d5373190a9d979b96aec8c73df","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The assert:can-live-upgrade tag defines a standard minimum for"},{"line_number":10,"context_line":"upgrade capabilities in OpenStack services. Project teams may"},{"line_number":11,"context_line":"assert that they follow at least this policy."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is an essential bit of information to communicate to our users,"},{"line_number":14,"context_line":"and a key factor in assessing a given project\u0027s maturity."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a26ad4f_40b448f1","line":11,"updated":"2015-10-28 07:02:43.000000000","message":"This text probably needs to be tweaked, as we\u0027re no longer talking about minimums in this patch.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"}],"reference/tags/can-live-upgrade.rst":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"8b7a46337797b8622867134fa400012f91240f0c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_77790cfc","line":30,"updated":"2015-10-28 04:57:57.000000000","message":"+1 - this was a blind spot for me - based on the discussion with Dan, the Neutron project needs to work towards having partial upgrade job in the OpenStack CI, for the reference implementations (ML2+OVS and ML2+LB) so we can verify that live upgrades are possible and are successful.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"3741f7f37e088035e1628869b4a4ac7853c974f2","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_67f3a374","line":30,"updated":"2015-10-28 01:26:00.000000000","message":"I think the idea of this tag is fantastic.  Just one thought ...\n\nI\u0027m not sure how widely this issue applies, but at least for Neutron, whether or not this works is going to be specific to which backend(s) you\u0027re using.  I think it would be important to users to know exactly which configuration(s) support this.  How should we communicate this?\n\nOne idea would be to re-introduce the idea of having additional metadata associated with a tag.  We used to do that, but removed the concept when it wasn\u0027t being used anymore.  In this case, the metadata could be a project-specific list of configurations/plugins/whatever that meet this criteria.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"35f10ba9f20cb9a1d86639935a0cc527b200ddf9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_78db3e1c","line":30,"in_reply_to":"1a26ad4f_18cfaab1","updated":"2015-10-28 03:16:21.000000000","message":"Right, I think asserting this for the reference implementation (ML2+OVS or ML2+LB) makes sense, but seems like we\u0027ll have to define a way to communicate that.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"20b725314124985cda899de5bc9f6705dc1b7761","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_18cfaab1","line":30,"in_reply_to":"1a26ad4f_67f3a374","updated":"2015-10-28 03:03:00.000000000","message":"Yeah, that\u0027s a fair point and may apply to nova as well with hypervisor drivers. However, I think that a lot of the neutron concern over that ability stems from design decisions in Neutron that make it hard to assert that this works.\n\nOne option would be to say that neutron may never be able to really assert this tag. Another would be to reword this to apply to some specific reference implementation and/or an implementation that represents the majority of deployed configurations. I think that for Neutron, asserting that this tag is true for OVS and Linux bridge (which are the ones we\u0027re going to test in the gate) would be reasonable.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"5388fd4f6fb5b23beb021b7d346a504394f7c220","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_57bbb072","line":30,"in_reply_to":"1a26ad4f_77790cfc","updated":"2015-10-28 05:09:13.000000000","message":"Yeah, defining this as being based on the reference implementation sounds good to me.  Thanks","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a7852ea5032361fb1f195183fae7d371715e0564","unresolved":false,"context_lines":[{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a26ad4f_17a1b894","line":30,"in_reply_to":"1a26ad4f_78db3e1c","updated":"2015-10-28 04:52:20.000000000","message":"Yep, I was just talking to Sean Collins about this and I think applying this to the reference implementations is the way to go.\n\nSo, can we define in this tag that the asserting project is doing so based on its reference implementations without needing to attach metadata in the tag itself? For nova, I would say this is libvirt+kvm, for neutron it would be the two you listed above. I think neutron has already adopted the reference implementations formally, and so getting nova to do that for libvirt would probably not be hard.\n\nIf we need to attach metadata, then I guess that\u0027s fine, it would just be nice to not block this on that procedural discussion. But, whatever works of course.","commit_id":"0b3c222cc79b3968ce963aae5bb0eb7e7cb86a5c"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"a88745564a735f2f8456a4bed7b45457c845353b","unresolved":false,"context_lines":[{"line_number":7,"context_line":".. _`tag-can-live-upgrade`:"},{"line_number":8,"context_line":""},{"line_number":9,"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"},{"line_number":10,"context_line":"assert: can-live-upgrade"},{"line_number":11,"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"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This tag is part of the assert category of tags, which are assertions"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_392f30a3","line":10,"updated":"2015-11-03 13:38:51.000000000","message":"extraneous space","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"f5f7c5a4a294401e83c60a50216e95a426fcd50b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"features that the project supports."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The \"assert:can-live-upgrade\" tag asserts that the project will"},{"line_number":19,"context_line":"support minimal live (online) upgrade capabilities."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_ead13358","line":19,"updated":"2015-11-02 14:30:52.000000000","message":"What does \"minimal\" mean in this context?\n\ne.g. that downtime on the API service tier is acceptable (say, while DB migrations are in flight) but that individual services can be upgraded in non-simultaneously?","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"62a46dc3e274c016bc912ef57c265c68f427b063","unresolved":false,"context_lines":[{"line_number":16,"context_line":"features that the project supports."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The \"assert:can-live-upgrade\" tag asserts that the project will"},{"line_number":19,"context_line":"support minimal live (online) upgrade capabilities."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_ff3d668f","line":19,"in_reply_to":"1a26ad4f_ead13358","updated":"2015-11-02 19:33:25.000000000","message":"I meant \"I consider minimal support to be the requirements below.\" Maybe I should say something to that effect here.","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"24d3975a182d183b1a152e334cfdeb6289dc44b9","unresolved":false,"context_lines":[{"line_number":16,"context_line":"features that the project supports."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The \"assert:can-live-upgrade\" tag asserts that the project will"},{"line_number":19,"context_line":"support minimal live (online) upgrade capabilities."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_5f06d51d","line":19,"in_reply_to":"1a26ad4f_ff3d668f","updated":"2015-11-02 22:20:13.000000000","message":"A-ha, got it. Yeah, fine to leave that implicit I think.","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"a88745564a735f2f8456a4bed7b45457c845353b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"the proposed tag to at least some subset of the current project list. This"},{"line_number":26,"context_line":"will serve as an example of how the tag should be applied in the real world."},{"line_number":27,"context_line":"You may also submit (as a subsequent change) the corresponding governance"},{"line_number":28,"context_line":"change to immediately apply the proposed tag to projects."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":".. tagged-projects:: can-live-upgrade"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_790cd842","line":28,"updated":"2015-11-03 13:38:51.000000000","message":"That\u0027s boilerplate and should be removed","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"change_message_id":"a88745564a735f2f8456a4bed7b45457c845353b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"process to avoid significant downtime."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Requirements"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* The project has already succesfully asserted the can-upgrade"},{"line_number":45,"context_line":"  tag. All the requirements for that tag are requirements for this"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa80f949_7c3a86cf","line":42,"updated":"2015-11-03 13:38:51.000000000","message":"Should we limit that tag to type:service projects ? Or does it make sense for libraries too ?","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"f5f7c5a4a294401e83c60a50216e95a426fcd50b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Requirements"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* The project has already succesfully asserted the can-upgrade"},{"line_number":45,"context_line":"  tag. All the requirements for that tag are requirements for this"},{"line_number":46,"context_line":"  tag, and assertion of that tag is a requirement to assert this tag."},{"line_number":47,"context_line":"* The project has a defined plan that allows operators to roll out new"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_8a12ff55","line":44,"updated":"2015-11-02 14:30:52.000000000","message":"typo: succes*s*fully","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"f5f7c5a4a294401e83c60a50216e95a426fcd50b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  tag. All the requirements for that tag are requirements for this"},{"line_number":46,"context_line":"  tag, and assertion of that tag is a requirement to assert this tag."},{"line_number":47,"context_line":"* The project has a defined plan that allows operators to roll out new"},{"line_number":48,"context_line":"  code to subsets of services, eliminating the need to restart all"},{"line_number":49,"context_line":"  services on new code simultaneously. This plan should clearly call"},{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_ca11d705","line":48,"updated":"2015-11-02 14:30:52.000000000","message":"What is a subset of services in this context?\n\nIs it a subset of all the services of a single type? (e.g. a subset of the deployed nova-conductors)\n\nOr a subset of the service types provided by a particular project? (e.g. all the nova-conductors, but not the nova-computes)","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"62a46dc3e274c016bc912ef57c265c68f427b063","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  tag. All the requirements for that tag are requirements for this"},{"line_number":46,"context_line":"  tag, and assertion of that tag is a requirement to assert this tag."},{"line_number":47,"context_line":"* The project has a defined plan that allows operators to roll out new"},{"line_number":48,"context_line":"  code to subsets of services, eliminating the need to restart all"},{"line_number":49,"context_line":"  services on new code simultaneously. This plan should clearly call"},{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_df5f4ae3","line":48,"in_reply_to":"1a26ad4f_ca11d705","updated":"2015-11-02 19:33:25.000000000","message":"I meant the latter, but I\u0027m not sure we necessarily need to preclude the former. Nova can\u0027t do the former today, but we have that on the horizon. We could either (a) leave this as it is (a little ambiguous) or be more specific but plan to have another tag for the (much harder) former case. Either is fine with me.","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"24d3975a182d183b1a152e334cfdeb6289dc44b9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  tag. All the requirements for that tag are requirements for this"},{"line_number":46,"context_line":"  tag, and assertion of that tag is a requirement to assert this tag."},{"line_number":47,"context_line":"* The project has a defined plan that allows operators to roll out new"},{"line_number":48,"context_line":"  code to subsets of services, eliminating the need to restart all"},{"line_number":49,"context_line":"  services on new code simultaneously. This plan should clearly call"},{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_5c1fc36b","line":48,"in_reply_to":"1a26ad4f_df5f4ae3","updated":"2015-11-02 22:20:13.000000000","message":"Cool, got it. Personally I prefer the specific wording, but then again maybe having 3 separate upgrade assertion tags would be overkill.","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"f5f7c5a4a294401e83c60a50216e95a426fcd50b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."},{"line_number":52,"context_line":"* Full stack integration testing with services arranged in a"},{"line_number":53,"context_line":"  mid-upgrade manner is performed on every proposed commit to validate"},{"line_number":54,"context_line":"  that mixed-version services work together properly. This testing"},{"line_number":55,"context_line":"  must be performed on configurations that the project considers to be"},{"line_number":56,"context_line":"  its reference implementations."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_cab6b7f8","line":53,"updated":"2015-11-02 14:30:52.000000000","message":"Is a single mid-upgrade testing scenario sufficient? e.g.\n\n* half of the nova-conductors upgraded, but none of the nova-computes\n\nversus say:\n\n* all of the nova-conductors upgraded, and half of the nova-conputes\n\n... and many other possible permutations.","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"24d3975a182d183b1a152e334cfdeb6289dc44b9","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."},{"line_number":52,"context_line":"* Full stack integration testing with services arranged in a"},{"line_number":53,"context_line":"  mid-upgrade manner is performed on every proposed commit to validate"},{"line_number":54,"context_line":"  that mixed-version services work together properly. This testing"},{"line_number":55,"context_line":"  must be performed on configurations that the project considers to be"},{"line_number":56,"context_line":"  its reference implementations."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_1f0cdd39","line":53,"in_reply_to":"1a26ad4f_1fab8276","updated":"2015-11-02 22:20:13.000000000","message":"Agreed on not calling out all the project specific cases. But yes, being more specific about a representative upgrade arrangement would be useful to ground this (at least to my uneducated eye).","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"62a46dc3e274c016bc912ef57c265c68f427b063","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  out the supported configuration(s) that are expected to work, unless"},{"line_number":51,"context_line":"  there are no such caveats."},{"line_number":52,"context_line":"* Full stack integration testing with services arranged in a"},{"line_number":53,"context_line":"  mid-upgrade manner is performed on every proposed commit to validate"},{"line_number":54,"context_line":"  that mixed-version services work together properly. This testing"},{"line_number":55,"context_line":"  must be performed on configurations that the project considers to be"},{"line_number":56,"context_line":"  its reference implementations."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a26ad4f_1fab8276","line":53,"in_reply_to":"1a26ad4f_cab6b7f8","updated":"2015-11-02 19:33:25.000000000","message":"Since this is \"minimal\" I was shooting for any amount of mixed version services coexisting. Nova has several such meaningful configurations today, and may have many more (i.e. partial nova-conductor upgrade) in the near future. I don\u0027t think we\u0027re likely to be able to test *all* of these just because of resources.\n\nI said \"reference configurations\" here because the clearly-supported case for something like nova is \"all upgraded conductors, one or more un-upgraded computes, running libvirt\". Would it help to be more specific about a representative upgrade arrangement that hits the most common cases/breakpoints where a real deployment would stop?\n\nFor nova, that is the above. For neutron, I expect that first step is \"upgraded neutron with a compute still running the old agent\" but I certainly don\u0027t want to call out the project-specific cases here...","commit_id":"74aa5beaec8b2777954cfb484afdaf5b2a3ac5b9"}],"reference/tags/can-partial-upgrade.rst":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"458a3110f6476165f7900339373dd80385bf5be7","unresolved":false,"context_lines":[{"line_number":68,"context_line":"The project asserting this tag should do so when the above"},{"line_number":69,"context_line":"requirements are met for the reference implementation(s) or"},{"line_number":70,"context_line":"configuration(s) officially adopted by that project."},{"line_number":71,"context_line":"not"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_8354a154","line":71,"updated":"2015-11-03 15:22:10.000000000","message":"trailing \"not\" here","commit_id":"a6602f258293d85a452a06919a0167071dff3e5b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"92e94268e6175d594fb9e7ca07ff53c435ea504d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"The project asserting this tag should do so when the above"},{"line_number":69,"context_line":"requirements are met for the reference implementation(s) or"},{"line_number":70,"context_line":"configuration(s) officially adopted by that project."},{"line_number":71,"context_line":"not"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_be7bfe7a","line":71,"in_reply_to":"fa80f949_8354a154","updated":"2015-11-03 15:27:34.000000000","message":"Oops :)","commit_id":"a6602f258293d85a452a06919a0167071dff3e5b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"370c48ce52f5fa28b8cfe60e03c0fc9bccbe31cd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  Unported License."},{"line_number":5,"context_line":"  http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":".. _`tag-can-partial-upgrade`:"},{"line_number":8,"context_line":""},{"line_number":9,"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"},{"line_number":10,"context_line":"assert:can-partial-upgrade"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_2087dd10","line":7,"updated":"2015-11-03 19:36:31.000000000","message":"Missing \"assert\" in there...","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d87c1c6d3821757bd523545af0bc476404479d18","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  Unported License."},{"line_number":5,"context_line":"  http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":".. _`tag-can-partial-upgrade`:"},{"line_number":8,"context_line":""},{"line_number":9,"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"},{"line_number":10,"context_line":"assert:can-partial-upgrade"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_5ba696c2","line":7,"in_reply_to":"fa80f949_2087dd10","updated":"2015-11-03 19:49:10.000000000","message":"Done","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"370c48ce52f5fa28b8cfe60e03c0fc9bccbe31cd","unresolved":false,"context_lines":[{"line_number":16,"context_line":"features that the project supports."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The \"assert:can-partial-upgrade\" tag asserts that the project will"},{"line_number":19,"context_line":"support minimal online upgrade capabilities."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_804ec9bf","line":19,"updated":"2015-11-03 19:36:31.000000000","message":"OK, so you have used \"live upgrade\" in the commit message, then \"partial-upgrade\", and now here the term \"online upgrade\". I think we should stick with just one term here, and I actually don\u0027t believe live, online, or partial is the term to use :)\n\nI don\u0027t like \"partial\" because it implies something is less than a non-partial upgrade. I know what you are saying here, of course, but the connotation is unavoidable I\u0027m afraid.\n\nI don\u0027t like \"online\" used in this context because there are connotations and associations with online database schema migrations, and that\u0027s actually *not* what you are describing in this tag.\n\nI don\u0027t like \"live\" used in this context because it implies no (or next to no) downtime which is also not what you are describing here.\n\nI think the term \"rolling upgrade\" is the most contextually relevant term to use here. You are describing the ability of the software to progressively be upgraded in a controlled, staggered fashion. You are not saying it is has no downtime (live and online) and you are not implying that this upgrade tag is somehow less worthy or useful than the assert:can-upgrade (partial).\n\nSo perhaps the tag should be called assert:supports-rolling-upgrade?","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d87c1c6d3821757bd523545af0bc476404479d18","unresolved":false,"context_lines":[{"line_number":16,"context_line":"features that the project supports."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The \"assert:can-partial-upgrade\" tag asserts that the project will"},{"line_number":19,"context_line":"support minimal online upgrade capabilities."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_fb818afc","line":19,"in_reply_to":"fa80f949_804ec9bf","updated":"2015-11-03 19:49:10.000000000","message":"I\u0027m cool with rolling-upgrade for this case, yeah.","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"370c48ce52f5fa28b8cfe60e03c0fc9bccbe31cd","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. tagged-projects:: can-partial-upgrade"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_e079d530","line":24,"updated":"2015-11-03 19:36:31.000000000","message":"Missing \"assert\" in there...","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d87c1c6d3821757bd523545af0bc476404479d18","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Application to current projects"},{"line_number":22,"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\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":".. tagged-projects:: can-partial-upgrade"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Rationale"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_1b87ae10","line":24,"in_reply_to":"fa80f949_e079d530","updated":"2015-11-03 19:49:10.000000000","message":"Done","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"370c48ce52f5fa28b8cfe60e03c0fc9bccbe31cd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* The project has already successfully asserted the can-upgrade"},{"line_number":40,"context_line":"  tag. All the requirements for that tag are requirements for this"},{"line_number":41,"context_line":"  tag, and assertion of that tag is a requirement to assert this tag."},{"line_number":42,"context_line":"* The project has a defined plan that allows operators to roll out new"},{"line_number":43,"context_line":"  code to subsets of services, eliminating the need to restart all"},{"line_number":44,"context_line":"  services on new code simultaneously. This plan should clearly call"},{"line_number":45,"context_line":"  out the supported configuration(s) that are expected to work, unless"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_e07475d0","line":42,"updated":"2015-11-03 19:36:31.000000000","message":"The use of the phrase \"roll out\" here confirms my opinion above that \"assert:supports-rolling-upgrade\" is the best term here.","commit_id":"dcc3072ebc6f99d062c9c4337c4ffa8156b0c606"}]}
