[controller-dev] Health Checks to external network functions

2016-09-19 Thread Sela, Guy
Hi,

Is there any project/plugin in ODL that its purpose is to conduct health checks 
?
I'm referring to the health of external machines that run network functions for 
example (firewalls, load balancers, content filtering, etc.).
Health checks can be pings, load, generic scripts etc.

In a real deployment, will you do those inside ODL? or use an external health 
tool that will notify status change to the ODL?

Thanks,
Guy Sela

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Robert Varga
On 09/19/2016 02:27 PM, Sela, Guy wrote:
> So in order to get a snapshot of time 
> So could I theoretically do:
> * DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY)
> * Get the BI root.
> * Extract the BI subtrees from the BI Root
> * Convert the BI subtrees to BA subtrees using TPUtils-like code?
> 
> Do you think this is the best way to get a snapshot of multiple subtrees? Or 
> is there a better solution?

That is pretty much the only way to do it.

Bye,
Robert



signature.asc
Description: OpenPGP digital signature
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Sela, Guy
So in order to get a snapshot of time 
So could I theoretically do:
* DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY)
* Get the BI root.
* Extract the BI subtrees from the BI Root
* Convert the BI subtrees to BA subtrees using TPUtils-like code?

Do you think this is the best way to get a snapshot of multiple subtrees? Or is 
there a better solution?

-Original Message-
From: controller-dev-boun...@lists.opendaylight.org 
[mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Robert Varga
Sent: Monday, September 19, 2016 2:45 PM
To: Sela, Guy ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

On 09/19/2016 12:20 PM, Sela, Guy wrote:
> Oh I missed the fact you are talking about the new API that returns 
> NormalizedNode (BI).
> I was referring to the old API: 
> org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction.rea
> d(..)

Top-level root is not representable in BA because it does not have a model 
hence it does not have a corresponding DataObject.

Bye,
Robert

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Robert Varga
On 09/19/2016 12:20 PM, Sela, Guy wrote:
> Oh I missed the fact you are talking about the new API that returns 
> NormalizedNode (BI).
> I was referring to the old API: 
> org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction.read(..)

Top-level root is not representable in BA because it does not have a
model hence it does not have a corresponding DataObject.

Bye,
Robert



signature.asc
Description: OpenPGP digital signature
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Sela, Guy
Oh I missed the fact you are talking about the new API that returns 
NormalizedNode (BI).
I was referring to the old API: 
org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction.read(..)
 

-Original Message-
From: Sela, Guy 
Sent: Monday, September 19, 2016 12:50 PM
To: 'Robert Varga' ; Tom Pantelis 
Cc: controller-dev 
Subject: RE: [controller-dev] [documentation] Questions about ODL clustering

If they don't have a joint root in BA world, what can I do with the value 
returned from issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY)?
It is a BA value, no a BI value.
Am I missing something?

-Original Message-
From: Robert Varga [mailto:n...@hq.sk] 
Sent: Monday, September 19, 2016 12:24 PM
To: Sela, Guy ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

On 09/19/2016 11:13 AM, Sela, Guy wrote:
> Do all of them have a joint root? (YangInstanceIdentifier.EMPTY)?

In BI world they do. In BA world they do not.

> Will issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY) 
> provide me a snapshot of all?
> Sounds like it can't work in a Clustered Data Store, because the reads are 
> not from the local replica.

CDS does recognize the query and assembles the information from all shards -- 
otherwise RESTCONF would not work.

Bye,
Robert

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Sela, Guy
If they don't have a joint root in BA world, what can I do with the value 
returned from issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY)?
It is a BA value, no a BI value.
Am I missing something?

-Original Message-
From: Robert Varga [mailto:n...@hq.sk] 
Sent: Monday, September 19, 2016 12:24 PM
To: Sela, Guy ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

On 09/19/2016 11:13 AM, Sela, Guy wrote:
> Do all of them have a joint root? (YangInstanceIdentifier.EMPTY)?

In BI world they do. In BA world they do not.

> Will issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY) 
> provide me a snapshot of all?
> Sounds like it can't work in a Clustered Data Store, because the reads are 
> not from the local replica.

CDS does recognize the query and assembles the information from all shards -- 
otherwise RESTCONF would not work.

Bye,
Robert

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Robert Varga
On 09/19/2016 11:13 AM, Sela, Guy wrote:
> Do all of them have a joint root? (YangInstanceIdentifier.EMPTY)?

In BI world they do. In BA world they do not.

> Will issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY) 
> provide me a snapshot of all?
> Sounds like it can't work in a Clustered Data Store, because the reads are 
> not from the local replica.

CDS does recognize the query and assembles the information from all
shards -- otherwise RESTCONF would not work.

Bye,
Robert



signature.asc
Description: OpenPGP digital signature
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Sela, Guy
When saying specific data tree I mean like "inventory data model", "topology 
data model", "netvirt data model", etc.
Am I mistakenly using the term "data tree" instead of "sub tree"? 
Do all of them have a joint root? (YangInstanceIdentifier.EMPTY)?

Will issuing DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY) provide 
me a snapshot of all?
Sounds like it can't work in a Clustered Data Store, because the reads are not 
from the local replica.

-Original Message-
From: controller-dev-boun...@lists.opendaylight.org 
[mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Robert Varga
Sent: Monday, September 19, 2016 11:26 AM
To: Sela, Guy ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

On 09/18/2016 02:28 PM, Sela, Guy wrote:
> What I mean is to be able to create a snapshot of the entire state and not 
> only a specific data tree.

Do you by 'specific data tree' mean 'specific subtree'?

We do not guarantee consistency across shards, but you can read all shards by 
issuing a DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY).

Bye,
Robert

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Robert Varga
On 09/18/2016 02:24 PM, Sela, Guy wrote:
> Are there any plans to do something regarding snapshots that resembles 
> Snapshot Isolation in a DB?

All current shard/data store implementations are based on
InMemoryDataTree, which features MVCC-based full snapshot isolation..

Bye,
Robert



signature.asc
Description: OpenPGP digital signature
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Robert Varga
On 09/18/2016 02:28 PM, Sela, Guy wrote:
> What I mean is to be able to create a snapshot of the entire state and not 
> only a specific data tree.

Do you by 'specific data tree' mean 'specific subtree'?

We do not guarantee consistency across shards, but you can read all
shards by issuing a
DOMDataReadTransaction.read(YangInstanceIdentifier.EMPTY).

Bye,
Robert



signature.asc
Description: OpenPGP digital signature
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev


Re: [controller-dev] [documentation] Questions about ODL clustering

2016-09-19 Thread Sela, Guy
Thanks for the explanations.
Really good explanation in the mail threads.

I feel like you missed the part of my question (Or maybe I didn't understand 
the answer) about Full Snapshot.
I'll compare to a DB.
In an SqlServer I can run:
"
ALTER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON
"

This will mean that if I have 5 different tables, when starting a transaction, 
I get a full snapshot of all five.
I am looking for the equivalent in MD-SAL. 
Not only a snapshot of one data tree, but a snapshot of all data trees for a 
given point of time.

When you said:
"Transactions do take snapshots but they are inmemory"
Do you mean a snapshot of all the data trees? Or the specific one you read from?

-Original Message-
From: Muthukumaran K [mailto:muthukumara...@ericsson.com] 
Sent: Monday, September 19, 2016 8:15 AM
To: Sela, Guy ; Robert Varga ; Tom Pantelis 

Cc: controller-dev 
Subject: RE: [controller-dev] [documentation] Questions about ODL clustering

Hi Guy, 

There is a jmx operation (can be invoked via JConsole) to dump the snapshot on 
demand on per shard basis for config DS shards. 

Transactions do take snapshots but they are inmemory. As you surmise, 
transaction-level snapshotting is "Isolation" part of ACID.  
A good explanation was given by Robert in following mail threads  

https://lists.opendaylight.org/pipermail/controller-dev/2016-July/012298.html
https://lists.opendaylight.org/pipermail/controller-dev/2016-July/012331.html

Regards
Muthu


-Original Message-
From: controller-dev-boun...@lists.opendaylight.org 
[mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Sela, Guy
Sent: Sunday, September 18, 2016 5:59 PM
To: Robert Varga; Tom Pantelis
Cc: controller-dev
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

What I mean is to be able to create a snapshot of the entire state and not only 
a specific data tree.


-Original Message-
From: controller-dev-boun...@lists.opendaylight.org 
[mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Sela, Guy
Sent: Sunday, September 18, 2016 3:25 PM
To: Robert Varga ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

Thanks.
Are there any plans to do something regarding snapshots that resembles Snapshot 
Isolation in a DB?

For example:
https://msdn.microsoft.com/en-us/library/tcbchxcb(v=vs.110).aspx

-Original Message-
From: controller-dev-boun...@lists.opendaylight.org 
[mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Robert Varga
Sent: Sunday, September 18, 2016 1:28 PM
To: Sela, Guy ; Tom Pantelis 
Cc: controller-dev 
Subject: Re: [controller-dev] [documentation] Questions about ODL clustering

On 09/15/2016 05:17 PM, Sela, Guy wrote:
> ReadOnlyTransaction tx = db.newReadOnlyTransaction();
> 
> CheckedFuture, ReadFailedException> read1 = 
> tx.read(X, Y)
> 
> CheckedFuture, ReadFailedException> read2 = 
> tx.read(Z, H)
> 
>  
> 
> read1 and read2 were read from different snapshots?
> 
> Does the answer change if they were invoked on the same/different data 
> trees?
> 

If both reads target the same shard, they will be executed from the same 
snapshot.

Bye,
Robert

___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev
___
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev