Bug#700620: [Openstack-devel] Bug#700620: Rewriting the .ini parsing bit of openstack-pkg-tools

2013-04-19 Thread Thomas Goirand
On 04/18/2013 08:34 PM, Jon Dowland wrote:
> Hi,
> 
> I saw this bug and I got a bit concerned.

We used to use python ObjConfig, but it's not compatible with Openstack
.ini files...

> I'm a likely user of the
> openstack packages in Debian — well I/we could be, if they fit our
> needs — but I'm really worried that they are going to be vastly
> over-engineered. In a way it reminds me of the exim4 packages: the
> situation is not entirely analogous, since exim4 is installed for
> all Debian users, and the debconf harness does a good job of
> simplifying the complex job of configuring exim4 for the complete
> novice. But as soon as you want to actually deploy a real mailserver,
> the debconf stuff gets in the way, so much so that everyone I know
> who runs exim4 as a mailserver on Debian quickly overrides the
> debconf stuff altogether.

I don't think what I did is over-engineered. If you wish to do big
deployments, you would use something like puppet anyway, and use
DEBIAN_FRONTEND=noninteractive. That's not a problem at all. The company
who paid for my Debian work on Openstack uses that, and they are pretty
happy with it.

> I don't want to see the same situation in Debian. Let's not fall
> into the trap of thinking that the openstack packages need to be
> simplified for the complete novice.

They do, if it doesn't go on the way of advanced users, which I think is
the case.

> The complete novice will not
> be deploying a cloud infrastructure.

Probably not, though everyone is a novice at some point, and some
helpers are here to make it easy to discover the packages. Also, it is
possible to use preseeding, which is a nice way to automate things.
Last, this way it is also possible to guess some values (like "my_ip"
for example with nova) so that you don't have to care about it at all.

> There's no point in writing
> large, complex postinst scripts, debconf configuration etc. to try
> and avoid the sysadmin from editing a text file, if they are
> inevitably going to have to edit the text file anyway.

They wont. On a large cloud, either you use preseeding, or you use
puppet. I can't see anyone editing configuration files by hand for
hundreds of nodes.

> History has
> shown that you just introduce an order of magnitude of complexity,
> a load of expertise needed to properly drive openstack in Debian
> which will not be transferrable or useful to any other context, and
> things which will get in the way for people who are used to
> openstack elsewhere and are caught out by Debian-specific hand
> holding. And so either people will have to work around your harness,
> or use 3rd party openstack packages, or (worse) avoid Debian as a
> serious platform for this stuff altogether.

Quite not. One of the very good point of having preseeding and
automation is that I can do tests setups very fast, and check that
everyone is working as expected. I don't think it will increase the
chances of having problems, if I run functional tests like the tempest
suite (which is on my todo atm).

> I really think Julien is right re the debconf sequencing stuff you
> seem to be worried about. As a user, if I'm installing openstack by
> hand, then I have no problem if the debconf questions come in two
> lumps.

Well, that part is fixed. So yeah, I don't have to worry at all about it
anymore! :)

> It's quite likely some of your dependencies will force this
> situation anyway, outside of your control. If I've mastered deployment
> and I'm rolling out more openstack nodes, I will definitely be using
> debconf preseeding or post-facto fixups via puppet, there's no way
> I'd do any more than the first one (as a learning experience) by
> hand and surely anyone else who is looking at deploying a cloud
> infrastructure would do the same?

Yes, that is what I expect. And this is also the point (eg: using
preseeding, so that you have proven-to-be-working scripts).

Also, if we don't have anything to configure the db access, then it
means that you would have to do all sorts of things by hand (like
nova-manage db sync and the like). This is also very nice to be able to
avoid that. I don't see any other way to be able to do that.

Cheers,

Thomas


--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#700620: [Openstack-devel] Bug#700620: Rewriting the .ini parsing bit of openstack-pkg-tools

2013-03-18 Thread Julien Danjou
On Mon, Mar 11 2013, Thomas Goirand wrote:

Hi Thomas,

> I don't want the 2nd version. Openstack operator all want to answer all
> questions, then go to the coffee machine and rest 10 minutes during the
> setup... ;)
>
> So, I continue to think that everything should be done in shell script.
> Not the way I wrote it the first time though. The goal is to have the
> same implementation as this:
> https://github.com/openstack/oslo-config/blob/master/oslo/config/iniparser.py

I think you're wrong. The fact that question aren't asked all in a row
is not the OpenStack packaging team's problem here, and trying to avoid
this problem by re-implementing something that you will endless run
after is a waste of time.

Further more, I'd argue that real deployers really don't care about the
questions and will use preseed or some non-interactive thinggy to not
have to answer them anyway. So this sounds like an un-needed
optimization that it's going to cost you a lot in the long run (chasing
bugs and limitation from your implementation and adding more feature).

So I don't think you should do that, at least I wouldn't do it. That'd
be my advice. Do the less you can, be lazy, and use something that works
better than what you'll write! :-)

(Obviously, since as you stated you're the one doing the job and this is
mainly a do-ocracy, feel free to ignore me. :-))

-- 
Julien Danjou
/* Free Software hacker * freelance consultant
   http://julien.danjou.info */


pgpXtRG7dIf9x.pgp
Description: PGP signature