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

Reply via email to