Hey Ashish, I don’t understand XWiki well enough to fully understand the implications of running a clustered setup by sharing file system.
Can you try keeping the deployment size initially 1, and then later try to increase the size? Does that also cause problems? Best, Shubham. > On 19-Jul-2019, at 4:03 PM, Ashish Sharma <[email protected]> wrote: > > Hey Shubham, > > I have moved the solr folder as exposed by the docker container to the file > system. I think in-memory cache is creating problem. > > I started 3 container of xwiki with shared file storage, but all three were > trying to initiate the postgress database, that is causing problem. > > I want to know few things about xwiki:- > > 1. Do we use java threads ? -> if we do then filesystem locking should have > been implemented for that? > > 2. Other stateful things in our application like caching or other > filestorage that should be externalise? > > > Thanks, > Ashish > > On Fri, 19 Jul 2019 at 3:59 AM, Shubham Jain <[email protected]> > wrote: > >> Hey Ashish, >> >> I think for now you could stick to deployment. Have you been ever to >> discover the data you need to move to the shared file system? Is the >> in-memory caching mechanism causing problems? >> >> @Thomas/Vincent - Can you please help us understand the implications of >> running XWiki in a clustered mode by sharing data volumes? >> >> Best, >> Shubham. >> >> >> Best, >> Shubham? >> >>> On 19-Jul-2019, at 5:35 AM, Ashish Sharma <[email protected]> >> wrote: >>> >>> Resent the email at the mail thread. >>> >>> On Fri, Jul 19, 2019 at 2:01 AM Ashish Sharma < >> [email protected]> >>> wrote: >>> >>>> Hello everyone, >>>> >>>> I am trying to implement xwiki helm chart in High availability but >> facing >>>> some problems. >>>> >>>> How we can implement High Availability(HA) in Kubernetes:- >>>> >>>> 1. Through Deployment:- In this approach we would use a shared file >>>> storage, that would get attached to multiple pods(or containers) >>>> 2. Through StatefulSet:- In this approach every pod(or container) would >>>> have it’s own different volume and state, which should be synchronised >> by >>>> an consensus algorithm >>>> >>>> Problem faced in xwiki case:- >>>> >>>> 1. In deployment case we need a locking mechanism for our filesystem, >>>> moreover caching and states should also be maintained outside the >> container. >>>> 2. In StatefulSet the consensus algorithm is not present so it is >>>> currently not possible. >>>> >>>> Could anyone help me through it. >>>> >>>> Thanks, >>>> Ashish >>>> >>>> On Wed, 10 Jul 2019 at 10:32 AM, Shubham Jain <[email protected]> >>>> wrote: >>>> >>>>> Hey Ashish, >>>>> >>>>> I think Vincent/Thomas can help with the PR on the xwiki-docker >> project. >>>>> >>>>> Regarding adding docs for High-Availability setup using shared data >>>>> volumes, I think you can use could create a docs folder in the GitHub >> repo, >>>>> and add the docs in Markdown format. I think you can also document it >> in >>>>> XWiki blog <https://www.xwiki.org/xwiki/bin/view/Blog/>. The chart >>>>> should support enabling HA, and then passing a storage class which >> supports >>>>> shareable volumes to Pods, and then you can document examples for using >>>>> this with something like Rook+GKE setup. >>>>> >>>>> Best, >>>>> Shubham. >>>>> >>>>> >>>>>> On 08-Jul-2019, at 1:57 PM, Ashish Sharma <[email protected] >>> >>>>> wrote: >>>>>> >>>>>> Hello everyone, >>>>>> >>>>>> I require the xwiki solr docker container to do progress with my >> work. I >>>>>> have made a pull request >>>>>> <https://github.com/xwiki-contrib/docker-xwiki/pull/22>, for the >> same. >>>>>> Please look into it. >>>>>> >>>>>> Moreover, I was working with Rook(Ceph Operator) for a shared file >>>>> system >>>>>> which would be a better approach to deploy our app on production. So I >>>>>> think we should document it somewhere. Can anyone help me where should >>>>> I do >>>>>> that. It may contain the details to configure rook-ceph, and then >>>>>> connecting it. >>>>>> >>>>>> P.S. I am writing a blog at Medium on how to configure rook on Google >>>>>> Kubernetes Engine. We could also use that? >>>>>> >>>>>> Thanks, >>>>>> Ashish >>>>>> >>>>>> On Mon, Jun 24, 2019 at 8:31 PM Ashish Sharma < >>>>> [email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Shubham, >>>>>>> >>>>>>> Thank you Shubham, I will start working on adding test cases. >>>>>>> >>>>>>> Thanks, >>>>>>> Ashish >>>>>>> >>>>>>> On Mon, 24 Jun 2019 at 3:32 PM, Shubham Jain < >> [email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hey Ashish, >>>>>>>> >>>>>>>> Thanks for the update. >>>>>>>> >>>>>>>> Adding our chart to incubator section of helm community charts >>>>> repository >>>>>>>> sounds great. Although (unlike Dockerhub) this repo is for community >>>>> charts >>>>>>>> and not really official charts of the respective installations, but >>>>>>>> supporting this chart in the community chart repo should help with >> the >>>>>>>> visibility. >>>>>>>> >>>>>>>> Lets also work on adding tests to the helm chart to ensure things >> are >>>>>>>> going fine. >>>>>>>> >>>>>>>> Best, >>>>>>>> Shubham. >>>>>>>> >>>>>>>>> On 21-Jun-2019, at 4:37 AM, Ashish Sharma < >>>>> [email protected]> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi everyone, >>>>>>>>> >>>>>>>>> Update on HELM project:- >>>>>>>>> >>>>>>>>> We have added some features to the chart that includes:- >>>>>>>>> * Making chart configurable with both mysql and postgres database >>>>>>>>> * We are now using configmaps and secrets for storing database >>>>>>>> credentials >>>>>>>>> * We use helm dependency to manage the dependencies of the chart >>>>>>>>> >>>>>>>>> I think our chart is ready to be deployed in the incubator section >> of >>>>>>>> helm >>>>>>>>> community repo. <https://github.com/helm/charts> If you guys >> agree I >>>>>>>> would >>>>>>>>> make the necessary changes required to deploy it there. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> - Ashish >>>>>>>>> >>>>>>>>> On Wed, Jun 5, 2019 at 7:40 PM Vincent Massol <[email protected]> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Ashish, >>>>>>>>>> >>>>>>>>>>> On 5 Jun 2019, at 15:07, Ashish Sharma < >> [email protected] >>>>>> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi everyone, >>>>>>>>>>> >>>>>>>>>>> The first week update of helm chart xwiki project. We currently >>>>> have a >>>>>>>>>>> chart that would deploy xwiki mysql stateful service with a >>>>> persistent >>>>>>>>>>> volume. The link to the repo:- >>>>>>>>>>> >>>>>>>>>>> https://github.com/xwiki-contrib/xwiki-helm >>>>>>>>>> >>>>>>>>>> Thanks for the update. >>>>>>>>>> >>>>>>>>>> Would be great if you could update the README file to explain who >> to >>>>>>>> use >>>>>>>>>> it. >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> -Vincent >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thank You >>>>>>>>>>> Ashish >>>>>>>>>>> >>>>>>>>>>> On Thu, 23 May 2019 at 7:27 PM, Ashish Sharma < >>>>>>>>>> [email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, May 22, 2019 at 12:42 PM Vincent Massol < >>>>> [email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Ashish, >>>>>>>>>>>>> >>>>>>>>>>>>>> On 21 May 2019, at 19:37, Ashish Sharma < >>>>>>>> [email protected]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi everyone, >>>>>>>>>>>>>> Thanks for having me here >>>>>>>>>>>>>> >>>>>>>>>>>>>> About Me >>>>>>>>>>>>>> >>>>>>>>>>>>>> I am Ashish Sharma, selected as a student for Google Summer of >>>>>>>> Code. I >>>>>>>>>>>>> am >>>>>>>>>>>>>> final year student enrolled in Guru Gobind Singh Indraprastha >>>>>>>>>>>>> University, >>>>>>>>>>>>>> Delhi. I am a resident of India. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Profiles >>>>>>>>>>>>>> GitHub - https://github.com/ashish932/xwiki-helm-chart/ >>>>>>>>>>>>>> LinkedIn - https://www.linkedin.com/in/ashish932/ >>>>>>>>>>>>>> Riot - @ashish932:matrix.org >>>>>>>>>>>>>> >>>>>>>>>>>>>> I will be presenting my project "Helm Chart for XWiki" to all >> of >>>>>>>> you. >>>>>>>>>>>>>> Following >>>>>>>>>>>>>> are the relevant details. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Helm Chart for XWiki >>>>>>>>>>>>>> >>>>>>>>>>>>>> Mentors: Shubham Jain, Neha Gupta >>>>>>>>>>>>>> >>>>>>>>>>>>>> Technologies: Kubernetes, Docker, other if required >>>>>>>>>>>>>> >>>>>>>>>>>>>> Overview >>>>>>>>>>>>>> The proposed project is a helm chart that would deploy xwiki >> as >>>>>>>> highly >>>>>>>>>>>>>> available and reliable. It should be configurable with >> different >>>>>>>>>>>>>> databases(either a standalone database or a clustered one) >> that >>>>> are >>>>>>>>>>>>>> configurable with xwiki. It would give the option to either >>>>>>>> configure >>>>>>>>>>>>> solr >>>>>>>>>>>>>> externally (standalone or clustered) or managed within the >>>>>>>> container. >>>>>>>>>>>>> >>>>>>>>>>>>> It also needs to be deployed on various Servlet Containers and >>>>> with >>>>>>>> a >>>>>>>>>>>>> LibreOffice server configured. >>>>>>>>>>>>> >>>>>>>>>>>>> In short, it should support all the configurations supported by >>>>> the >>>>>>>>>>>>> official XWiki Docker images :) >>>>>>>>>>>>> >>>>>>>>>>>>>> It >>>>>>>>>>>>>> should deploy the app on a shared file system like a rook. It >>>>>>>> should >>>>>>>>>>>>>> support Istio virtual services, istio matrix, and istio >>>>> distributed >>>>>>>>>>>>> tracing >>>>>>>>>>>>>> and should be a secured system with RBAC and security >> credential >>>>>>>>>>>>> rotation. >>>>>>>>>>>>> >>>>>>>>>>>>> Ok I have no knowledge about this… The shared file system >> sounds >>>>>>>> good >>>>>>>>>> to >>>>>>>>>>>>> support clustering XWiki for the permanent directory sharing. >>>>>>>>>>>>> >>>>>>>>>>>>>> The chart should be easily deployed on GKE and amazon EKS. >>>>>>>>>>>>> >>>>>>>>>>>>> On locally on minikube for testing I guess? >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Yes we can test using minikube one >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> Features >>>>>>>>>>>>>> >>>>>>>>>>>>>> -> Support for different Databases >>>>>>>>>>>>>> -> Choice between using an external database, a single node >> DB >>>>> or >>>>>>>> a >>>>>>>>>>>>>> multi-cluster DB setup >>>>>>>>>>>>>> -> Support for shared file system >>>>>>>>>>>>>> -> Support for istio and it's services >>>>>>>>>>>>>> -> RBAC, SSL and other security methods >>>>>>>>>>>>>> >>>>>>>>>>>>>> If you have any features in mind that should be added please >>>>> feel >>>>>>>> free >>>>>>>>>>>>> to >>>>>>>>>>>>>> reply to this mail. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Some Design Questions? >>>>>>>>>>>>>> -> Which Databases should be supported? >>>>>>>>>>>>> >>>>>>>>>>>>> See >>>>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>> >> https://dev.xwiki.org/xwiki/bin/view/Community/SupportStrategy/DatabaseSupportStrategy >>>>>>>>>>>>> >>>>>>>>>>>>> More generally see the XWiki Docker image documentation and >>>>>>>>>>>>> https://dev.xwiki.org/xwiki/bin/view/Community/SupportStrategy >>>>>>>>>>>>> >>>>>>>>>>>>>> -> As we have to detach solr out of the docker container(run >> it >>>>> in >>>>>>>> an >>>>>>>>>>>>>> independent container) would be there a requirement for a code >>>>>>>> change, >>>>>>>>>>>>> and >>>>>>>>>>>>>> we should approach it? >>>>>>>>>>>>> >>>>>>>>>>>>> See the doc for Solr which explains how to configure an >> external >>>>>>>> SOLR. >>>>>>>>>>>>> There are some XWiki code/config to deploy in the external SOLR >>>>>>>> AFAIR. >>>>>>>>>>>>> comunity controls chart >>>>>>>>>>>>>> -> Apart from solr is there any other stateful service that >>>>> could >>>>>>>> or >>>>>>>>>>>>> should >>>>>>>>>>>>>> be detached from the docker container? >>>>>>>>>>>>> >>>>>>>>>>>>> Which docker container are you referring to? The Servlet >>>>> Container >>>>>>>> one? >>>>>>>>>>>>> >>>>>>>>>>>>> xwiki:lts-mysql-tomcat >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>>> Here is my current repository which deploys XWiki for MySQL >>>>>>>> database >>>>>>>>>>>>> using >>>>>>>>>>>>>> official XWiki docker container:- >>>>>>>>>>>>>> https://github.com/ashish932/xwiki-helm-chart/ >>>>>>>>>>>>> >>>>>>>>>>>>> Will need to have a look. Some additional questions: >>>>>>>>>>>>> >>>>>>>>>>>>> 1) Is there an official place for publishing helm charts, >>>>> similar to >>>>>>>>>>>>> dockerhub for docker images? How do you provide the helm charts >>>>> to >>>>>>>>>> XWiki >>>>>>>>>>>>> users in term of packaging? In other words, what will we/you >>>>>>>> document >>>>>>>>>> on >>>>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>> >> https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/ >>>>>>>>>>>>> ? >>>>>>>>>>>>> >>>>>>>>>>>>> Yes, There is a centralized community control chart management >>>>>>>>>>>> repository. Helm charts are hosted there. Organizations like >>>>> mysql, >>>>>>>>>>>> wordpress uses it. >>>>>>>>>>>> https://github.com/helm/charts >>>>>>>>>>>> But in addition to that, we can build our own charts repository >>>>>>>> locally, >>>>>>>>>>>> and host it. Similar to docker run command, we have helm update >>>>>>>> command >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> 2) How do you plan to have smoke tests for the XWiki Helm >>>>> charts, as >>>>>>>>>> part >>>>>>>>>>>>> of the build, to verify that they work fine? How can we execute >>>>>>>> XWik’s >>>>>>>>>>>>> functional tests based on TestContainers using Helm Charts? >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> There are some tools available >>>>>>>>>>>> chart-testing(started by helm) -98 commits >>>>>>>>>>>> terratest - 1039 commits (It looks a good tool to use) >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> 3) Do the helm charts for XWiki need to be built? If so, can it >>>>> be >>>>>>>> done >>>>>>>>>>>>> with Maven? Since we’ll be offering several I guess, how do you >>>>>>>> avoid >>>>>>>>>> code >>>>>>>>>>>>> duplication and make maintenance of them as simple as possible? >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> No, the charts don’t need to be built externally, though it gets >>>>>>>>>>>> compressed when pushed f we build to chart repository(this is an >>>>>>>>>> automatic >>>>>>>>>>>> step in case of official chart repo and we can automate using ci >>>>> our >>>>>>>> own >>>>>>>>>>>> chart repo) >>>>>>>>>>>> >>>>>>>>>>>> 4) Could you provide a roadmap with various milestones and >> dates? >>>>> See >>>>>>>>>> the >>>>>>>>>>>>> last roadmap email I sent on the devs list and please reply to >>>>> it. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Okay I would work on that and update the progress on the mail >>>>> thread >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> 5) It seems you missed the bonding period so you’ll need to >> catch >>>>>>>> up on >>>>>>>>>>>>> that. Could you pick some jira issue and work on them quickly? >>>>> This >>>>>>>> is >>>>>>>>>> to >>>>>>>>>>>>> make sure you use the proper xwiki communication channels, >> learn >>>>> to >>>>>>>>>> work >>>>>>>>>>>>> with the xwiki team and start understanding the xwiki >>>>> architecture, >>>>>>>>>> and how >>>>>>>>>>>>> extensions are developed for XWiki. Since you’re a bit late, >>>>> you’ll >>>>>>>>>> need to >>>>>>>>>>>>> catch up and achieve this very quickly now and be present full >>>>> time >>>>>>>> on >>>>>>>>>> the >>>>>>>>>>>>> xwiki chat :) >>>>>>>>>>>>> >>>>>>>>>>>> I would start doing that >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 6) Idea: please review the issues on the XWiki Docker project’s >>>>>>>> jira. >>>>>>>>>>>>> Maybe you can help with those too as part of >> onboarding/bonding. >>>>> It >>>>>>>>>> should >>>>>>>>>>>>> also give you additional use cases for the XWiki Helm Charts >> IMO. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks! I’m eager to follow your work and see xwiki helm charts >>>>> in >>>>>>>>>> action. >>>>>>>>>>>>> >>>>>>>>>>>>> -Vincent >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thank You >>>>>>>>>>>>>> Ashish Sharma >>>>>>>>>>>>> >>>>>>>>>>>>> Thank You >>>>>>>>>>>> Ashish >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>> >>>>> >>

