Commit Graph

676 Commits (e1a964d0e582e488d47a61bce62aaa3cd4e829ca)

Author SHA1 Message Date
Oleksandr Garagatyi 95d2bfb39c Cleanup code of unrecoverable events in k8s/OS infras
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-06-04 14:48:30 +03:00
Roman Iuvshyn 7231585f4b
RELEASE: Set next development version (#9862) 2018-05-30 12:01:54 +03:00
Dmytro Kulieshov 7a52c83f4d
Several improvements to the way remote language servers may be configured through workspace configuration (#9387) 2018-05-18 12:17:30 +03:00
Anton Korneta deae9c25d5 Add JGroups based status cache and lock service 2018-05-17 11:50:00 +03:00
Max Shaposhnik 149f199da6 Add DB termination on application shutdown (#9683) 2018-05-15 09:50:35 +03:00
Roman Iuvshyn 6677e27a6b
RELEASE: Set next development version (#9669) 2018-05-11 10:27:31 +03:00
Max Shaposhnik 8c3d2ead36
Fixed removal of remote subscriptions in manager (#9560) 2018-05-02 14:30:36 +03:00
Roman Iuvshyn edb0e15e6f
RELEASE: Set next development version (#9473) 2018-04-18 08:31:24 +02:00
Max Shaposhnik 66f9d0bed9
Add replicated storage for remote websocket subscriptions (#9311) 2018-04-11 14:33:52 +03:00
David Festal c19ccdcdee
Use the owner Id only in the workspace `RuntimeIdentity` (#8859) (#9274)
* Use the owner Id only in the workspace `RuntimeIdentity` (#8859)

Signed-off-by: David Festal <dfestal@redhat.com>
2018-03-30 14:28:11 +02:00
Roman Iuvshyn e006334aad
RELEASE: Set next development version (#9268) 2018-03-28 10:58:30 +03:00
Jonah Graham c69cf5135c CHE-8557: No Dto available for FormattingOptions (#8784)
* CHE-8557: No Dto available for FormattingOptions

The Dto isn't needed for FormattingOptions as it is really a specialized
Map and the types that contain a FormattingOptions field handle
the field as a Map during JSON serialize/deserialize

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Test cases for Either deserializing

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Fix Either handling when deserializing on the server

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Use actual type for Map conversions

The is necessary to ensure handling types which are of type Map are
still instantiated in their real type. Consider
DocumentFormattingParams.setOptions() which takes a FormattingOptions
class.

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* CHE-8557: Register LSP4J's Either adapter factory

This is effectively a follow up CHE-3103 which uses Gson directly
to serialize/deserialize Json. To support LSP4J's Either types,
the either type adapter factory is needed.

Signed-off-by: Jonah Graham <jonah@kichwacoders.com>

* load EitherTypeAdapterFactory for registration

Signed-off-by: Valeriy Svydenko <vsvydenk@redhat.com>
2018-03-16 15:09:01 +02:00
Oleksandr Garagatyi 248dd50dc4 Allow to use NULL in JDBC env vars
Allows to use NULL as a value of JDBC config to simplify usage of
environment variables for JDBC settings in k8s/Openshift
deployment files. NULL is treated as unset variable.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-03-12 10:56:34 +02:00
Sergii Kabashniuk e8750d6084
Allow to configure logback logger with env variables (#8998)
Allow to configure logback logger with env variables (#8998)
2018-03-07 13:31:57 +02:00
Roman Iuvshyn dbdac2a604
RELEASE: Set next development version (#9038) 2018-03-07 17:53:03 +07:00
David Festal 21e00e9b15
Make CHE 6 multi-tenant compatible for OSIO (#8805)
* Copy the boostrapper config file to POD *installer by installer* to avoid executing a huge command, which in turn tries to send a huge GET request (73kb-long URL).
This long GET request was previously not supported by the fabric8 oso proxy.

See https://github.com/openshiftio/openshift.io/issues/2254 for more
details. 

* Make the Kubernetes / Openshift infrastructures multi-tenant-compatible

This includes:

1. Reworking the `KubernetesClientFactory` and `OpenshiftClientFactory`
to:
    - share a single `OkHttpClient` that is the basis of all created
Kubernetes or Openshift clients potentially pointing to
different.cluster URL with different authorization tokens
    - provide the workspaceId in the `create` methods whenever it's
available (workspace start / stop, idling, etc ...
    - have distinct methods for creating the Kubernetes client and the
Openshift client (required since the Openshift client creates connection
leaks on some calls such as exec of POD watch)
This is the implementation of issue
https://github.com/redhat-developer/rh-che/issues/516

2. Adding the `userId` into the SPI `RuntimeIdentity` object. Currently,
only the `userName` is available in this object that gathers information
about the identity attached to a workspace runtime. This change is
required because the `userId` should be accessible from the
`workspaceId` for implementing multi-tenancy and creating workspace
resources in a user-specific location.
This is the implementation of issue
https://github.com/redhat-developer/rh-che/issues/501

* In the Openshift infrastructure, the authentication interceptor should
always convert userName/password-based authentication to
oauth-token-based authentication, even when using the
`KubernetesClient`.

Signed-off-by: David Festal <dfestal@redhat.com>
2018-02-22 18:23:10 +01:00
Max Shaposhnik e40a2902bb
Perform liveness checks of wsagent by dedicated URL 2018-02-21 12:15:12 +02:00
Dmytro Kulieshov 7e128d41f5
Thread-unsafe collections used for subscription contexts 2018-02-15 12:33:25 +02:00
Roman Iuvshyn e2762411b3
RELEASE: Set next development version (#8773) 2018-02-14 15:00:52 +02:00
Sun Tan 33ae1dbf19 Cleaning MDC at the end of the request, avoid keeping MDC from one request to another when a thread is reused
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-02-07 11:11:50 +01:00
Sun Tan ccd6878dd9 Copying MDC context in every async calls that go through ThreadLocalPropagateContext.wrap method
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-02-07 10:47:21 +01:00
Sergii Kabashniuk 71dc4475a9
Property rename: old value to new support (#8636)
During code evolution might be the case then someone will want to rename some property. This brings a couple of problems like support of old property name in external plugins and support old configuration values in code with the new property name. To cover these cases there is a file che_aliases.properties that contains old names of all existed properties. It has such format current_name =old_name, very_old_name. In this case will be such binding.

Always current_name = current_value
if old_name property exist it will be binded to old_value, and current_name = old_value and very_old_name = old_value
if very_old_name property exist it will be binded to very_old_value, and current_name = very_old_value and old_name = very_old_value
NOTE: its prohibited to use a different name for same property on the same level. From the example above - you can use environment property CHE_CURRENT_NAME and CHE_OLD_NAME. But you can use it on a different level, for instance, environment property and system property.
2018-02-07 09:15:52 +02:00
Roman Iuvshyn f50c2ebbf5
RELEASE: Set next development version (#8496) 2018-01-31 17:53:10 +02:00
Max Shaposhnik 2902fc75a4
Refactor remaining everrest websocket endpoints to use Json RPC (#8388) 2018-01-24 16:17:00 +02:00
Oleksandr Garagatyi 9d75f3e219
Rework default memory limit setting (#8422)
Extract default machine memory limit setting from
InternalEnvironmentFactory to recipe specific environment
factories.
Make memory limit attribute optional by respecting it by
resource API subsystem.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2018-01-24 12:47:06 +02:00
Mykhailo Kuznietsov 2c2bd6637c
Set new year in license headers (#8244) 2018-01-11 16:04:49 +02:00
Sun Tan ec77e22046 Adding identity_id from keycloak to the logs through MDC Context
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-01-05 13:46:28 +01:00
Sun Tan 0aaf476af6 Adding request_id header to the logs through MDC Context
Signed-off-by: Sun Tan <sutan@redhat.com>
2018-01-05 13:46:28 +01:00
Roman Iuvshyn 71704ab3a7
RELEASE: Set next development version (#8135) 2018-01-03 14:13:25 +02:00
Mykhailo Kuznietsov 93b974d1e0
Change worskpace project files storage path (#7844)
- Workspace projects are now stored in folders, named after their workspace id, rather than name,
to prevent issues with workspace renaming. Applies to Docker infrastructure only.
- Add migration, that would move workspace projects to their new location. Occurs on Che startup.
- Added configuration property to enable/disable this migration.
- Improved Workspace DAO/Manager to use pagination for methods, that return lists of workspaces
2017-12-22 15:55:28 +02:00
Max Shaposhnik 8ff1be36f5
Added support of Idenvity brokering mechanism of Keycloak for Multi-user Che 2017-12-21 17:50:03 +02:00
Ilya Buziuk b4ba12302a Support of headers to 'HttpJsonRequest'. Adding 'Connection: close' header while checking server availability in 'HttpConnectionServerChecker'
Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
2017-12-19 16:02:00 +01:00
Oleksandr Garagatyi 10d70ca9cc CHE-7834: add field 'status' into runtime machine object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-12-19 08:51:04 +02:00
Roman Iuvshyn 5a6d3910b2
RELEASE: set next dev version (#7882) 2017-12-14 15:51:34 +02:00
Oleksandr Garagatyi 6b7b1c6468 CHE-7561: add internal server concept into workspace API
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-12-11 11:41:11 +02:00
Artem Zatsarynnyi 4ca92c9bc4
Made it possible to extend Che IDE GWT app in custom assemblies by including additional plugins and/or excluding existing (standard) ones (#7746)
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-12-06 16:46:41 +02:00
Mykhailo Kuznietsov 587c4fdac8
Adapt to new Flyway library version (#7711) 2017-12-05 12:08:49 +00:00
Sergii Leshchenko 760fbea420
Renamed properties to attributes in Machine model object (#7687)
CHE-6803 Rename properties to attributes in Machine model object

It also contain removing outdated WsAgentPingRequestFactoryTest
2017-12-04 11:25:31 +02:00
Sergii Leshchenko cc1520f5a1 CHE-7495 Remove warnings from environment config 2017-12-01 14:41:28 +02:00
Mykhailo Kuznietsov f3648ca460
Set default uncaught exception handler (#7567) 2017-11-30 16:30:29 +00:00
Oleksandr Garagatyi 09a16f8a48 CHE-7560: Add attributes field to Machine Server object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-30 10:53:03 +02:00
Oleksandr Garagatyi ce1e6433ab CHE-7560: add attributes field to ServerConfig object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-30 10:53:03 +02:00
Sergii Kabashniuk 1e5109a1ba
Remove deprecated classes (#7575)
* Remove deprecated classes
2017-11-27 18:08:10 +02:00
Roman Iuvshyn 506210325a
RELEASE: set next dev version (#7523) 2017-11-23 12:50:56 +02:00
Oleksandr Garagatyi ba7a1e2e51 CHE-7010: Add volumes into machine model object
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
2017-11-20 16:14:47 +02:00
Dmytro Kulieshov 0f635cf122
Added JSON-RPC back-end to Project API and removed deprecated VFS classes (#7380) 2017-11-20 12:02:46 +02:00
Artem Zatsarynnyi 23c48e972b
Allow to skip the DTOs generation during maven build (#7348)
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-11-14 13:03:18 +02:00
Max Shaposhnik 0b7f4ed3f4
Use single jndi datasource factory; 2017-11-08 15:21:33 +02:00
Florent BENOIT 723363bf7b specify more path of the file to search to also match on filesystem not sorting by default with lexicographical order
Change-Id: Ib2eb1f5b5601542a56a6dede103a699c370a0d69
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-11-06 16:37:54 +01:00
Florent BENOIT 74591f5906 Avoid that copy dependency is copying artifact with timestamp
Change-Id: Ia37e3c141298ef210d71204d8296a0a925bce8de
Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
2017-11-06 16:37:54 +01:00