On Tue, 2013-12-03 at 16:23 -0600, Ben Nemec wrote: > On 2013-12-03 15:56, Sean Dague wrote: > > This cinder patch - https://review.openstack.org/#/c/48935/ > > > > Is blocked on failing upgrade because the updated oslo lockutils won't > > function until there is a specific configuration variable added to the > > cinder.conf. > > > > That work around is proposed here - > > https://review.openstack.org/#/c/52070/3 > > > > However I think this is exactly the kind of forward breaks that we want > > to prevent with grenade, as cinder failing to function after a rolling > > upgrade because a config item wasn't added is exactly the kind of pain > > we are trying to prevent happening to ops. > > > > So the question is, how is this done correctly so that a default can be > > set in the cinder code for this value, and it not require a config > > change to work?
You're absolutely correct, in principle - if the default value for lock_path worked for users before, we should absolutely continue to support it. > I don't know that I have a good answer on how to handle this, but for > context this change is the result of a nasty bug in lockutils that meant > external locks were doing nothing if lock_path wasn't set. Basically > it's something we should never have allowed in the first place. > > As far as setting this in code, it's important that all of the processes > for a service are using the same value to avoid the same bad situation > we were in before. For tests, we have a lockutils wrapper > (https://github.com/openstack/oslo-incubator/blob/master/openstack/common/lockutils.py#L282) > that sets an environment variable to address this, but that only works if > all of the processes are going to be spawned from within the same wrapper, > and I'm not sure how secure that is for production deployments since it puts > all of the lock files in a temporary directory. Right, I don't think the previous default really "worked" - if you used the default, then external locking was broken. I suspect most distros do set a default - I see RDO has this in its default nova.conf: lock_path = /var/lib/nova/tmp So, yes - this is all terrible. IMHO, rather than raise an exception we should log a big fat warning about relying on the default and perhaps just treat the lock as an in-process lock in that case ... since that's essentially what it was before, right? Mark. _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev