Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The system doesn't support reading configurations from environment/system variables for file repository/conf/axis2/axis2.xml #15

Closed
yhilem opened this issue Aug 13, 2017 · 3 comments
Assignees
Milestone

Comments

@yhilem
Copy link

yhilem commented Aug 13, 2017

Hi,
I have defined a system variable in repository/conf/axis2/axis2.xml :

    <parameter name="keystore" locked="false">
        <KeyStore>
            <Location>${wso2_keystores_keystore_location}</Location>
            <Type>JKS</Type>
            <Password>wso2carbon</Password>
            <KeyPassword>wso2carbon</KeyPassword>
        </KeyStore>
    </parameter>

</transportReceiver>

But apparently, reading the environment variables is not supported for the file axis2.xml.
At startup, I have this exception:

2017-08-13T07:21:42.766223800Z [2017-08-13 07:21:42,765] INFO - PassThroughHttpSSLSender No proxy configuration found
2017-08-13T07:21:42.770248300Z [2017-08-13 07:21:42,768] ERROR - ClientConnFactoryBuilder HTTPS Error opening Keystore : ${wso2_keystores_keystore_location}
2017-08-13T07:21:42.770296200Z java.io.FileNotFoundException: ${wso2_keystores_keystore_location} (No such file or directory)
2017-08-13T07:21:42.770398800Z at java.io.FileInputStream.open0(Native Method)
2017-08-13T07:21:42.770413100Z at java.io.FileInputStream.open(FileInputStream.java:195)
2017-08-13T07:21:42.770449800Z at java.io.FileInputStream.(FileInputStream.java:138)
2017-08-13T07:21:42.770477000Z at java.io.FileInputStream.(FileInputStream.java:93)
2017-08-13T07:21:42.770508600Z at org.apache.synapse.transport.nhttp.config.ClientConnFactoryBuilder.createSSLContext(ClientConnFactoryBuilder.java:285)
2017-08-13T07:21:42.770519000Z at org.apache.synapse.transport.nhttp.config.ClientConnFactoryBuilder.parseSSL(ClientConnFactoryBuilder.java:100)
2017-08-13T07:21:42.770562700Z at org.apache.synapse.transport.passthru.PassThroughHttpSSLSender.initConnFactoryBuilder(PassThroughHttpSSLSender.java:45)
2017-08-13T07:21:42.770573300Z at org.apache.synapse.transport.passthru.PassThroughHttpSender.init(PassThroughHttpSender.java:160)
2017-08-13T07:21:42.770605700Z at org.apache.synapse.transport.passthru.PassThroughHttpSSLSender.init(PassThroughHttpSSLSender.java:33)
2017-08-13T07:21:42.770616200Z at org.apache.axis2.context.ConfigurationContextFactory.initTransportSenders(ConfigurationContextFactory.java:300)
2017-08-13T07:21:42.770656900Z at org.apache.axis2.context.ConfigurationContextFactory.init(ConfigurationContextFactory.java:231)
2017-08-13T07:21:42.770683500Z at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:93)
2017-08-13T07:21:42.770714300Z at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65)
2017-08-13T07:21:42.770725700Z at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398)
2017-08-13T07:21:42.770753200Z at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
2017-08-13T07:21:42.770770500Z at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:94)
2017-08-13T07:21:42.770798200Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2017-08-13T07:21:42.770808400Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2017-08-13T07:21:42.770835100Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2017-08-13T07:21:42.770845400Z at java.lang.reflect.Method.invoke(Method.java:498)
2017-08-13T07:21:42.770870200Z at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
2017-08-13T07:21:42.770880200Z at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
2017-08-13T07:21:42.770905900Z at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
2017-08-13T07:21:42.770916000Z at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
2017-08-13T07:21:42.770941600Z at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
2017-08-13T07:21:42.770952600Z at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
2017-08-13T07:21:42.770982900Z at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
2017-08-13T07:21:42.771328700Z at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
2017-08-13T07:21:42.771360900Z at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
2017-08-13T07:21:42.771368200Z at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
2017-08-13T07:21:42.771372200Z at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
2017-08-13T07:21:42.771376800Z at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
2017-08-13T07:21:42.771380900Z at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
2017-08-13T07:21:42.771384000Z at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
2017-08-13T07:21:42.771387000Z at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
2017-08-13T07:21:42.771389800Z at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
2017-08-13T07:21:42.771393000Z at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
2017-08-13T07:21:42.771395900Z at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
2017-08-13T07:21:42.771398900Z at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
2017-08-13T07:21:42.771402000Z at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
2017-08-13T07:21:42.771408300Z at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269)
2017-08-13T07:21:42.771411200Z at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182)
2017-08-13T07:21:42.771414000Z at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072)
2017-08-13T07:21:42.771416800Z at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368)
2017-08-13T07:21:42.771419600Z at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660)
2017-08-13T07:21:42.771422300Z at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
2017-08-13T07:21:42.771425100Z at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
2017-08-13T07:21:42.771427900Z at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
2017-08-13T07:21:42.771430900Z at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2017-08-13T07:21:42.771433900Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2017-08-13T07:21:42.771436700Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2017-08-13T07:21:42.771449300Z at java.lang.Thread.run(Thread.java:748)

.........................................................................................................................

Some values (variables) are specific to each environment (DEV, QA, PRE-PROD, PROD).
If I can not put them in variables, this will result in the creation of as many docker images as the environments for the same component.

In addition, it is already supported for other configuration files (https://wso2.org/jira/browse/CARBON-15791).

Thanks,
Youcef HILEM

@yhilem yhilem changed the title repository/conf/axis2/axis2.xml doesn't support reading configurations from environment/system variables The system doesn't support reading configurations from environment/system variables for file repository/conf/axis2/axis2.xml Aug 13, 2017
@isurulucky
Copy link
Contributor

isurulucky commented Aug 15, 2017

Hi Youcef,

Reading all configurations from environment variables is not currently supported for axis2.xml. Therefore the preferred way is to maintain separate images for each environment.

Thanks,
Isuru H.

@yhilem
Copy link
Author

yhilem commented Aug 15, 2017

Thank you.

@yhilem yhilem closed this as completed Aug 15, 2017
@lakwarus
Copy link
Contributor

lakwarus commented Sep 1, 2017

From APIM v3 onward, this will be support by default. All configs can be read from environment variables.

pubudu538 pushed a commit that referenced this issue Nov 9, 2017
Added pattern-7/docker-compose-swarm.yml is-key-manager image name.
@imesh imesh added this to the 2.1.0.1 milestone Nov 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants