Commit Graph

114 Commits (b42a062dd36f44aabfbfa53e2d3e41e58460264f)

Author SHA1 Message Date
Alexander Garagatyi bacdc0a4fc CHE-1365: add docker networking API
Add networking API to docker client.
Change JSON serialization/deserialization in docker client to
fix incorrect naming policy work of JsonHelper.
Fix entrypoint field in ContainerConfig since it is array of
strings, not single string.
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-07-04 13:09:25 +03:00
Mykola Morhun 05aeec9045 CHE-277: Put logs of main process of machine to machine logs
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-07-02 10:31:44 +03:00
Alexander Garagatyi 8108d6a675 Fix integration test on latest ubuntu (#1623)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-07-01 12:33:46 +03:00
Mykola Morhun c3c5c24753 CODENVY-606: fix NPE in DockerInstanceStopDetector
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-07-01 11:30:12 +03:00
Mario Loriedo 39fa37f0d3 Improvements to set the right API endpoint URL (#1576)
Read env variable CHE_API_ENDPOINT if property machine.docker.che_api.endpoint is not set
Set Che host IP to eth0 default IP when docker0 is not found on linux
Fixing typos

Signed-off-by: Mario Loriedo <mloriedo@redhat.com>
2016-06-30 17:00:48 +03:00
Anton Korneta ec461af679 CHE-1276: Add exception handler during creation machine from snapshot 2016-06-27 13:44:28 +03:00
Mykola Morhun 1176f4192e CHE-1296: ​​Use docker auth config saved in user preferences to start machine from private image
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-06-21 17:10:42 +03:00
Eugene Ivantsov 3ba68b1d00 Add Z suffix to override ws agent conf on RHEL systems
Signed-off-by: Eugene Ivantsov <eivantsov@codenvy.com>
2016-06-21 09:47:14 +03:00
Mykola Morhun bfc64d50c8 Improve code which works with docker authentication
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-06-15 12:17:12 +03:00
Mykola Morhun 88aa82811b CHE-1245: Update docker client to use new format of X-Registry-Config header
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-06-12 14:46:11 +03:00
Sergii Leschenko 42690da407 CODENVY-480 Remove user's roles (#1336) 2016-06-10 17:32:02 +03:00
Igor Vinokur deac6b5536 CODENVY-608: Close output consumer on destroy machine 2016-06-10 11:34:01 +03:00
Roman Iuvshin d9c2e72565 Fix integer overflowing 2016-06-08 17:11:17 +03:00
Roman Iuvshin 477e71533f CODENVY-595: add possibility to adjust machine swap size 2016-06-08 12:03:55 +03:00
Roman Iuvshin e50cd7b209 CODENVY-610: add possibility to set no_proxy ENV var in machine
Signed-off-by: Roman Iuvshin <riuvshin@codenvy.com>
2016-06-06 22:56:32 +03:00
Anton Korneta 8d26c71935 CHE-1275: Add api endpoint property into each non dev machine environment 2016-06-02 16:54:23 +03:00
Florent BENOIT ae4c5521bf CODENVY-560 : Introduce new type for providing docker recipes and remove InstanceKey
#1 new docker recipe type

currently we have type:"dockerfile", location: "http://path-to-recipe"

now we could provide
type:"dockerfile", content: "FROM codenvy/foo\nENV FLORENT=TRUE\"

and
type:"image", location or content: "codenvy/foo"

#2 InstanceKey
Up to now, InstanceKey was used to perform snapshot recovery.
But machine source is a way to provide this information.
So remove InstanceKey and replace it by MachineSource (and DockerMachineSource instead of DockerInstanceKey)

InstanceProvider:
void removeInstanceSnapshot(InstanceKey instanceKey)
--> void removeInstanceSnapshot(MachineSource machineSource)

Instance:
InstanceKey saveToSnapshot(String owner)
--> MachineSource saveToSnapshot(String owner)

#3 InstanceProvider model
To avoid also that MachineManager "knows" the inner type, the recipe handling is moved to the instance provider implementation
And as the snapshot handling is with MachineSource (included in MachineConfig included in Machine), no need to give extra InstanceKey parameter

Replace two previous methods

Instance createInstance(Recipe recipe,
                            Machine machine,
                            LineConsumer creationLogsOutput)

 Instance createInstance(InstanceKey instanceKey,
                            Machine machine,
                            LineConsumer creationLogsOutput) throws NotFoundException, InvalidInstanceSnapshotException, MachineException;

by only one:
   createInstance(Machine machine,
                            LineConsumer creationLogsOutput)

Change-Id: Ia7ea97bc1a44059b4892f5db387f54f2e1709fa3
Signed-off-by: Florent BENOIT <fbenoit@codenvy.com>
2016-05-30 14:51:41 +02:00
Anton Korneta e868d80649 CHE-398: Add ability to create local machine snapshots without registry 2016-05-27 11:04:28 +03:00
Aleksandr Andrienko b99c5e2ced Fix cleaning docker containers
Fix clean up unused docker containers with container name which contains node host with '-'

Signed-off-by: Aleksandr Andrienko <aandrienko@codenvy.com>
2016-05-24 22:22:19 +03:00
Alexander Garagatyi e900dab322 CODENVY-457: fix NPE when swarm doesn't detect container death (#1346)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-05-24 17:42:13 +03:00
Anton Korneta ea7d068fe7 Separation of components to allow overrides in codenvy 2016-05-20 13:53:43 +03:00
Alexander Garagatyi 75db032dd7 Allow override terminal run command (#1271)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-05-17 09:59:41 +03:00
Sergii Leschenko d4ff792f24 CODENVY-479 Rename User to Subject (#1258) 2016-05-16 15:41:09 +03:00
Aleksandr Andrienko ce1fe4f042 Rename methods for creation docker connector params from 'from' to 'create
Signed-off-by: Aleksandr Andrienko <aandrienko@codenvy.com>
2016-05-13 10:25:12 +03:00
Aleksandr Andrienko 0aa802d758 CODENVY-212: Add DockerContainerCleaner for clean up docker containers
Signed-off-by: Aleksandr Andrienko <aandrienko@codenvy.com>
2016-05-11 00:19:10 +03:00
Alexander Garagatyi 905ce9998d add logging of OOM of not PID1 processes in docker containers (#1135)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-26 18:10:18 +03:00
Mihail Kuznyetsov 0f34e13b67 CODENVY-349 Rename workspace agent packaged war name 2016-04-26 16:52:02 +03:00
Alexander Garagatyi eb55f0cd4b Add logging to improve maintainability (#1117)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-22 16:34:00 +03:00
Alexander Garagatyi 8fc806c25a CHE-1037: fix pulling of docker images (#1106)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-21 14:42:11 +03:00
Alexander Garagatyi fd8c5f8ce6 CHE-1039: add ability to bind additional folder to docker dev machine (#1105)
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-21 12:11:56 +03:00
Mykola Morhun c3484fae14 Add missing license
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-04-20 13:11:21 +03:00
Mykola Morhun 6af1eaf890 CODENVY-350: Set up workspaces to work behind the proxy
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-04-20 12:30:13 +03:00
Alexander Garagatyi 9a36823044 Merge pull request #1082 from eclipse/CHE-995
CHE-995: discover ssh machines architecture automatically
2016-04-20 11:25:16 +03:00
Mykola Morhun a5244958d5 CODENVY-350: Set up workspaces to work behind the proxy
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-04-20 11:01:07 +03:00
Alexander Garagatyi 3f89306d76 CHE-995: discover ssh machines architecture automatically
Discover ssh machines architecture automatically.
Remove beta field in machine conf that provides architecture.
Move server-side classes to appropriate package.
Removed workarounds in ssh client and properly wait until command finishes.

Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-20 10:44:50 +03:00
Vitaly Parfonov 91f6a64e14 Remove usage of MachineExtensionProxyServlet
Add path to wsagent into wsagent server url to avoid doing that on client-side
Add class DevMachine on client-side what contain all needed information for communicate with wsagent and terminal
Remove @Named(cheExtensionPath)

Signed-off-by: Vitaly Parfonov <vparfonov@codenvy.com>
2016-04-18 15:22:57 +03:00
Alexander Garagatyi 4b155fa57a CHE-889: add ssh machine implementation
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-04-13 18:21:15 +03:00
Mykola Morhun 092edc7c7d Merge pull request #1013 from eclipse/CODENVY-211
CODENVY-211: Provide configuration parameter to enable docker privileged mode
2016-04-12 11:25:40 +03:00
Yevhenii Voevodin eeed06de2a Adapt terminal binary name 2016-04-11 17:43:44 +03:00
Mykola Morhun 155ff602b8 CODENVY-211: Provide configuration parameter to enable docker privileged mode
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-04-11 15:46:20 +03:00
Yevhenii Voevodin 481c65f5cd CHE-718: Adapt all the infrastructure to the API changes 2016-04-01 18:44:31 +03:00
Dmitry Shnurenko 86a86583c3 CHE-261: Remove /local-storage folder from dev machine in Che 2016-04-01 18:09:08 +03:00
Dmitry Shnurenko e99c5cbd04 Revert "CHE-708: Add CORS Filter" 2016-03-24 13:12:30 +02:00
Dmitry Shnurenko 3a8b1c6d6d CHE-708: Add CORS filter. Remove MachineExtensionProxyServlet 2016-03-24 10:17:29 +02:00
Mykola Morhun b6d509ea78 CHE-312: Remove existing docker snapshot when creating new one
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-03-23 12:12:11 +02:00
Alexander Garagatyi 4603f450c5 CHE-657: fix generation on docker container name
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-03-22 09:45:35 +02:00
Alexander Garagatyi 2cf84acc87 CHE-741: change model of machine server conf and runtime server
Add field 'path' to machine server conf.
Add fields 'path', 'protocol' to runtime machine server.
Field 'url' of runtime machine server now includes path if path is
not null.

Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-03-17 12:12:50 +02:00
Eugene Ivantsov f0015b46ed Add :Z suffix when mounting workspace project sources 2016-03-15 09:28:25 +02:00
Vitaliy Guliy 9f67748457 CHE-396 Rename perspective and Workspace agent
Signed-off-by: Vitaliy Guliy <vguliy@codenvy.com>
2016-03-14 14:11:14 +02:00
Alexander Garagatyi 1cc53f05e4 CHE-457: add servers conf and env vars to model of machine config.
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-03-11 13:11:17 +02:00
Mykola Morhun bf1f449f9f Merge pull request #635 from eclipse/CHE-367
CHE-367: Return websocket URL of extension server when a workspace is launched
2016-03-07 12:29:26 +02:00
Mykola Morhun 13bdb085d7 CHE-367: Return websocket URL of extension server when a workspace is launched
Signed-off-by: Mykola Morhun <mmorhun@codenvy.com>
2016-03-04 15:17:50 +02:00
Eugene Ivantsov 27cdc63bbd Add Z suffix to fix mounting issues on Fedora with SELinux enabled
Signed-off-by: Eugene Ivantsov <eivantsov@codenvy.com>
2016-03-03 10:44:51 +02:00
Alexander Garagatyi 5274858e74 fix NPE because of incorrect usage of firstNonNull
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-03-01 12:21:23 +02:00
Alexander Garagatyi 4f1d9708d1 CHE-275: rename DOCKER_MACHINE_HOST to CHE_DOCKER_MACHINE_HOST
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-03-01 10:48:27 +02:00
Igor Vinokur de84bc7bc9 CHE-10: Set memory limits in build phase of Dockerfile
Signed-off-by: Igor Vinokur <ivinokur@codenvy.com>
2016-02-25 10:57:03 +02:00
Alexander Garagatyi b3b38f890a IDEX-4222: Change model of machine & workspace
Machine model changes:
- MachineState was removed, Machine should be used instead
- Machine states API was removed
- Machine includes MachineConfig as field instead of extending it
- All runtime information of machine is in runtime field of Machine.
- Now API call GET */api/machine?workspace=ws-id123456* returns all existing machines of workspace,
including machines with status CREATING, DESTROYING
- Machine channels was removed from. To get channels clients should check links of WorkspaceConfigDto.

Workspace model changes:
- EnvironmentState was removed
- UsersWorkspace includes WorkspaceConfig as field instead of extending it
- Start tmp workspace API returns RuntimeWorkspace instead of UsersWorkspace
- Machine channels are included in links of MachineConfigDto of WorkspaceConfig. Don't try to find them
in runtime machines of RuntimeWorkspaceDto.
- Field activeEnvName in RuntimeWorkspace was renamed to envName in accordance with defaultEnv field
of WorkspaceConfig.

Also:
- add static method cloneDto to DtoFactory
- add getParameter(paramName) method to DTO Link to simplify parameter retrieval

Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-02-20 15:16:21 +02:00
Alexander Garagatyi d9cb7ddb00 CHE-9: improve error messages from Docker API
Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-02-19 12:03:56 +02:00
Roman Iuvshin 884ffda155 fix lincense headers 2016-02-17 20:58:39 +02:00
Alexander Garagatyi e9308608ea Merge pull request #384 from eclipse/CHE-345
CHE-345: allow offline machine creation
2016-02-17 17:46:09 +02:00
Alexander Garagatyi 342248f909 CHE-345: allow offline machine creation
Do not fail docker machine creation if registry is not reachable but needed image exists locally

Signed-off-by: Alexander Garagatyi <agaragatyi@codenvy.com>
2016-02-17 16:31:45 +02:00
Dmitry Shnurenko 671c46ff22 CHE-85: Fix identical machines names for different machines
Signed-off-by: Dmitry Shnurenko <dshnurenko@codenvy.com>
2016-02-16 17:48:29 +02:00
Sergii Kabashniuk 2795099d2b Added difference between IC and master
Signed-off-by: Sergii Kabashniuk <skabashnyuk@codenvy.com>
2016-02-12 09:47:38 +02:00
Eclipse Che Initial Contribution 867ec65242 Eclipse Che Initial Contribution 4.0.0-RC2 https://dev.eclipse.org/ipzilla/show_bug.cgi?id=9458
Signed-off-by: Sergii Kabashniuk <skabashnyuk@codenvy.com>
2016-02-12 09:47:36 +02:00