Hi Client,

> Don't do it? Evolve v1 as needed, bud I'd recommend keeping whatever users 
> you currently have functional for as long as possible. Work with the API-WG 
> to make sure what you're doing is driving toward an API that fits inside 
> their best practices.
Thanks for your advice, surely I will remember it.

> We should write this down somewhere if we haven't already but these are the 
> basic principles that will let live upgrades happen in your
> database:
>
> * Add columns with default values or make them nullable
> * Drop columns and tables only after all releases that reference them are EOL.
> * Never rename anything. Create new, migrate data, drop old after EOL.
> * Make new code able to detect a partial migration and fall back to old
>  behavior.
I got it, but I just consider one thing about deleting(altering) table/column. 
Could you please refer this mailing-list [1] for more detail.

[1] http://lists.openstack.org/pipermail/openstack-dev/2017-March/113073.html 

-----Original Message-----
From: Clint Byrum [mailto:cl...@fewbar.com] 
Sent: Wednesday, March 01, 2017 1:57 AM
To: openstack-dev
Subject: Re: [openstack-dev] [barbican] Rolling upgrade in Barbican project

Excerpts from na...@vn.fujitsu.com's message of 2017-02-28 09:52:13 +0000:
> Hi everyone,
> 
> Recently, there are many emails to discuss a topic that "Why are projects 
> trying to avoid Barbican, still?" [0]. That is very an interesting topic. Now 
> I would like to make a new topic related to Rolling upgrade. I am trying to 
> find  information about the strategy to support rolling-upgrade for Barbican 
> project. Unfortunately, there is not any results, if any, could you please 
> update it for me. 
> 
> In my point of view, in order to support this feature, there will be three 
> impacts which need to solve:
> 
> 1. API versioning:
> 
> Maybe, Barbican will have version two [1] so I think we should have a plan to 
> still support version 1 on version 2. What do you about this point?
> 

Don't do it? Evolve v1 as needed, bud I'd recommend keeping whatever users you 
currently have functional for as long as possible. Work with the API-WG to make 
sure what you're doing is driving toward an API that fits inside their best 
practices.

> 2. Database
> 
> - For OVO (Oslo version object) [2], I am wondering we should use OVO for 
> this project. In my option, I am afraid that OVO is overkill for this project.
> - For DB upgrading, currently there are some files [3-4] to drop and alter 
> column. This really should not have because there is not still have a 
> solution in case of delete or alter DB. That why there is a rule that don't 
> allow somebody to delete/alter DB in Nova and Neutron :) Do you think we 
> should prepare for this?
> 

We should write this down somewhere if we haven't already but these are the 
basic principles that will let live upgrades happen in your
database:

* Add columns with default values or make them nullable
* Drop columns and tables only after all releases that reference them are EOL.
* Never rename anything. Create new, migrate data, drop old after EOL.
* Make new code able to detect a partial migration and fall back to old
  behavior.
  

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to