Hi All,


This is the summary of everything that I have done so far.



Pre requisite: VMs which has WSO2 Application Server running should have been 
added to a particular network security group (NSG). In my case it’s ASNSG



First the java app should be authenticated. Then it query for the information 
on ASNSG. Response of that API call includes names of all the network 
interfaces that are existed in ASNSG. Then each and every network interface is 
queried using their names to get private IP addresses of each of them. As the 
final outcome we get a list of IP addresses of VMs which has WSO2 Application 
Server running.



Authentication

In order to work with Azure Resource Manager (ARM) REST API, first of all our 
app has to be authenticated. ARM provides two methods for this purpose, 



1) Authenticate using service principal

2) Authenticate using organizational account.



I have used the first method that is authenticating using a service principal.  
A Service Principal is an instance of an application that is within your Active 
Directory that is allowed access to one or more resources or an entire resource 
group. How to set up a service principal is well described here [1]. Once you 
successfully set up a service principal, you will have the following 
information in hand.



1)      Client ID

2)      Client secret

3)      Tenant ID

Above parameters and Azure subscription ID are used in the java app for 
authentication purpose. I have used Active Directory Authentication Library 
(ADAL) [2] for authentication. Once the authentication is successful, an 
authentication token will be issued and it will be used in the rest of the 
program as to make calls to API.



Getting information on ASNSG

For this purpose, [3] API reference is used. As the response we get a JSON 
string which includes names of NICs which are available in ASNSG.



Getting private IP address of each NIC

With the NIC names we received from previous API call, we can use this [4] API 
reference to get the private IP address of each NIC. And then with that 
information we can list out the IP addresses of all the VMs which has WSO2 
Application Server running.



[1] 
https://azure.microsoft.com/en-gb/documentation/articles/resource-group-create-service-principal-portal/

[2] https://github.com/AzureAD/azure-activedirectory-library-for-java

[3] https://msdn.microsoft.com/en-us/library/azure/mt163654.aspx

[4] https://msdn.microsoft.com/en-us/library/azure/mt163611.aspx



Thanks



From: Imesh Gunaratne [mailto:[email protected]]
Sent: Saturday, May 28, 2016 8:53 AM
To: Osura Rathnayake
Cc: Isuru Haththotuwa; WSO2 Developers' List
Subject: Re: [GSOC 16] Initial Project Progress







On Sat, May 28, 2016 at 12:42 AM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi mentors,



Sorry for the late reply. ARM portal doesn't have certain features like Active 
Directory but it doesn't matter because they can be implemented using classic 
portal and they work hand in hand. So all the features in classic plus the new 
features in ARM can be used if we choose ARM model. Therefore I think it's 
fruitful if we stick to ARM model, and the other important thing is sooner or 
later Microsoft will develop the ARM fully so eventually classic model will be 
obsolete(I think).



+1 We may need to go ahead with what they provide at the moment.



As we discussed in our last hangout, using a main program I could list out the 
IP addresses of the VMs where Application Servers are installed. Please arrange 
another hangout so that we can discuss the next project goal.



Yes will have a hangout next week, it would be better if you can send details 
in a mail first.



Thanks







On Wed, May 25, 2016 at 9:08 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Imesh,



okay i will find out the differences and update you. meanwhile i will check 
azure sdk for java if it has all the classes we want.



On Wed, May 25, 2016 at 9:31 AM, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:





On Tue, May 24, 2016 at 10:22 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi mentors,



As you might already know, Azure has two deployment models , azure classic (old 
portal) and azure resource manager (ARM)(new portal). Unfortunately some 
functionalities of classic is not available in ARM vice versa[1] but microsoft 
is rapidly developing all the functionalities across both models. Also certain 
API references [2] are not available for both the models, for an example, for 
network both classic and ARM API references are available but for network 
security groups only classic is available, while network security groups is a 
supported feature in ARM. shall we have a hangout to discuss this matter?



IMO it would be okay to stick to one model. Can you please research on this and 
list out the differences between two models? That would help us to take a 
decision on this.



Thanks



[1] 
https://blog.kloud.com.au/2016/04/05/azure-classic-vs-azure-resource-manager/

[2] https://msdn.microsoft.com/en-us/library/azure/mt420159.aspx







On Fri, May 20, 2016 at 11:05 AM, Isuru Haththotuwa <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,

Are you joining the hangout now?



On Thu, May 19, 2016 at 7:37 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Isuru,



It's no problem. Okay let's have a hangout at 11 o'clock tomorrow.


On Thursday, May 19, 2016, Isuru Haththotuwa <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,

Sorry for the delayed response.

Shall we have a hangout at 11 AM on 20th May (Friday)?



On Tue, May 17, 2016 at 9:09 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Imesh,



Shall we have a hangout on Thursday or so?





On Thu, May 12, 2016 at 8:26 PM, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,



On Thu, May 12, 2016 at 8:09 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Mentors,



I created a github repository so that all the work related to this project can 
be accumulated with ease.

here is the link https://github.com/osuran/azure-membership-scheme.



Great! Will you be able to arrange a Hangout and demonstrate what you did so 
far?



Thanks



On Thu, May 12, 2016 at 8:09 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Mentors,



I created a github repository so that all the work related to this project can 
be accumulated with ease.

here is the link https://github.com/osuran/azure-membership-scheme.



On Wed, May 11, 2016 at 11:22 AM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Mentors,



I sorted out all the errors and the cluster is up and running. Now I can see 
the log messages of members joining and leaving.





On Wed, May 11, 2016 at 11:04 AM, Isuru Haththotuwa <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,

Please refer [1] for configuring deployment synchronizer.

Initially, its ok even if you disable the deployment synchronizer and test the 
clustering.


[1]. 
https://docs.wso2.com/display/CLUSTER44x/Configuring+SVN-Based+Deployment+Synchronizer



On Wed, May 11, 2016 at 10:55 AM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi All,



Thank you very much. I got it sorted out. I created a new user and granted 
permission on it.

Can you please tell me the format of svn url and access protocol when 
configuring <DeploymentSynchronizer> , my repository is /home/as/svnrepo. I 
have attached the error I got as well.



Thanks,



On Wed, May 11, 2016 at 7:13 AM, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:





On Tue, May 10, 2016 at 11:12 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Imesh,



Now i'm getting this error. I can't connect to the DB from the client either.



Credentials might be correct, I think the issue is with the permission. You 
might need to grant permission to the relevant databases to your user for the 
given IP address. Please refer [1].



[1] http://dev.mysql.com/doc/refman/5.5/en/grant.html



Thanks



On Tue, May 10, 2016 at 9:46 PM, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:





On Tue, May 10, 2016 at 9:43 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Mentors,



when i was trying to up the manager node, i kept getting an error and a 
screenshot of it is attached herewith. There is no problem with network 
connectivity and dns resolution. Also a diagram of my setup is attached. please 
have a look.



This looks like a database connectivity issue.



Can you please try to install a mysql client in one of the hosts that AS is 
installed and check whether it can connect to the database server?



Thanks



thanks and regards,

Osura



On Tue, May 10, 2016 at 6:40 AM, Isuru Haththotuwa <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,



On Mon, May 9, 2016 at 11:22 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi mentors,



When setting up the DB according to [1], should shared REGISTRY_DB and shared 
WSO2_USER_DB be resided on a separate server other than the manager/worker 
node? if so can I use the same server i used for load balancer for this purpose?

Yes, you can.





[1] https://docs.wso2.com/display/CLUSTER44x/Setting+up+the+Database



Thanks and Regards

Osura



On Sun, May 1, 2016 at 9:53 AM, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:





On Sat, Apr 30, 2016 at 9:20 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi Imesh,



Thank you very much for the guidelines. I will do as you have instructed and 
let you know the progress.



Great! Let us know if you find any problems.



Thanks



Regards,

Osura


On Saturday, April 30, 2016, Imesh Gunaratne <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,



It's nice to hear from you. I think it would be better if you can follow below 
steps:



1. Implementing WSO2 Azure membership scheme:

*       First understand how WSO2 Carbon works by setting up a WSO2 Application 
Server worker/manager deployment on Azure.
*       Use WKA membership scheme for this and see how clustering works.
*       Then go through the WSO2 Kubernetes membership scheme source code.
*       Afterwards implement a new WSO2 membership scheme for Azure.

2. Next see how each of the following can be setup on Azure using native 
features:

*       Auto healing
*       Autoscaling
*       Dynamic load balancing
*       Centralized logging
*       Monitoring
*       Metering

Thanks





On Fri, Apr 29, 2016 at 8:07 PM, Osura Rathnayake <[email protected] 
<mailto:[email protected]> > wrote:

Hi All,



Thank you very much for accepting my proposal.



Yes these days i am working on understanding how hazelcast behaves.



I have already come across some of Azure API references that can be used to 
identify a group of VMs.



Network Security Group (NSG) is the equivalent AWS Security group that we could 
find in azure. And this [1] is the API reference that can be used to get 
information about a particular NSG. There under networkInterfaces.id element, 
we can get a collection of references to Network Interface Cards that reference 
this NSG. And then using that we can get information about NICs [2]. There 
under virtualMachine element, we can get the VM associated with that NIC. I 
think we can use method to identify a group of VMs.







[1] https://msdn.microsoft.com/en-us/library/azure/mt163654.aspx

[2] https://msdn.microsoft.com/en-us/library/azure/mt163611.aspx



Regards,

Osura



On Fri, Apr 29, 2016 at 4:16 PM, Isuru Haththotuwa <[email protected] 
<mailto:[email protected]> > wrote:

Hi Osura,

First of all, great work with the proposal and congratulations on getting 
selected!

As you know, this is the community bonding period which you can use to enhance 
your community relationship and of course to gain knowledge in the related 
areas. Hope you are right on it!

Can you please send a brief update about the any project related work that you 
are doing now? Please copy the wso2 dev list ([email protected] 
<mailto:[email protected]> ) as well.



--

Thanks and Regards,

Isuru H.

+94 716 358 048 <tel:%2B94%20716%20358%20048>











--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware







--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware






--

Thanks and Regards,

Isuru H.

+94 716 358 048 <tel:%2B94%20716%20358%20048>











--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware









--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware






--

Thanks and Regards,

Isuru H.

+94 716 358 048 <tel:%2B94%20716%20358%20048>









--

Thanks and Regards,

Osura Rathnayake







--

Thanks and Regards,

Osura Rathnayake







--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware







--

Thanks and Regards,

Osura Rathnayake




--

Thanks and Regards,

Isuru H.

+94 716 358 048 <tel:%2B94%20716%20358%20048>





--

Thanks and Regards,

Osura Rathnayake






--

Thanks and Regards,

Isuru H.

+94 716 358 048 <tel:%2B94%20716%20358%20048>









--

Thanks and Regards,

Osura Rathnayake







--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057 <tel:%2B94%2077%20374%202057>
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware







--

Thanks and Regards,

Osura Rathnayake







--

Thanks and Regards,

Osura Rathnayake







--

Imesh Gunaratne
Senior Technical Lead
WSO2 Inc: http://wso2.com
T: +94 11 214 5345 M: +94 77 374 2057
W: http://imesh.io TW: @imesh
Lean . Enterprise . Middleware



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to