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
