>From which component do we read puppet.* values?

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*

Reply via email to