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 <jainshubham78(a)gmail.com>
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
<sharma.ashish960(a)gmail.com>
wrote:
Resent the email at the mail thread.
On Fri, Jul 19, 2019 at 2:01 AM Ashish Sharma <
sharma.ashish960(a)gmail.com>
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 <jainshubham78(a)gmail.com>
> 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 <sharma.ashish960(a)gmail.com
>> 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 <
>> sharma.ashish960(a)gmail.com>
>>> 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 <
jainshubham78(a)gmail.com>
>>>> 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 <
>> sharma.ashish960(a)gmail.com>
>>>>> 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
<vincent(a)massol.net>
>>>>> wrote:
>>>>>>
>>>>>>> Hi Ashish,
>>>>>>>
>>>>>>>> On 5 Jun 2019, at 15:07, Ashish Sharma <
sharma.ashish960(a)gmail.com
>>>
>>>>>>> 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 <
>>>>>>> sharma.ashish960(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, May 22, 2019 at 12:42 PM Vincent Massol <
>> vincent(a)massol.net>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Ashish,
>>>>>>>>>>
>>>>>>>>>>> On 21 May 2019, at 19:37, Ashish Sharma <
>>>>> sharma.ashish960(a)gmail.com>
>>>>>>>>>> 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/DatabaseSupp…
>>>>>>>>>>
>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>
>>