Commit Graph

401 Commits (0c77efc2b3a5ace0a31b160d19e57bc93dd16bcc)

Author SHA1 Message Date
Artem Zatsarynnyi 22c21265aa Merge branch 'master' into spi 2017-10-11 10:16:43 +03:00
Ilya Buziuk c147f8b31d che #6500 - Removing optional 'che-ws-' prefix during tag creation
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-10-09 15:36:25 +02:00
Sergii Leshchenko 03934a0804 Merge remote-tracking branch 'origin/master' into spi
# Conflicts:
#	assembly-multiuser/assembly-wsmaster-war/pom.xml
#	assembly-multiuser/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/MachineAuthModule.java
#	assembly-multiuser/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/MultiUserCheWsMasterModule.java
#	assembly-multiuser/assembly-wsmaster-war/src/main/resources/META-INF/persistence.xml
#	assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/CheWsMasterModule.java
#	assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java
#	dashboard/src/app/admin/user-management/user-details/user-details.html
#	dashboard/src/app/organizations/organization-details/organization-details.html
#	dashboard/src/app/teams/team-details/team-details.html
#	dashboard/src/components/api/workspace/che-workspace.factory.ts
#	dockerfiles/init/manifests/che.env
#	dockerfiles/init/modules/openshift/files/scripts/deploy_che.sh
#	dockerfiles/init/modules/openshift/files/scripts/multi-user/wait_until_postgres_is_available.sh
#	ide/che-core-ide-api/src/main/java/org/eclipse/che/ide/api/jsonrpc/WorkspaceMasterJsonRpcInitializer.java
#	ide/che-core-ide-stacks/src/main/resources/stacks.json
#	ide/che-core-orion-editor/src/main/java/org/eclipse/che/ide/editor/orion/client/OrionEditorPresenter.java
#	multiuser/api/che-multiuser-api-resource/pom.xml
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/usage/tracker/EnvironmentRamCalculator.java
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/usage/tracker/RamResourceUsageTracker.java
#	multiuser/api/che-multiuser-api-resource/src/main/java/org/eclipse/che/multiuser/resource/api/workspace/LimitsCheckingWorkspaceManager.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/usage/tracker/EnvironmentRamCalculatorTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/usage/tracker/RamResourceUsageTrackerTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/workspace/LimitsCheckingWorkspaceManagerTest.java
#	multiuser/api/che-multiuser-api-resource/src/test/java/org/eclipse/che/multiuser/resource/api/workspace/TestObjects.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/pom.xml
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/java/org/eclipse/che/multiuser/integration/jpa/cascaderemoval/JpaEntitiesCascadeRemovalTest.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/java/org/eclipse/che/multiuser/integration/jpa/cascaderemoval/TestObjectsFactory.java
#	multiuser/integration-tests/che-multiuser-cascade-removal/src/test/resources/META-INF/persistence.xml
#	multiuser/integration-tests/che-multiuser-postgresql-tck/pom.xml
#	multiuser/integration-tests/che-multiuser-postgresql-tck/src/test/java/MultiuserPostgresqlTckModule.java
#	multiuser/integration-tests/che-multiuser-postgresql-tck/src/test/resources/META-INF/persistence.xml
#	multiuser/keycloak/che-multiuser-keycloak-ide/src/main/java/org/eclipse/che/multiuser/keycloak/ide/KeycloakProvider.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/pom.xml
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/MachineAsyncRequestFactory.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/MachineTokenServiceClientImpl.java
#	multiuser/machine-auth/che-multiuser-machine-authentication-ide/src/main/java/org/eclipse/che/multiuser/machine/authentication/ide/inject/MachineAuthGinModule.java
#	multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineSessionInvalidator.java
#	multiuser/permission/che-multiuser-permission-machine/pom.xml
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/filters/RecipePermissionsFilter.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaRecipePermissionsDao.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserJpaRecipeDao.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserMachineJpaModule.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/jpa/listener/RemoveRecipeOnLastUserRemovedEventSubscriber.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipeCreatorPermissionsProvider.java
#	multiuser/permission/che-multiuser-permission-machine/src/main/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipePermissionsImpl.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/filters/RecipePermissionsFilterTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaRecipePermissionsDaoTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/JpaTestModule.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/MultiuserJpaRecipeDaoTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/RemovePermissionsBeforeRecipeRemovedEventSubscriberTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/jpa/TestWorkspaceEntity.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/recipe/RecipeCreatorPermissionsProviderTest.java
#	multiuser/permission/che-multiuser-permission-machine/src/test/java/org/eclipse/che/multiuser/permission/machine/spi/tck/RecipePermissionsDaoTest.java
#	multiuser/permission/che-multiuser-permission-workspace/pom.xml
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/WorkspaceCreatorPermissionsProvider.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/filters/WorkspacePermissionsFilter.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/jpa/MultiuserWorkspaceJpaModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/main/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/MultiuserJpaWorkspaceDao.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/filters/WorkspacePermissionsFilterTest.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/jpa/WorkspaceTckModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/JpaTckModule.java
#	multiuser/permission/che-multiuser-permission-workspace/src/test/java/org/eclipse/che/multiuser/permission/workspace/server/spi/jpa/RemovePermissionsBeforeStackRemovedEventSubscriberTest.java
#	multiuser/pom.xml
#	plugins/plugin-docker/che-plugin-docker-machine/src/test/java/org/eclipse/che/plugin/docker/machine/MachineProviderImplTest.java
#	plugins/plugin-docker/pom.xml
#	plugins/plugin-github/che-plugin-github-pullrequest/src/main/java/org/eclipse/che/plugin/pullrequest/client/GitHubHostingService.java
#	pom.xml
#	selenium/che-selenium-core/src/main/java/org/eclipse/che/selenium/core/workspace/TestWorkspaceProviderImpl.java
#	selenium/che-selenium-test/README.md
#	selenium/che-selenium-test/pom.xml
#	selenium/che-selenium-test/src/main/java/org/eclipse/che/selenium/pageobject/CodenvyEditor.java
#	selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/workspaces/CreateWorkspaceOnDashboardTest.java
#	selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/workspaces/WorkingWithNodeWsTest.java
#	selenium/che-selenium-test/src/test/resources/conf/selenium.properties
#	wsagent/agent/src/main/java/org/eclipse/che/api/agent/WsAgentLauncher.java
#	wsagent/agent/src/test/java/org/eclipse/che/api/agent/WsAgentLauncherTest.java
#	wsmaster/che-core-api-user/pom.xml
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/MachineLinksInjector.java
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/workspace/server/WorkspaceServiceLinksInjector.java
#	wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/workspace/server/model/impl/EnvironmentImpl.java
#	wsmaster/integration-tests/postgresql-tck/pom.xml
2017-10-09 14:51:25 +03:00
Artem Zatsarynnyi ba47c0b825 Port AppStatesPreferenceCleaner to spi branch (#6611)
* Port AppStatesPreferenceCleaner from master branch. Class has been missed as a result of previous merges.

* Move AppStatesPreferenceCleaner to che-core-api-workspace.

* Move WorkspaceRemovedEvent and WorkspaceCreatedEvent to che-core-api-workspace-shared;
Move AppStatesPreferenceCleaner to che-core-api-user
2017-10-07 09:56:03 +03:00
Sergii Kabashniuk ee01b2998f Multi-user Eclipse Che (#6441)
Multi-user Eclipse Che (#6441)
#### How to run it.
```docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=<your ip> -e CHE_KEYCLOAK_AUTH-SERVER-URL=http://<your ip>:5050/auth -v /var/run/docker.sock:/var/run/docker.sock -v ~/.che-multiuser:/data eclipse/che:nightly start --skip:pull --skip:nightly```
#### How to manage it
 - Keycloak configured with two realms. ```Master``` and ```che```. Also we have one user admin/admin in both realm. Admin user in master realm is  - super admin. 
-  Eclipse Che configured for che realm
- We enabled user registration in ```Che``` realm
#### Known limitation
 - swagger would not work. We need to upgrade a version. to support openid authentification https://github.com/eclipse/che/issues/6015
- It's working on local docker. We are going to provide scalable version based on OpenShift on next versions.
- Invitation of non-existent users to Eclipse Che organization https://github.com/eclipse/che/issues/6335
#### How to run it when it is in a branch


To run an multiuser Che version, the following steps are required after building the branch:
 - Rebuild init, cli and che images (in the given sequence). To do that, proceed to folder _dockerfiles/<image_name>_ and run _build.sh_
 - Run Che in a  usual way using cli, with additional parameters:  `-e CHE_MULTIUSER=true` and `--skip:pull --skip:nightly`  
   Full command example:
   `docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/user/.che:/data -e CHE_MULTIUSER=true eclipse/che-cli:nightly start --skip:pull --skip:nightly`
 - MacOS users may need to edit _che.env_ file in the data folder, changing `CHE_HOST` and `CHE_KEYCLOAK_AUTH__SERVER__URL` values to their specific IP.
 
When start is succeeded, the following docker containers should be created:  
 - che, exposing 8080 port;
 - che_keycloak, exposing 5050 port;  
 - che_postgres, exposing 5432 port;
2017-10-06 17:27:27 +03:00
Artem Zatsarynnyi 81bce959ce Merge branch 'che-multiuser' into spi 2017-10-02 14:59:55 +03:00
Sergii Kabashniuk 1f639c0557 Merge remote-tracking branch 'origin/master' into che-multiuser 2017-10-02 09:03:47 +03:00
Josh Pinkney 34ba429d58 Implemented getVersion in OpenShiftConnector (#6222)
* Implemented getVersion in OpenShiftConnector

Signed-off-by: jpinkney <josh.pinkney@mail.utoronto.ca>
2017-10-02 07:42:42 +02:00
Sergii Kabashniuk b9767355b7 Merge with master 2017-09-30 13:57:06 +03:00
jpinkney 6db2424a7a Removed unneeded code from top method 2017-09-29 17:11:54 +02:00
jpinkney e0f60000d5 Implement top method in OpenShiftConnector
Signed-off-by: jpinkney <josh.pinkney@mail.utoronto.ca>
2017-09-29 17:11:54 +02:00
jpinkney 7503f50e77 Added getSystemInfo into OpenShiftConnector
Signed-off-by: jpinkney <josh.pinkney@mail.utoronto.ca>
2017-09-29 17:09:50 +02:00
Florent BENOIT 430c1a32d7 Fix the issue when no exposed ports are defined in the docker image
Change-Id: I76fa7b6aaff552043e1e8cf2934527f491631b2a
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-09-29 11:16:20 +02:00
Artem Zatsarynnyi 28c5193252 Merge commit 'da636d181c41a5602dbd5ced28474ad985df49c0' into spi 2017-09-28 12:15:59 +03:00
Sergii Kabashniuk 32ae31765e Merge remote-tracking branch 'origin/master' into che-multiuser 2017-09-28 08:35:45 +03:00
Florent BENOIT da636d181c Avoid NPE by checking if map are null and not only empty
https://github.com/redhat-developer/rh-che/issues/338

Change-Id: Ic760eef59be7fcaf47cb94ad83652892897d4d31
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-09-28 07:01:49 +02:00
Sergii Kabashniuk 854f030260 Merge remote-tracking branch 'origin/master' into che-multiuser 2017-09-25 15:50:55 +03:00
Oleksandr Garagatyi 7c7e596fb7 Add possibility to disable DockerInstanceStopDetector (#6415)
It is needed for OpenShift infra where getting events
is not supported due to security limits.
To disable containers stop detector variable
CHE_DOCKER_ENABLE__CONTAINER__STOP__DETECTOR=false should be
defined.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-09-25 15:47:02 +03:00
Oleksii Kurinnyi 2b10bbf10c Merge remote-tracking branch 'origin' into che-multiuser
# Conflicts:
#	dashboard/src/app/index.module.ts
2017-09-25 15:18:19 +03:00
Oleksandr Garagatyi 4058f61ec1 CHE-6397: set missing environment context on machine start
Set environment context for a thread where logs of a machine are read.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-09-25 10:05:45 +03:00
Artem Zatsarynnyi 685def4d29 Merge branch 'master' into spi 2017-09-21 09:24:39 +03:00
Sergii Kabashniuk 546ba4e4ea Merge with master 2017-09-20 11:34:18 +03:00
Roman Iuvshyn 8e03d56bfb RELEASE: Set next development version (#6345) 2017-09-19 14:52:53 +03:00
Sergii Kabashniuk e7006e5ae4 Merge with master 2017-09-18 08:46:28 +03:00
Max Shaposhnik 38b5c83d23 Add test dependensies 2017-09-15 16:12:50 +03:00
Max Shaposhnik d2bfa4f7f4 Move permissions and authorization into separate module; 2017-09-14 17:03:43 +03:00
Artem Zatsarynnyi a07ffc3c70 Merge branch 'master' into spi 2017-09-14 15:48:40 +03:00
Ilya Buziuk 0bd960605e openshift.io-798 Checking only first 20 chars of tag in 'getImageStreamTagFromRepo' for long tags
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-09-13 14:06:18 +02:00
Roman Nikitenko ed73a101dc CHE-5338. Clean up app state preference when workspace is removed
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
2017-09-13 11:16:42 +03:00
Sergii Leshchenko 1ec0f6aaf4 CHE-6081 Make workspace files cleaning as infrastructure specific feature (#6193)
Add removing of OpenShift project when workspace is removed
2017-09-11 18:00:03 +03:00
Artem Zatsarynnyi 04be689c69 Merge branch 'master' into spi 2017-09-04 11:51:57 +03:00
Max Shaposhnik 7d3cf94a30 Merge with master 2017-08-23 14:08:07 +03:00
Roman Iuvshyn 2850a74a11 RELEASE: Set next development version (#6067) 2017-08-23 11:11:34 +03:00
Max Shaposhnik 2cab5980ef Merge with master 2017-08-23 10:35:31 +03:00
Oleksandr Garagatyi 041aff648c Merge branch 'master' into spi
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-08-23 09:49:33 +03:00
Roman Nikitenko 0343393028 CHE-5829. Fix non-exhaustive switch statements
Signed-off-by: Roman Nikitenko <rnikiten@redhat.com>
2017-08-22 18:16:33 +03:00
Sergii Kabashniuk ff76657a9f Used Google Java Codestyle 2017-08-18 17:28:50 +03:00
Sergii Kabashniuk 6e9825c699 Used Google Java Codestyle 2017-08-18 17:16:54 +03:00
Sergii Kabashniuk 5b373e6cf5 Used Google Java Codestyle (#5851) 2017-08-18 17:00:58 +03:00
Max Shaposhnik 202ded08ec Merge branch 'master' into che-multiuser 2017-08-18 10:33:46 +03:00
Artem Zatsarynnyi 927755a882 Merge branch 'master' into spi 2017-08-17 17:16:47 +03:00
Artem Zatsarynnyi ce3873af82 Merge branch 'master' into spi 2017-08-17 17:16:04 +03:00
Ilya Buziuk ee09e10b84 Reverting #6019: Workaround for ImageStreamTags issue on OpenShift 3.6
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-08-17 16:09:47 +02:00
Artem Zatsarynnyi a552e67a76 Merge branch 'master' into spi 2017-08-17 16:40:48 +03:00
Max Shaposhnik 68755ad511 Merge branch 'master' into che-multiuser 2017-08-17 16:13:12 +03:00
Artem Zatsarynnyi 51fed52707 Merge branch 'master' into spi 2017-08-17 15:21:26 +03:00
Angel Misevski 6792b2ba9b Workaround for ImageStreamTags issue on OpenShift 3.6
Minor adjustment to how image name is set when creating a
workspace on OpenShift.

On OpenShift 3.6, it seems that using an ImageStreamTag
in a Deployment spec causes the deployment to have null status,
which causes kubernetes-client to throw an NPE.

We still need to decide if this is to be a longer term solution,
and if removing ImageStreamTags completely is a good option

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2017-08-17 08:16:24 +02:00
Ilya Buziuk 5a2adf139d Changing deletion order during deployment cleaup (routes & services are going to be deleted first)
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-08-16 20:09:38 +02:00
Ilya Buziuk 52b878e953 Do not scale down deployment before resource deletion. Removing watch pod logic (seems to be also broken after 3.6 osio update)
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-08-16 16:07:05 +02:00
Angel Misevski 2cd0ab0b09 Fix OpenShiftConnector.inspectImage() to resolve issue in OS 3.6+
OpenShiftConnector.inspectImage() uses pods to figure out a workspaces
docker image. Previously, this was not a problem as it would match
the imagestream tag we create earlier. However, in OpenShift 3.6 and
higher, it seems like pods created by deployments use the sha256 of
the image as an identifier, and so this fails. This means that
workspaces fail to start due to imagestream not found.

To resolve this issue, we instead get the image name through the
deployment, which does have the correct value.

Signed-off-by: Angel Misevski <amisevsk@redhat.com>
2017-08-16 13:14:03 +02:00