Open abhi1git opened 4 years ago
Please refer to https://github.com/wso2/kubernetes-apim/issues/397#issuecomment-660429579 for suggested solutions for this issue.
Also, when switching to persistence for Apache based Solr-Indexing, we recommend you to perform a clean deployment (i.e. to delete any Pods remaining from a previous deployment of this pattern, if any using a helm uninstall
) using helm install
rather than using a Helm based upgrade (i.e. using the helm upgrade
command) on an existing deployment.
@abhi1git in connection with the https://github.com/wso2/kubernetes-apim/issues/457#issuecomment-684952601, for detailed information on switching to a different persistent storage solution, please refer to this section of the documentation.
Please refer to #397 (comment) for suggested solutions for this issue.
Also, when switching to persistence for Apache based Solr-Indexing, we recommend you to perform a clean deployment (i.e. to delete any Pods remaining from a previous deployment of this pattern, if any using a
helm uninstall
) usinghelm install
rather than using a Helm based upgrade (i.e. using thehelm upgrade
command) on an existing deployment.
Yes I have already enabled NFS server provisioner and using storageclass nfs only for all wso2 pvc claims also had done a clean deployment when enabled solr indexing still facing this issue and then raised it here. Please let me know if there's a fix available for this or if it is going to be considered for next release
Also wanted to suggest if helm charts can be developed to persist full home directory of wso2 so that any configuration changes I do in other config files for example identity.xml etc won't be lost.
Thanks @chirangaalwis Awaiting your reply.
@abhi1git can you please elaborate your use case? In the long run, how many APIs do you plan manage via WSO2 API Manager?
Yes I have already enabled NFS server provisioner and using storageclass nfs only for all wso2 pvc claims also had done a clean deployment when enabled solr indexing still facing this issue and then raised it here.
Did you install the NFS Server Provisioner based Kubernetes StorageClass via the WSO2 product Helm chart (i.e. in the form of a dependency of WSO2 product Helm chart)? Or did you perform an independent, cluster wide installation of the NFS Server Provisioner?
Can you explain the exact steps you have followed when performing the clean deployment (including the Helm based commands) in which you encountered the discussed issue?
Furthermore, what is the infrastructure you have used to create the Kubernetes cluster (i.e. whether it is cloud-based or it is on bare metal, if cloud based what is the cloud vendor)?
Please let me know if there's a fix available for this or if it is going to be considered for next release
Also wanted to suggest if helm charts can be developed to persist full home directory of wso2 so that any configuration changes I do in other config files for example identity.xml etc won't be lost.
WSO2 recommends the use of Kubernetes ConfigMaps to introduce configuration changes to a deployment. Using a ConfigMap ensures, that you pass the same configuration change to the product container based Pods every time you spawn a new instance.
[2020-09-07 15:06:10,196] INFO {org.wso2.config.mapper.ConfigParser} - Applying Configurations upon new Templates
[2020-09-07 15:06:10,198] WARN {org.wso2.config.mapper.ConfigParser} - Overriding files in configuration directory /home/wso2carbon/wso2am-3.2.0
[2020-09-07 15:06:11,122] SEVERE {org.wso2.carbon.server.Main handleConfiguration} - Error while performing configuration changes
org.wso2.config.mapper.ConfigParserException: Error while store new configurations
at org.wso2.config.mapper.ConfigParser.parse(ConfigParser.java:132)
at org.wso2.carbon.server.Main.handleConfiguration(Main.java:231)
at org.wso2.carbon.server.Main.main(Main.java:103)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.wso2.carbon.bootstrap.Bootstrap.loadClass(Bootstrap.java:70)
at org.wso2.carbon.bootstrap.Bootstrap.main(Bootstrap.java:51)
Caused by: java.io.IOException: Read-only file system
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createNewFile(File.java:1026)
at org.wso2.config.mapper.ConfigParser.deploy(ConfigParser.java:223)
at org.wso2.config.mapper.ConfigParser.deployAndStoreMetadata(ConfigParser.java:180)
at org.wso2.config.mapper.ConfigParser.parse(ConfigParser.java:127)
... 8 more
Can you please guide about or point me to an example which demonstrates passing configmaps for any other config file than deployment.toml. Or please elaborate on how changes from deployment.toml of wso2-config-volume are getting reflected in /home/wso2carbon/wso2am-3.2.0/repository/conf/deployment.toml
@chirangaalwis
Description: I am installing latest helm chart of wso2 3.2.0 advanced pattern 1. When .Values.wso2.deployment.persistentRuntimeArtifacts.apacheSolrIndexing.enabled =false the apim deployment start correctly but when its value is made true (need to persist carbon data) then I get following logs and pod keeps on restarting.
Affected Product Version: 3.2.0/Advanced/Pattern 1 OS, DB, other environment details and versions:
Kubernetes(v1.16.9) Cluster 3 master and 2 nodes Steps to reproduce: Change apacheSolrIndexing.enabled =true in values.yaml file of pattern1 an then install helm chart