[openstack-dev] [Fuel][Solar] SolarDB/ConfigDB place in Fuel
Bogdan Dobrelya
bdobrelia at mirantis.com
Mon Dec 21 12:26:09 UTC 2015
On 21.12.2015 11:42, Oleg Gelbukh wrote:
> The problem with this approach is that we can't manage the interfaces
> between components without changing the code of 2+ components (i.e. one
> that provides the data and all that consume it).
What code is supposed to be changed in an example LDAP data source?
Otherwise, the only place I see shall require code changes is a data
processor for it, if one may want to support new (or very old) version
of the ldap with another database schema.
>
> I also don't like polling model for data processors. In my
> understanding, components should push their changes through the
> pipeline. Although this is pure implementation detail and is not really
> important ATM.
What do you think the example LDAP data source shall push? IIUC, for
most auth cases, it shall be only pulled and processed.
>
> The point is that for Solar integration, we still need integration
> points, and the less of them we have, the more simple the transition is
> going to be..
Data processors may be the only integration point, as they are supposed
to "know" how-to get and how-to shape data from sources
>
> --
> Best regards,
> Oleg Gelbukh
>
> On Mon, Dec 21, 2015 at 11:32 AM, Evgeniy L <eli at mirantis.com
> <mailto:eli at mirantis.com>> wrote:
>
> Hi Oleg,
>
> I understand the concern, but in case of integration specifically
> with Solar,
> I don't see any reasons to add ConfigDB, because Solar by itself is
> a ConfigDB.
> At the same time I would agree that there might be a case, when user
> uses
> Zookeeper/Puppet Master/CMDB as a data store, in this case we should
> store
> the data directly in those services, without keeping them in yet
> another storage.
>
> So the flow will look like this:
> Components ->
> Data get polled by data processors ->
> | Solar data processor puts the data into Solar in its format
> | Zookeeper data processor puts the data into Zookeeper in its format
> | Custom CMDB data processor puts the data into CMDB in its own format
>
> Thanks,
>
> On Fri, Dec 18, 2015 at 7:00 PM, Oleg Gelbukh <ogelbukh at mirantis.com
> <mailto:ogelbukh at mirantis.com>> wrote:
>
> Hi,
>
> The idea behind configdb is that it is independent component
> that defines data flows between other components of the system.
> It has no knowledge about those components or specifics of their
> data. Data formats are defined by components themselves via
> schemas/templates and can be changed at any time (i.e. don't
> require code changes).
>
> Important 'pro' having ConfigDB separate from Solar is that it
> will simplify transition from current Fuel architecture by
> breaking it into more definite stages and reducing the number of
> components Solar have to be integrated with.
>
> --
> Best regards,
> Oleg Gelbukh
>
> On Wed, Dec 16, 2015 at 4:38 PM, Evgeniy L <eli at mirantis.com
> <mailto:eli at mirantis.com>> wrote:
>
> Hi Dmitry,
>
> I also don't think that we should duplicate the data in
> configdb,
> because in this case there will be +2 additional interfaces
> which
> will require to covert the data into configdb and after that
> from
> configdb to Solar, which seems redundant overhead.
>
> But we should be able to put the data directly to user's
> CMDB/ZooKeeper/Puppet Master/etc.
>
> Thanks,
>
> On Wed, Dec 16, 2015 at 2:03 AM, Dmitriy Shulyak
> <dshulyak at mirantis.com <mailto:dshulyak at mirantis.com>> wrote:
>
> Hello folks,
>
> This topic is about configuration storage which will
> connect data sources (nailgun/bareon/others) and
> orchestration. And right now we are developing two
> projects that will overlap a bit.
>
> I understand there is not enough context to dive into
> this thread right away, but i will appreciate if those
> people, who participated in design, will add their
> opinions/clarifications on this matter.
>
> Main disagreements
> ---------------------------
> 1. configdb should be passive, writing to configdb is
> someone else responsibility
> + simpler implementation, easier to use
> - we will need another component that will do writing,
> or split this responsibility somehow
>
> 2. can be used without other solar components
> + clear inteface between solar components and storage layer
> - additional work required to design/refactor
> communication layer between modules in solar
> - some data will be duplicated between solar
> orchestrator layer and configdb
>
> 3. templates for output
> technical detail, can be added on top of solardb if required
>
> Similar functionality
> --------------------------
> 1. Hierachical storage
> 2. Versioning of changes
> 3. Possibility to overwrite config values
> 4. Schema for inputs
>
> Overall it seems that we share same goals for both services,
> the difference lies in organizational and technical
> implementation details.
>
> Possible solutions
> ------------------------
> 1. develop configdb and solar with duplicated functionality
> - at least 2 additional components will be added to the
> picture,
> one is configdb, another one will need to sync data
> between configdb and solar
> - in some cases data in solar and configdb will be 100%
> duplicated
> - different teams will work on same functionality
> - integration of additional component for fuel will
> require integration with
> configdb and with solar
> + configdb will be independent from solar
> orchestration/other components
>
> 2. make service out of solardb, allign with configdb use
> cases
> + solardb will be independent from solar
> orchestration/other solar components
> + integration of fuel component will be easier than in
> 1st version
> + clarity about components responsibility and new
> architecture
> - redesign/refactoring communication between components
> in solar
>
> 3. do not use configdb/no extraction of solardb
> - inproc communication, which can lead to coupled
> components (not the case currently)
> + faster implementation (no major changes required for
> integration with fuel)
> + clarity about components responsibility and new
> architecture
>
> Summary
> -------------
> For solar it makes no difference where data will come
> from: configdb or
> data sources, but in overall fuel architecture it will
> lead to significant
> complexity increase.
> It would be the best to follow 2nd path, because in long
> term we don't want tightly coupled components, but in
> nearest future we need to concentrate
> on:
> - integration with fuel
> - implementing policy engine
> - polishing solar components
> This is why i am not sure that we can spend time on 2nd
> path right now,
> or even before 9.0.
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> <http://OpenStack-dev-request@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://OpenStack-dev-request@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://OpenStack-dev-request@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://OpenStack-dev-request@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
>
--
Best regards,
Bogdan Dobrelya,
Irc #bogdando
More information about the OpenStack-dev
mailing list