Ticket #1409 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

python-hesiod should be agnostic to filsys types

Reported by: jdreed Owned by:
Priority: normal Milestone: Current Semester
Component: -- Keywords:
Cc: Fixed in version:
Upstream bug:

Description

Python-hesiod knows "too much" about filsys types (this is a necessity of how/why it was created). At most, it should know how to prioritize FSGROUPs, and that the format of a filsys entry is "TYPE DATA-POSSIBLY-WITH-MORE-SPACES [PRIORITY]". It needn't know about filsys types, that's liblocker's job. Otherwise, when we add a new locker type, we'll need to teach two things about it, instead of just one.

Change History

comment:1 Changed 8 years ago by jdreed

With the goal of fixing #227, I propose the following change to python-hesiod which retains backwards-compatibility by default:
 https://github.com/jdreed/python-hesiod/compare/liblocker-ng

comment:2 Changed 8 years ago by andersk

“TYPE DATA-POSSIBLY-WITH-MORE-SPACES [PRIORITY]” is an ambiguous grammar. You can’t tell whether something that looks like PRIORITY might actually be part of DATA-POSSIBLY-WITH-MORE-SPACES without knowing more about the latter.

comment:3 Changed 8 years ago by jdreed

Point, though I omitted that PRIORITY is present iff more than one result is returned. (As I say that, I sincerely hope there are not any FSGROUPS with only one member).

Relatedly, unicast discussion with Evan suggests it would be fine for Debathena to be upstream for python-hesiod.

comment:4 Changed 8 years ago by jdreed

 https://github.com/mit-athena/python-hesiod/pull/1

I'm aware of  https://github.com/achernya/hesiod/pull/3, but in the magical world of DVCS, these should not block on each other.

comment:5 Changed 8 years ago by jdreed

  • Status changed from new to committed

comment:6 Changed 8 years ago by jdreed

  • Status changed from committed to review

_Of course_ there exist FSGROUPS with one member. So python-hesiod really shouldn't pretend to know about FSGROUPs at all, but we do what we must, because we can.
 https://github.com/mit-athena/python-hesiod/pull/2

comment:7 Changed 8 years ago by jdreed

  • Status changed from review to development

comment:8 Changed 8 years ago by jdreed

  • Status changed from development to closed
  • Resolution set to fixed

This went to production a while ago.

Note: See TracTickets for help on using tickets.