On 2014-02-13 09:01, Clint Byrum wrote:
Excerpts from David Kranz's message of 2014-02-13 06:38:52 -0800:
I was recently bitten by a case where some defaults in keystone.conf
were not appropriate for real deployment, and our puppet modules were
not providing better values
https://bugzilla.redhat.com/show_bug.cgi?id=1064061.

Just taking a look at that issue, Keystone's PKI and revocation are
causing all kinds of issues with performance that are being tackled with
a bit of a redesign. I doubt we can find a cache timeout setting that
will work generically for everyone, but if we make detecting revocation
scale, we won't have to.

The default probably is too low, but raising it too high will cause
concern with those who want revoked tokens to take effect immediately
and are willing to scale the backend to get that result.

Since there are
hundreds (thousands?) of options across all the services. I am wondering whether there are other similar issues lurking and if we have done what
we can to flush them out.

Defaults in conf files seem to be one of the following:

- Generic, appropriate for most situations
- Appropriate for devstack
- Appropriate for small, distro-based deployment
- Approprate for large deployment

Upstream, I don't think there is a shared view of how defaults should be
chosen.


I don't know that we have been clear enough about this, but nobody has
ever challenged the assertion we've been making for a while in TripleO
which is that OpenStack _must_ have production defaults. We don't make
OpenStack for devstack.

Especially since devstack has config overrides in place to make sure everything is set up the way it needs. There's absolutely no reason to set a default because devstack needs it - just have devstack set it when it runs.

Of course, what qualifies as production-ready for my single-node OpenStack installation may not be appropriate for a 10000 node installation. Basically what you talked about above with Keystone. Some of those defaults might not be as easy to set, but it should be a more manageable subset of options that have that problem.


In TripleO, we consider it a bug when we can't run with a default value
that isn't directly related to whatever makes that cloud unique. So
the virt driver: meh, that's a choice, but leaving file injection on is
really not appropriate for 99% of users in production. Also you'll see
quite a few commits from me in the keystone SQL token driver trying to
speed it up because the old default token backend was KVS (in-memory),
which was fast, but REALLY not useful in production. We found these
things by running defaults and noticing in a long running cloud where
the performance problems are, and we intend to keep doing that.

So perhaps we should encode this assertion in
https://wiki.openstack.org/wiki/ReviewChecklist

+1


Keeping bad defaults can have a huge impact on performance and when a
system falls over but the problems may not be visible until some time
after a system gets into real use. Have the folks creating our puppet
modules and install recommendations taken a close look at all the
options and determined
that the defaults are appropriate for deploying RHEL OSP in the
configurations we are recommending?


TripleO is the official "deployment" program. We are taking the approach
described above. We're standing up several smallish (<50 nodes) clouds
with the intention of testing the defaults on real hardware in the gate
of OpenStack eventually.


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to