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>*

B) This file should be read by all other components (e.g SM, AS) which need
these properties.

WDYT?

[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

Reply via email to