[openstack-dev] [nova] Initial oslo.privsep conversion?

Maxim Nestratov mnestratov at virtuozzo.com
Mon Jun 20 17:28:06 UTC 2016


17.06.2016 17:13, Matt Riedemann пишет:

> On 6/9/2016 6:51 PM, Tony Breeds wrote:
>> On Fri, Jun 10, 2016 at 08:24:34AM +1000, Michael Still wrote:
>>> On Fri, Jun 10, 2016 at 7:18 AM, Tony Breeds <tony at bakeyournoodle.com>
>>> wrote:
>>>
>>>> On Wed, Jun 08, 2016 at 08:10:47PM -0500, Matt Riedemann wrote:
>>>>
>>>>> Agreed, but it's the worked example part that we don't have yet,
>>>>> chicken/egg. So we can drop the hammer on all new things until 
>>>>> someone
>>>> does
>>>>> it, which sucks, or hope that someone volunteers to work the first
>>>> example.
>>>>
>>>> I'll work with gus to find a good example in nova and have patches up
>>>> before
>>>> the mid-cycle.  We can discuss next steps then.
>>>>
>>>
>>> Sorry to be a pain, but I'd really like that example to be 
>>> non-trivial if
>>> possible. One of the advantages of privsep is that we can push the 
>>> logic
>>> down closer to the privileged code, instead of just doing something 
>>> "close"
>>> and then parsing. I think reinforcing that idea in the sample code is
>>> important.
>>
>> I think *any* change will show that.  I wanted to pick something 
>> achievable in
>> the short timeframe.
>>
>> The example I'm thinking of is nova/virt/libvirt/utils.py:update_mtime()
>>
>>  * It will provide a lot of the boiler plate
>>  * Show that we can now now replace an exec with pure python code.
>>  * Show how you need to retrieve data from a trusted source on the 
>> priviledged
>>    side
>>  * Migrate testing
>>  * Remove an entry from compute.filters
>>
>> Once that's implace chown() in the same file is probably a quick fix.
>>
>> Is it super helpful? does it have a measurable impact on performance, 
>> security?
>> The answer is probably "no"
>>
>> I still think it has value.
>>
>> Handling qemu-img is probably best done by creating os-qemu (or 
>> similar) and
>> designing from the ground up with provsep in mind.  Glance and Cinder 
>> would
>> benefit from that also.  That howveer is waaay to big for this cycle.
>>
>> Yours Tony.
>>
>>
>>
>> __________________________________________________________________________ 
>>
>> 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
>>
>
> So I know we didn't want to block the virtuozzo resize patch for 
> oslo.privsep conversion, but there is another vz package for their 
> libvirt volume driver that's adding a new rootwrap filter:
>
> https://review.openstack.org/#/c/190843/
>
> We definitely don't want that one using rootwrap filters because it's 
> going to couple os-brick / cinder / nova during upgrades, which is the 
> reason we wanted to get oslo.privsep support into os-brick in the 
> first place.
>
> So I think we're going to have to convert that one to use 
> oslo.privsep. I might be mistaken though.
>
> Given where this is, however, it's going to run into the issue we have 
> with sorting out upgrades from mitaka (see Sean's thread) so that nova 
> can register the root helper early with oslo.privsep when nova-compute 
> starts up.
>

Looks like we don't need a new rootwrap filter for the mentioned patch. 
It isn't necessary with upstream os-brick, so we can easily remove it 
from the change.

Maxim



More information about the OpenStack-dev mailing list