Kosala, Just to elaborate/clarify on one of the points below,
· as Chris says, the Sprout process always accesses data via the Homestead API from the Homestead process - the Sprout process never accesses Cassandra directly · the Homestead process actually only reads from the homestead_cache database in Cassandra - the Homestead process never reads from the homestead_provisioning database (contrary to what was suggested below) · the Homestead Prov process writes to both homestead_cache and homestead_provisioning. The split between the homestead_cache and homestead_provisioning databases is that the homestead_provisioning database stores provisioned data in a normalized form - this is very convenient for modification/exposure over the Homestead Prov API, but isn't particularly fast for reads/writes. Conversely, the homestead_cache database stores data in a denormalized form - this is much faster to access (which is obviously important, as Sprout is on the call path) but less easy to perform provisioning operations against. I hope that makes sense - please ask if you have any questions. Thanks, Matt From: Clearwater [mailto:[email protected]] On Behalf Of Chris Elford (projectclearwater.org) Sent: 20 July 2016 10:12 To: Kosala <[email protected]>; Chris Elford (projectclearwater.org) <[email protected]> Cc: [email protected] Subject: Re: [Project Clearwater] Sprout to Homestead communication Hi Kosala, I’ve drawn a quick diagram: [cid:[email protected]] When you provision a subscriber, Ellis uses the Homestead Prov API to ask the Homestead Prov process to put the subscriber’s details into the homestead_provisioning database. When Sprout needs to get a subscriber’s details, it sends a request to Homestead over the Homestead API. Homestead then uses the data in the homestead_cache and homestead_provisioning keyspaces (or from the HSS if you were using one) to respond to Sprout. So Sprout never directly reads data from Cassandra: it always uses the Homestead API to get subscriber details. Does that help? These are quite detailed technical questions – it sounds like you are trying to do something different and new with Project Clearwater. I’m happy to help if you want to discuss your plans. Yours, Chris From: Kosala [mailto:[email protected]] Sent: 19 July 2016 09:41 To: Chris Elford (projectclearwater.org) <[email protected]<mailto:[email protected]>> Subject: Re: [Project Clearwater] Sprout to Homestead communication Hi Chris, To keep things clear, I am writing again. I am not using HSS. I am using Ellis to create accounts of private and public IDs. I saw that crest/homestead-prov is used by Ellis. When I create accounts in Ellis which store data in homestead_provisioning keyspace {implicit_registration_sets, private, public and service_profiles} and homestead_cache keyspace {impu and impi} I have the following issues: 1. how sprout is reading homestead_cache ? (using crest/homestead-prov API or using homestead API ?) 2. Which components are reading data from homestead_provisioning keyspace? Thanks Kosala On Mon, Jul 18, 2016 at 12:01 PM, Chris Elford (projectclearwater.org<http://projectclearwater.org>) <[email protected]<mailto:[email protected]>> wrote: Hi Kosala, That’s a good question. Homestead exposes its own API, separate to the Homestead Provisioning API. It’s documented in the Homestead codebase: https://github.com/Metaswitch/homestead/blob/dev/docs/homestead_api.md. Homestead is able to run without Homestead Provisioning, in a deployment with an HSS. It acts as a gateway and cache, allowing Sprout to retrieve the data it needs from the HSS. In this sort of deployment, there is no need for Homestead Provisioning, so we need to expose an API that can be used without Homestead Provisioning. That’s why Homestead has its own API. I hope that helps. Yours. Chris From: Clearwater [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Kosala Sent: 18 July 2016 11:29 To: [email protected]<mailto:[email protected]> Subject: [Project Clearwater] Sprout to Homestead communication Hi Team, How is sprout reading data from Cassandra database at Homestead ? Is this using homestead provisioning API ? If not, could you please explain me the procedure? Thanks in advance! Kosala
_______________________________________________ Clearwater mailing list [email protected] http://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org
