[openstack-dev] [Heat][Oslo] Versioned objects compatibility mode

Davanum Srinivas davanum at gmail.com
Mon Jun 22 11:38:24 UTC 2015


At the moment, We have reload config files in place:
https://github.com/openstack/oslo.service/blob/master/oslo_service/service.py#L487

there are patches against Nova and Neutron where we are looking at how
this works and what else we can do.

-- dims


On Mon, Jun 22, 2015 at 7:21 AM, Sergey Kraynev <skraynev at mirantis.com> wrote:
> Davanum,
>
> Can we also use SIGHUP signal tool instead of for these restarts?
>
> Regards,
> Sergey.
>
> On 22 June 2015 at 13:12, Davanum Srinivas <davanum at gmail.com> wrote:
>>
>> Michał,
>>
>> we are adding that reread config to oslo.service, there's a test
>> version on pypi 0.1.0 (API not yet stable) that you can try and see if
>> it works for you.
>>
>> thanks,
>> dims
>>
>> On Mon, Jun 22, 2015 at 5:40 AM, Jastrzebski, Michal
>> <michal.jastrzebski at intel.com> wrote:
>> > Hello,
>> >
>> > I wanted to start discussion about versioned objects backporting for
>> > conductor-less projects.
>> > In Vancouver we discussed compatibility mode, which works like that:
>> >
>> > 1. We define one version for every object we use, this means adding base
>> > object, for example:
>> >
>> > Class HeatObject:
>> >         VERSION=1.5
>> >
>> > All objects inherit from this one, each time we change it, we bump up
>> > this variable.
>> >
>> > 2. We introduce new config option in heat.conf
>> >
>> > Combatibility_mode = 1.4
>> >
>> > 3. Implement mechanism which will automatically backport each outgoing
>> > message to 1.4 as long as we have this var.
>> >
>> > Upgrade flow looks like that:
>> > 1. We have all nodes using 1.4 version
>> > 2. We incrementally run new version with 1.4 compatibility mode
>> > 3. When all nodes are already up-to-date, we incrementally turn off
>> > compatibility mode
>> >
>> > This solution has one rather big disadvantage: 2 restarts.
>> > This can be mitigated by adding another call to reread config without
>> > restart. Oslo.config has this capability, but we need to add call to run it.
>> >
>> > Thoughts?
>> >
>> > Regards,
>> > Michał Jastrzębski
>> >
>> >
>> > __________________________________________________________________________
>> > OpenStack Development Mailing List (not for usage questions)
>> > Unsubscribe:
>> > OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>> --
>> Davanum Srinivas :: https://twitter.com/dims
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Davanum Srinivas :: https://twitter.com/dims



More information about the OpenStack-dev mailing list