Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] Che-Theia dogfooding on che.openshift.io



On Wed, Jan 29, 2020 at 1:54 PM Gorkem Ercan <gorkem.ercan@xxxxxxxxx> wrote:
Adding @Alexey Kazakov 

These limits come from cluster wide templates. 

I think we can extend the PVC quotas, something we discussed last time when we extended memory limits. 
--
Gorkem

On Wed, Jan 29, 2020 at 6:33 AM Vitaliy Gulyy <vgulyy@xxxxxxxxxx> wrote:
Hi Gennady,

Yes, it's possible to change the workspace from '/projects' to '/tmp/theia' using 'File > Open Workspace...'.
But in this case '/tmp/theia' directory must be created by hand.

But there is another inconvenience, that it '/tmp' directory is totally removed when workspace restart.


On Wed, Jan 29, 2020 at 1:05 PM Gennady Azarenkov <gazarenk@xxxxxxxxxx> wrote:
Hi Vitaliy,

Thanks for sharing this.

For my understanding: 

Do we know where those limitations (3G for root and 1G for /projects) are configured? @Ilya Buziuk any idea?

Ah, I thought about ephemeral, apparently /projects is mounted with gluster PV so it's clear why, all right.
Indeed extending pvc quota may help but maybe not that much for building che-theia on glusterfs.
So, you "rsync" scheme looks quite workable, that's how it worked on codenvy.io and with a certain level of
automation would resolve Hosted Che storage crisis.

As a workaround, can not you make Che to use /tmp/theia as a work directory instead? Is it hardcoded to /projects/theia/ somehow?



On Wed, Jan 29, 2020 at 12:51 PM Vitaliy Gulyy <vgulyy@xxxxxxxxxx> wrote:
Hello team,

I'd like to share the way how to develop che-theia on che.openshift.io
where we have a restriction on disk space for projects in one gigabyte.
The main idea is using temporary directory in the root where the limitation
of disk space is 3 gigabytes, which is pretty enough to build the project.

The development flow includes:
- workspace creation, cloning theia sources
- copying sources to /tmp/theia directory
- initializing che-theia
- building
- launching
- making and applying changes

# Workspace creation, cloning theia sources

To create a workspace I use devdile[1], which has a set of commands helping
me to operate with source code. After starting, my workspace has
cloned two theia and che-theia projects. I’m focused on developing
packages in theia core, that’s why sources of che-theia temporary are not
used.

# Copying sources to '/tmp/theia' directory

To copy sources to '/tmp/theia' directory I use rsync, running in che-dev
container.
As eclipse/che-theia-dev image does not have rsync tool, I had to extend
that image[2] and install rsync. The devfile has '1 Rsync Theia' command to
easily
synchronizing '/protects/theia' directory with '/tmp/theia'.

    $ rsync -rtv --exclude='node_mobules' /projects/theia/ /tmp/theia/;

# Initlalizing che-theia

To initialize che-theia we need to run 'che:theia init' in '/tmp/theia'
directory.
The '2 Init che:theia' command does that in one click.

# Building

'3 Build che:theia' command runs 'yarn' in '/tmp/theia' directory.

# Launching

For Che-Theia I prefer to use dedicated directories for plugins, default
plugins and
for projects, which is used as Theia workspace directory. In the directory
with default
plugins I copy all the plugins from '/default-theia-plugins', which is
accessible only from
'theia-ide'. That's why '4.1 Prepare theia-* dirs' command is running in
that container.

    $ mkdir -v /projects/theia-default-plugins
    $ mkdir -v /projects/theia-plugins
    $ mkdir -v /projects/theia-projects-dir
    $ cd /default-theia-plugins
    $ cp -v * /projects/theia-default-plugins/

'4.2 Launch' command sets necessary variables and launches Che-Theia
in 'che-dev' container.

    $ cd /tmp/theia/examples/assembly
    $ export CHE_PROJECTS_ROOT="/projects/theia-projects-dir"
    $ export
THEIA_DEFAULT_PLUGINS="local-dir:///projects/theia-default-plugins"
    $ export THEIA_PLUGINS="local-dir:///projects/theia-plugins"
    $ export THEIA_PLUGIN_ENDPOINT_DISCOVERY_PORT='2506'
    $ theia start /projects/theia-projects-dir --hostname=0.0.0.0
--port=3010

To open Che-Theia, click 'che-dev/theia-dev-flow' node in My Workspace view
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/che-dev

Back to the top