Commit Graph

65 Commits (287c98d9c4df17258c8fc86baa79b78a6d9ea202)

Author SHA1 Message Date
Max Shaposhnik 57aa4400e4 Make /system/status service public to allow liveness checks by it 2017-10-25 12:53:43 +03:00
Max Shaposhnik c1bb1621a0 Group all DB migrations related to Che6 into 6.0.0 version; (#6945) 2017-10-24 15:37:00 +03:00
Florent BENOIT 3f262e620e Cleanup some Mockito deprecated usage (che6) (#6864)
* Cleanup some Mockito deprecated usage
org.mockito.Matchers —> org.mockito.ArgumentMatchers
org.mockito.runners.MockitoJUnitRunner —> org.mockito.junit.MockitoJUnitRunner

Change-Id: Icf7351cb58e0f42fa95885c2d2cf6b5e98206c35
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-21 09:07:43 +02:00
Florent BENOIT 6a95b6d74a Apply google format v1.4 https://github.com/google/google-java-format/releases/tag/google-java-format-1.4
Change-Id: I5df30c23165df1fd39eef4c57893bebd1d681c1d
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-19 22:23:04 +02:00
Max Shaposhnik 42e56b399c Fix workpsace-permissions module dependencies; 2017-10-19 14:52:41 +03:00
Sergii Kabashniuk 3258a4bb3f Remove unexisted artifact 2017-10-19 14:10:25 +03:00
Sergii Kabashniuk f4cc97acce Set next version 6.0.0-M1-SNAPSHOT 2017-10-19 13:53:40 +03:00
Oleksandr Garagatyi 90142e268c Move Docker client to Docker infrastructure packaging (#6779)
Also, remove OpenShiftConnector as it is replaced with OpenShift
infrastructure.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-18 15:08:55 +03:00
Max Shaposhnik 4c5566ce94 Migration script license & version fixes; (#6797) 2017-10-18 14:48:38 +03:00
Max Shaposhnik 6d0a659e63 Remove usage of deprecated Recipe API (#6729) 2017-10-18 12:58:30 +03:00
Florent BENOIT 7a3bb3f5b7 Apply fixes to update maven plugins
- errorprone : ignore test methods that are using testxyz() pattern but are not annotated by @Test
- Remove  deprecated stuff (for example use descriptors/descriptor for maven-assembly plugin
- Remove unnecessary stubbing
- fix dependencies

Change-Id: I16f512fc3bfd542463d3b0d3c062f45ceb5ac6b2
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-17 21:44:00 +02:00
Sergii Kabashniuk ba04245aff Merge Mockito 2017-10-15 15:24:12 +03:00
Sergii Kabashniuk e321ab00b1 Merge with master 2017-10-15 14:33:47 +03:00
Florent BENOIT 70e3834356 Move to mockito 2.10
Some changes are required like
 - anyString() --> nullable(String.class) for many tests as in fact we provide null values
 - add class for VerificationMode as there are more than one method now (can't use lambdas)
 - remove cast on ArgumentMatcher (now we can use lambdas as there is generics)
 - remove unecessary stubbing (mockito is now reporting un-needed stubs)

Change-Id: I69c7ccc86bc85a4401d5e33671229ae0ce560dbb
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-15 10:45:04 +02:00
Florent BENOIT 9581a9bbef Move to mockito 2.10
Some changes are required like
 - anyString() --> nullable(String.class) for many tests as in fact we provide null values
 - add class for VerificationMode as there are more than one method now (can't use lambdas)
 - remove cast on ArgumentMatcher (now we can use lambdas as there is generics)
 - remove unecessary stubbing (mockito is now reporting un-needed stubs)

Change-Id: I69c7ccc86bc85a4401d5e33671229ae0ce560dbb
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-10-15 10:34:15 +02:00
Roman Iuvshyn 891b619a5f fix dto versions that broke release, fix os scripts (#6743)
* Fix plugin version
2017-10-14 20:46:33 +03:00
Roman Iuvshyn abe3271908 RELEASE: Set next development version (#6692)
* RELEASE: Set next development version
2017-10-14 20:17:04 +03:00
Sergii Leshchenko 65562d857d CHE-6587 Add generating of user token before start of runtime 2017-10-13 14:45:22 +03:00
Sergii Leshchenko 52e43115b3 Remove deprecated jpa test classes 2017-10-13 14:45:21 +03:00
Sergii Leshchenko 5ef55f5993 CHE-6587 Add MachineTokenProvider interface
It is implemented in different ways for single and multiuser packaging
2017-10-13 14:45:21 +03:00
Oleksandr Garagatyi 0c77efc2b3 Workspace start code cleanup
Moved async operations from WorkspaceManager to WorkspaceRuntimes
to have async facility in one place instead of two.
Moved workspace start/stop logging from WorkspaceManager
to WorkspaceRuntimes since WorkspaceManager can not correctly log
them.
Improved logging of workspace start/stop including addition of new logs.
Fixed logging of exception thrown by RuntimeInfrastructure on runtime
start/stop.
Fix docker image deletion bug on stop of a workspace.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-12 17:37:28 +03:00
Sergii Kabashniuk 70ac13c008 Merge remote-tracking branch 'origin/master' into che6 2017-10-12 16:14:51 +03:00
Sergii Kabashniuk 14061f5a2e Fixed concurrent user registration (#6703)
Signed-off-by: Sergii Kabashniuk <skabashniuk@redhat.com>
2017-10-12 15:57:46 +03:00
Artem Zatsarynnyi 5041b59e6e Merge branch 'master' into spi 2017-10-12 11:54:46 +03:00
Sergii Kabashniuk 1bea871d0a Fixed possible constraint violation with an existed organization. (#6674)
* Fixed possible constraint violation with an existed organization.

Usecase is following:
If we have already an organization with name, let's say "org"  and the new user also has name "org" then we will have constraint violation.
 In this case, we will try to create the user with name "org"+random string.
2017-10-11 16:21:59 +03: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 4bc18519db Merge branch 'che-multiuser' into spi 2017-10-05 16:30:22 +03:00
Max Shaposhnik 2d36fabf0f CHE-6546; Add some style to organization email templates (#6584) 2017-10-05 11:21:02 +03:00
Sergii Leshchenko 7924910ee0 CHE-6565 Add ability to configure `allowedClockSkewSeconds` for JWT parser (#6568) 2017-10-04 13:49:46 +03:00
Sergii Leshchenko 5dbdaa00db Merge pull request #6520 from sleshchenko/CHE-6515
CHE-6515 Added email notifications
2017-10-03 17:10:31 +03:00
Anton Korneta 32c02883b6 Remove '/ws' and '/websocket' parts from KeycloakAuthenticationFilter binding 2017-10-03 14:42:27 +03:00
Sergii Leshchenko 541e39530c CHE-6515 Add sending of email notification when changes occur in an organization 2017-10-03 14:16:44 +03:00
Artem Zatsarynnyi 8de6dbe5fb Merge branch 'che-multiuser' into spi 2017-10-03 13:04:39 +03:00
Oleksandr Garagatyi 49f80dad17 CHE-5893: Map system state API to login filter
It is needed since it is secured by permissions system which requires
an authenticated user.
Also, use base API endpoint for checking Che in OpenShift deploy
script since system state API which was used before is secured now.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-10-03 09:45:58 +03:00
Anna Shumilova f1e09ced81 Fix activity checker fails
Signed-off-by: Anna Shumilova <ashumilo@redhat.com>
2017-10-02 15:26:38 +03:00
Artem Zatsarynnyi 81bce959ce Merge branch 'che-multiuser' into spi 2017-10-02 14:59:55 +03:00
Sergii Kabashniuk 2df0a54923 Fixing wrong code formatting 2017-10-02 14:04:04 +03:00
Anton Korneta 09f062370c Fix selenium-tests.sh add keycloak token endpoint to settings 2017-10-02 11:14:45 +03:00
Anton Korneta 9559f7ce7e Adapt selenium tests to che multiuser 2017-09-29 18:03:08 +03:00
Sergii Leshchenko 146636b03e Clean KeycloakConfigurationService up 2017-09-29 12:11:55 +03:00
Sergii Leshchenko d490e7c19f Parse object with GSON instead of jackson 2017-09-29 12:11:55 +03:00
Sergii Leshchenko 198522cd2d Remove dependency on keycloak-core artifact 2017-09-29 12:11:55 +03:00
Artem Zatsarynnyi 44aa9d89fe Merge branch 'che-multiuser' into spi 2017-09-29 12:07:53 +03:00
Sergii Kabashniuk 35418c48dd Initializing org.eclipse.che.multiuser.api.permission.server.AdminPermissionInitializer only in multi-user assembly 2017-09-28 17:07:31 +03:00
Sergii Leshchenko a717eec1eb Remove unused dependency in cascade tests 2017-09-28 14:57:46 +03:00
Sergii Leshchenko f07fdb9d36 CHE-6463 Sort poms, Fix licenses, format sources 2017-09-28 13:06:51 +03:00
Sergii Leshchenko 8798221e07 CHE-6463 Add auth to openshift infrastructure 2017-09-28 13:06:51 +03:00
Sergii Leshchenko 861f4eccbb CHE-6463 Remove machine auth code that is outdated in spi 2017-09-28 13:06:50 +03:00