[openstack-dev] [all] [dlm] Zookeeper and openjdk, mythbusted
Adam Young
ayoung at redhat.com
Mon Nov 9 15:19:27 UTC 2015
On 11/09/2015 09:46 AM, Thierry Carrez wrote:
> Sean Dague wrote:
>> I do wonder what the cause of varying quality is in the distros. I do
>> understand that some distros aren't licensing the test suite. But they
>> are all building from the same upstream.
> Except that they all use significant (and different) patchsets on top of
> that "same upstream". Ubuntu for example currently carries 69 patches on
> top of OpenJDK 7 source.
>
I can't speak explicitly for Ubuntu, but this is the norm for anything
from a Distro; they pick a version for the LTS release and then choose
the patches to continue to apply to that version. Red Hat does this with
OpenStack, as well as OpenJDK and the Kernel. The same is true of
Python, too.
Java is a different language than Python. I understand that many people
dislike it for verbosity, its proprietary history, and so forth. But
with the OpenJDK, we have the same rules for releasing it as we do for
Python, Ruby, Perl, Common Lisp, COBOL, Fortran, Ada, C++, and Go. Hope
to add Rust to that litany, soon, too.
I personally like Java, but feel like we should focus on limiting the
number of languages we need to understand in order to Do OpenStack
development. I personally find Python annoying since I like type
safety, but I've come to understand it. The fact that Puppet already
makes us jump to Ruby already makes it hard. One reason I prefer the
recent inroads by Ansible is that it lets me stick to a single language
for the business logic. It has nothing to do with the relative
technical merits of Python versus Ruby.
For the most part, the third party tools we've had to integrate have
been native apps, at least on the Keystone side; LDAP, Database, and
Memcache are all native for performance reasons. The Dogpile
abstraction would allow us to do Cassandra, but that never materialized.
As an example: I've been pointing out that we should be defaulting to
Dogtag for Certificates. Dogtag is a Java server app. This is due to
its long history as an OpenSource CA with very demanding deployments
hardening it. However, I don't think it should be the CA abstraction
for OpenStack. I would recommend a Native tool, Certmonger, with a
mechanism that can be extended by Python. This would allow for a native
python implementation, or any other that actual deployments would chose
to use, as the CA implementation.
Let's keep the toolchain understandable, but for the right reasons.
More information about the OpenStack-dev
mailing list