Mailinglist Archive: yast-devel (87 mails)

< Previous Next >
Re: [yast-devel] Feedback needed! Hack Week project to re-define storage-ng API
  • From: Josef Reidinger <jreidinger@xxxxxxx>
  • Date: Fri, 24 Feb 2017 10:37:24 +0100
  • Message-id: <20170224103724.0164c658@linux-vvcf.privatesite>
On Thu, 23 Feb 2017 17:45:48 +0100
Ancor Gonzalez Sosa <ancor@xxxxxxx> wrote:

My Hack Week project is in that state in which all the important parts
work and now it's time to decide if it's worth investing a couple of
extra days to finish it all the way down.

Since the ultimate goal is to change how YaST interacts with
storage-ng, I would need the opinion of as many YaST developers as
possible.

So please, please, please, take a look to this and give your opinion.
https://github.com/yast/yast-storage-ng/pull/169

The most important question is - do you prefer the proposed approach
and API* or do you prefer to continue accessing directly to
libstorage-ng from YaST?

Thanks

* In general, minor details in the API can be ironed out in the short
future.

let me comment it point by point:

Arrays instead of strictly-typed vectors
----------------------------------------

I think it make sense to have a bit specialized arrays, but it do not
make sense to not act as array, so for me the best way would be to have
something like `class MountPoints < Array` which have special filters
like mountpoints.snapshots which return again MountPoints, but only
btrfs snapshots. This allow easy extending in future and still it act
like array.


No more downcasting
-------------------

good improvement


Nil instead of exceptions
-------------------------

make sense for me, another option that make sense for me is NullObject,
that allows some introspection and e.g. better writting to log.

Classes instead of constants and enums
-------------------------------------

nice improvement

All sizes as DiskSize objects
-----------------------------

makes sense as it is not only integer, but have its own logic


Adding methods needed by YaST
-----------------------------

makes sense


Less surprising API (for Rubyists)
----------------------------------

nice just one more idea. I really hate to type everywhere staging
graph. So why not have `def all(graph = Storage.staging)` as I think
majority of other Yast modules are interested mainly in staging graph.

Overall I like it.

Josef
--
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: yast-devel+owner@xxxxxxxxxxxx

< Previous Next >
References