[openstack-dev] [Fuel] PostgreSQL 9.3 and JSON operations

Tomasz Napierala tnapierala at mirantis.com
Mon Dec 28 21:53:13 UTC 2015


Hi,

Just wondering what is fine result and decision? This change is pretty wide and impacts many dev (and users), I think we should be listening to the feedback before making any decision. 

Regards,


> On 17 Dec 2015, at 11:01, Artem Silenkov <asilenkov at mirantis.com> wrote:
> 
> Hello! 
> We have merged 9.3 a week ago. From packaging team side downgrade is not an option and was made by mistake.
> Regards 
> Artem Silenkov 
> ---
> MOS-PAckaging
> 
> 
> On Thu, Dec 17, 2015, 12:32 Oleg Gelbukh <ogelbukh at mirantis.com> wrote:
> In fact, it seems that 9.2 is in the mix since the introduction of centos7. Thus, all tests that have been made since then are made against 9.2. So, upgrading it to 9.3 actually is a change that has to be blocked by FF/SCF.
> 
> Just my 2c.
> 
> --
> Best regards,
> Oleg Gelbukh
> 
> On Thu, Dec 17, 2015 at 12:13 PM, Evgeniy L <eli at mirantis.com> wrote:
> Hi Andrew,
> 
> It doesn't look fair at all to say that we use Postgres specific feature for no reasons
> or as you said "just because we want".
> For example we used Arrays which fits pretty well for our roles usage, which improved
> readability and performance.
> Or try to fit into relational system something like that [1], I don't think that we will get
> a good result.
> 
> P.S. sending a link to a holywar topic (schema vs schemaless), won't help to solve our
> specific problem with Postgres downgrading vs keeping old (new) version.
> 
> [1] https://github.com/openstack/fuel-web/blob/master/nailgun/nailgun/fixtures/openstack.yaml
> 
> 
> On Tue, Dec 15, 2015 at 10:53 PM, Andrew Maksimov <amaksimov at mirantis.com> wrote:
> +1 to Igor suggestion to downgrade Postgres to 9.2. Our users don't work directly with Postgres, so there is no any deprecation of Fuel features.
> Maintaining our own custom Postgres package just because we want "JSON column" is not a rational decision. Come on, fuel is not a billing system with thousands tables and special requirements to database. At least, we should try to keep it simple and avoid unnecessary complication.
> 
> PS
>  BTW, some people suggest to avoid using  json columns, read [1] PostgreSQL anti-patterns: unnecessary json columns.
> 
> [1] - http://blog.2ndquadrant.com/postgresql-anti-patterns-unnecessary-jsonhstore-dynamic-columns/
> 
> Regards,
> Andrey Maximov
> Fuel Project Manager
> 
> 
> On Tue, Dec 15, 2015 at 9:34 PM, Vladimir Kuklin <vkuklin at mirantis.com> wrote:
> Folks
> 
> Let me add my 2c here.
> 
> I am for using Postgres 9.3. Here is an additional argument to the ones provided by Artem, Aleksandra and others.
> 
> Fuel is being sometimes highly customized by our users for their specific needs. It has been Postgres 9.3 for a while and they might have as well gotten used to it and assumed by default that this would not change. So some of their respective features they are developing for their own sake may depend on Postgres 9.3 and we will never be able to tell the fraction of such use cases. Moreover, downgrading DBMS version of Fuel should be inevitably considered as a 'deprecation' of some features our software suite is providing to our users. This actually means that we MUST provide our users with a warning and deprecation period to allow them to adjust to these changes. Obviously, accidental change of Postgres version does not follow such a policy in any way. So I see no other ways except for getting back to Postgres 9.3.
> 
> 
> On Tue, Dec 15, 2015 at 7:39 PM, Igor Kalnitsky <ikalnitsky at mirantis.com> wrote:
> Hey Mike,
> 
> Thanks for your input.
> 
> > actually not.  if you replace your ARRAY columns with JSON entirely,
> 
> It still needs to fix the code, i.e. change ARRAY-specific queries
> with JSON ones around the code. ;)
> 
> > there's already a mostly finished PR for SQLAlchemy support in the queue.
> 
> Does it mean SQLAlchemy will have one unified interface to make JSON
> queries? So we can use different backends if necessary?
> 
> Thanks,
> - Igor
> 
> On Tue, Dec 15, 2015 at 5:06 PM, Mike Bayer <mbayer at redhat.com> wrote:
> >
> >
> > On 12/15/2015 07:20 AM, Igor Kalnitsky wrote:
> >> Hey Julien,
> >>
> >>> https://blueprints.launchpad.net/fuel/+spec/openstack-ha-fuel-postgresql
> >>
> >> I believe this blueprint is about DB for OpenStack cloud (we use
> >> Galera now), while here we're talking about DB backend for Fuel
> >> itself. Fuel has a separate node (so called Fuel Master) and we use
> >> PostgreSQL now.
> >>
> >>> does that mean Fuel is only going to be able to run with PostgreSQL?
> >>
> >> Unfortunately we already tied up to PostgreSQL. For instance, we use
> >> PostgreSQL's ARRAY column type. Introducing JSON column is one more
> >> way to tighten knots harder.
> >
> > actually not.  if you replace your ARRAY columns with JSON entirely,
> > MySQL has JSON as well now:
> > https://dev.mysql.com/doc/refman/5.7/en/json.html
> >
> > there's already a mostly finished PR for SQLAlchemy support in the queue.
> >
> >
> >
> >>
> >> - Igor
> >>
> >> On Tue, Dec 15, 2015 at 12:28 PM, Julien Danjou <julien at danjou.info> wrote:
> >>> On Mon, Dec 14 2015, Igor Kalnitsky wrote:
> >>>
> >>>> The things I want to notice are:
> >>>>
> >>>> * Currently we aren't tied up to PostgreSQL 9.3.
> >>>> * There's a patch [2] that ties Fuel up to PostgreSQL 9.3+ by using a
> >>>> set of JSON operations.
> >>>
> >>> I'm curious and have just a small side question: does that mean Fuel is
> >>> only going to be able to run with PostgreSQL?
> >>>
> >>> I also see
> >>> https://blueprints.launchpad.net/fuel/+spec/openstack-ha-fuel-postgresql,
> >>> maybe it's related?
> >>>
> >>> Thanks!
> >>>
> >>> --
> >>> Julien Danjou
> >>> // Free Software hacker
> >>> // https://julien.danjou.info
> >>
> >> __________________________________________________________________________
> >> OpenStack Development Mailing List (not for usage questions)
> >> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >
> > __________________________________________________________________________
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> -- 
> Yours Faithfully,
> Vladimir Kuklin,
> Fuel Library Tech Lead,
> Mirantis, Inc.
> +7 (495) 640-49-04
> +7 (926) 702-39-68
> Skype kuklinvv
> 35bk3, Vorontsovskaya Str.
> Moscow, Russia,
> www.mirantis.com
> www.mirantis.ru
> vkuklin at mirantis.com
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> -- 
> Regards, 
> Artem Silenkov
> ---
> Mos~Packaging
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-- 
Tomasz 'Zen' Napierala
Product Engineering - Poland









More information about the OpenStack-dev mailing list