On Fri, Nov 13, 2015 at 4:54 PM, Sajith Kariyawasam <saj...@wso2.com> wrote:
> From which component do we read puppet.* values? > AS. > > On Fri, Nov 13, 2015 at 4:19 PM, Rajkumar Rajaratnam <rajkum...@wso2.com> > wrote: > >> Akila, +1. >> >> @All, What do you think about the following structure for >> stratos-manager.xml? It is similar to autoscaler.xml. >> >> <configuration> >> <stratosManager> >> <cloudController> >> <hostname>localhost</hostname> >> <port>9443</port> >> <serviceSuffix>services/CloudControllerService</serviceSuffix> >> <!-- cloud controller client timout in ms --> >> <clientTimeout>300000</clientTimeout> >> </cloudController> >> <Metering> >> <hostname>localhost</hostname> >> <port>9443</port> >> >> <serviceSuffix>portal/dashboards/metering-dashboard</serviceSuffix> >> <!-- metering client timout in ms --> >> <clientTimeout>300000</clientTimeout> >> </Metering> >> <Monitoring> >> <hostname>localhost</hostname> >> <port>9443</port> >> >> <serviceSuffix>portal/dashboards/monitoring-dashboard</serviceSuffix> >> <!-- monitoring client timout in ms --> >> <clientTimeout>300000</clientTimeout> >> </Monitoring> >> <threadpool> >> <identifier>stratosManager</identifier> >> <threadPoolSize>10</threadPoolSize> >> </threadpool> >> </stratosManager> >> </configuration> >> >> Thanks, >> Raj. >> >> On Fri, Nov 13, 2015 at 3:49 PM, Akila Ravihansa Perera < >> raviha...@wso2.com> wrote: >> >>> Hi, >>> >>> I'd prefer not to use System variables to pass service URLs. Any >>> component which needs those can read from the file right? >>> >>> Thanks. >>> >>> On Fri, Nov 13, 2015 at 3:15 PM, Rajkumar Rajaratnam <rajkum...@wso2.com >>> > wrote: >>> >>>> Hi All, >>>> >>>> Thanks for your thoughts. >>>> >>>> Will do the following. >>>> >>>> 1) Lets remove service URLs (AS, SM, CC & DAS) from >>>> cartridge-config.properties file >>>> 2) Lets included these service URLs in stratos-manager.xml (new) and >>>> autoscaler.xml. CC doesn't need these URLs. >>>> 3) Configuration file (stratos-manager.xml & autoscaler.xml) >>>> readers/parsers will set these URLs as system variables. >>>> 4) No other code changes required, because we are reading these >>>> properties from system variables in our code base (expect DAS URLs) >>>> 5) Lets update the console app [1] to read the DAS metering & >>>> monitoring URLs from stratos-manager.xml >>>> >>>> If you think this is too much work for this release, we can read the >>>> same cartridge-config.properties file from both SM & AS. >>>> >>>> Please do let me know if you have any concerns. >>>> >>>> [1] >>>> https://github.com/apache/stratos/blob/stratos-4.1.x/components/org.apache.stratos.manager.console/console/app.js#L48 >>>> >>>> Thanks, >>>> Raj. >>>> >>>> On Fri, Nov 13, 2015 at 2:19 PM, Sajith Kariyawasam <saj...@wso2.com> >>>> wrote: >>>> >>>>> What if we keep stratos-manger.xml, cloud-controller.xml (already >>>>> have) and autoscaler.xml (already have) file and move only the relevant >>>>> configs to each of those files? >>>>> For eg, the values need to be read by SM should only be in >>>>> stratos-manager.xml. >>>>> I think cartridge-config.properties file was meant to be read by SM >>>>> only and if other components are using the values defined in that file, >>>>> IMO >>>>> its not good. >>>>> >>>>> >>>>> On Fri, Nov 13, 2015 at 1:55 PM, Thanuja Uruththirakodeeswaran < >>>>> thanu...@wso2.com> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Fri, Nov 13, 2015 at 12:53 PM, Gayan Gunarathne <gay...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> On Fri, Nov 13, 2015 at 12:42 PM, Rajkumar Rajaratnam < >>>>>>> rajkum...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi Devs, >>>>>>>> >>>>>>>> This file content is as below. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *autoscaler.service.url=https://localhost:9443/services/AutoscalerService/ >>>>>>>> <https://localhost:9443/services/AutoscalerService/>cloud.controller.service.url=https://localhost:9443/services/CloudControllerService/ >>>>>>>> <https://localhost:9443/services/CloudControllerService/>stratos.manager.service.url=https://localhost:9443/services/StratosManagerService/ >>>>>>>> <https://localhost:9443/services/StratosManagerService/>das.metering.dashboard.url=https://localhost:9444/portal/dashboards/metering-dashboard >>>>>>>> <https://localhost:9444/portal/dashboards/metering-dashboard>das.monitoring.dashboard.url=https://localhost:9444/portal/dashboards/monitoring-dashboard >>>>>>>> <https://localhost:9444/portal/dashboards/monitoring-dashboard>puppet.ip=127.0.0.1puppet.hostname=puppet.stratos.apache.org >>>>>>>> <http://puppet.stratos.apache.org>puppet.dns.available=falsepuppet.environment=stratos* >>>>>>>> >>>>>>>> CartridgeConfigFileReader class (part of SM component) reads this >>>>>>>> file and set these properties as system variables and these system >>>>>>>> variables are used by other components like AS (to communicate with >>>>>>>> CC). >>>>>>>> >>>>>>>> This approach have several issues. >>>>>>>> >>>>>>>> a) Since the component's start up order is CC > AS > SM, there is >>>>>>>> no guarantee that these properties will be set before other components >>>>>>>> start. >>>>>>>> b) In distributed deployment, these properties will not be set in >>>>>>>> AS JVM. >>>>>>>> c) This file contains information which are used by other >>>>>>>> components, not only cartridges. So this file name is misleading. >>>>>>>> >>>>>>>> IMO, we need to fix it for 4.1.5 release. Without fixing this, I >>>>>>>> can't fix the issue discussed in [1]. I am getting error [2]. >>>>>>>> >>>>>>>> There can be several way to fix this; some of them are. >>>>>>>> >>>>>>>> A) We can remove following properties from >>>>>>>> cartridge-config.properties file and set them as system properties in >>>>>>>> stratos.sh scripts. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *autoscaler.service.url=https://localhost:9443/services/AutoscalerService/ >>>>>>>> <https://localhost:9443/services/AutoscalerService/>cloud.controller.service.url=https://localhost:9443/services/CloudControllerService/ >>>>>>>> <https://localhost:9443/services/CloudControllerService/>stratos.manager.service.url=https://localhost:9443/services/StratosManagerService/ >>>>>>>> <https://localhost:9443/services/StratosManagerService/>das.metering.dashboard.url=https://localhost:9444/portal/dashboards/metering-dashboard >>>>>>>> <https://localhost:9444/portal/dashboards/metering-dashboard>das.monitoring.dashboard.url=https://localhost:9444/portal/dashboards/monitoring-dashboard >>>>>>>> <https://localhost:9444/portal/dashboards/monitoring-dashboard>* >>>>>>>> >>>>>>> >>>>>> +1 to move *das.metering.dashboard.url and * >>>>>> *das.monitoring.dashboard.url *properties to stratos.sh. >>>>>> Because I also had an issue in reading this properties at webapp >>>>>> initialization as webapp initialized before SM gets activated and at the >>>>>> time of webapp initialization these properties are not exported as system >>>>>> properties and can't read them using jaggery 'process' module. >>>>>> So I loaded cartridge-config.properties file using jaggery 'carbon' >>>>>> module and read these two param at webapp initialization as in here[1]. >>>>>> >>>>>> [1]. >>>>>> https://github.com/apache/stratos/blob/stratos-4.1.x/components/org.apache.stratos.manager.console/console/app.js#L48 >>>>>> >>>>>> >>>>>>>> >>>>>>>> B) This file should be read by all other components (e.g SM, AS) >>>>>>>> which need these properties. >>>>>>>> >>>>>>>> WDYT? >>>>>>>> >>>>>>> >>>>>>> IMO we can read this file and maintain the information in the in >>>>>>> memory so every component can pick from there. We can have a common >>>>>>> method >>>>>>> to read this file as those properties are used among all the components. >>>>>>> Also we can change the configuration name also as that configuration >>>>>>> name seems to be confuse. May be we can have like >>>>>>> stratos-config.properties >>>>>>> >>>>>>> >>>>>>>> [1] [Stratos 4.1.5] [Blocker] Monitors are not created on Stratos >>>>>>>> restart >>>>>>>> [2] >>>>>>>> >>>>>>>> [2015-11-13 11:37:36,468] ERROR >>>>>>>> {org.apache.stratos.autoscaler.monitor.MonitorFactory} - Error while >>>>>>>> validating deployment policy from cloud controller >>>>>>>> [network-partition-id] >>>>>>>> network-partition-1 >>>>>>>> java.lang.RuntimeException: System property not found: >>>>>>>> cloud.controller.service.url >>>>>>>> at >>>>>>>> org.apache.stratos.common.client.CloudControllerServiceClient.getInstance(CloudControllerServiceClient.java:75) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.MonitorFactory.getClusterMonitor(MonitorFactory.java:270) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.MonitorFactory.getMonitor(MonitorFactory.java:83) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor$MonitorAdder.run(ParentComponentMonitor.java:1001) >>>>>>>> at >>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >>>>>>>> at >>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>>>>> at >>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>> [2015-11-13 11:37:36,469] ERROR >>>>>>>> {org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor} >>>>>>>> - >>>>>>>> An error occurred while starting monitor: [type] cluster [component] >>>>>>>> single-cartridge-app.my-php.php.domain >>>>>>>> java.lang.RuntimeException: Error while validating deployment >>>>>>>> policy from cloud controller [network-partition-id] network-partition-1 >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.MonitorFactory.getClusterMonitor(MonitorFactory.java:278) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.MonitorFactory.getMonitor(MonitorFactory.java:83) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor$MonitorAdder.run(ParentComponentMonitor.java:1001) >>>>>>>> at >>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:262) >>>>>>>> at >>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>>>>> at >>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>> Caused by: java.lang.RuntimeException: System property not found: >>>>>>>> cloud.controller.service.url >>>>>>>> at >>>>>>>> org.apache.stratos.common.client.CloudControllerServiceClient.getInstance(CloudControllerServiceClient.java:75) >>>>>>>> at >>>>>>>> org.apache.stratos.autoscaler.monitor.MonitorFactory.getClusterMonitor(MonitorFactory.java:270) >>>>>>>> ... 7 more >>>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Raj. >>>>>>>> >>>>>>>> -- >>>>>>>> Rajkumar Rajaratnam >>>>>>>> Committer & PMC Member, Apache Stratos >>>>>>>> Software Engineer, WSO2 >>>>>>>> >>>>>>>> Mobile : +94777568639 >>>>>>>> Blog : rajkumarr.com >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> Gayan Gunarathne >>>>>>> Technical Lead, WSO2 Inc. (http://wso2.com) >>>>>>> Committer & PMC Member, Apache Stratos >>>>>>> email : gay...@wso2.com | mobile : +94 775030545 >>>>>>> <%2B94%20766819985> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanuja Uruththirakodeeswaran >>>>>> Software Engineer >>>>>> WSO2 Inc.;http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> mobile: +94 774363167 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Sajith Kariyawasam >>>>> *Committer and PMC member, Apache Stratos, * >>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>> *Mobile: 0772269575* >>>>> >>>> >>>> >>>> >>>> -- >>>> Rajkumar Rajaratnam >>>> Committer & PMC Member, Apache Stratos >>>> Software Engineer, WSO2 >>>> >>>> Mobile : +94777568639 >>>> Blog : rajkumarr.com >>>> >>> >>> >>> >>> -- >>> Akila Ravihansa Perera >>> WSO2 Inc.; http://wso2.com/ >>> >>> Blog: http://ravihansa3000.blogspot.com >>> >> >> >> >> -- >> Rajkumar Rajaratnam >> Committer & PMC Member, Apache Stratos >> Software Engineer, WSO2 >> >> Mobile : +94777568639 >> Blog : rajkumarr.com >> > > > > -- > Sajith Kariyawasam > *Committer and PMC member, Apache Stratos, * > *WSO2 Inc.; http://wso2.com <http://wso2.com>* > *Mobile: 0772269575* > -- Rajkumar Rajaratnam Committer & PMC Member, Apache Stratos Software Engineer, WSO2 Mobile : +94777568639 Blog : rajkumarr.com