che-server/multiuser
Michal Vala bffe11e227
Watch and provide startup logs (workspace + broker pods) (#16126)
* collect logs first

* very very rough log watching implementation, does not even work

Signed-off-by: Michal Vala <mvala@redhat.com>

* ok this should work

Signed-off-by: Michal Vala <mvala@redhat.com>

* cleanup

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* simplify, get rid of custom input stream

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* start watching for logs later, when we know the machines we're interested in

Signed-off-by: Michal Vala <mvala@redhat.com>

* make waiting for containers to get the logs rather time based

Signed-off-by: Michal Vala <mvala@redhat.com>

* block closing only when workspace failure, reusing kubernetes threadpool... can this thing get any better?

Signed-off-by: Michal Vala <mvala@redhat.com>

* just some refactoring and cleanup

Signed-off-by: Michal Vala <mvala@redhat.com>

* and format

Signed-off-by: Michal Vala <mvala@redhat.com>

* reading log input stream moved to LogWatcher and PodLongHandler is now responsible for handling just single log messages

Signed-off-by: Michal Vala <mvala@redhat.com>

* more precise checking for log error

Signed-off-by: Michal Vala <mvala@redhat.com>

* format

Signed-off-by: Michal Vala <mvala@redhat.com>

* make it possible to start the workspace in debug mode

Signed-off-by: Michal Vala <mvala@redhat.com>

* debug mode in devfile attributes

Signed-off-by: Michal Vala <mvala@redhat.com>

* get rid of inconsistent executor in KubernetesDeployments#watchLogs method

Signed-off-by: Michal Vala <mvala@redhat.com>

* log and javadoc fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* nullcheckcs for the devfile and fix tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* better logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* add few tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* LogWatcher tests first batch

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove unused imports

Signed-off-by: Michal Vala <mvala@redhat.com>

* bit reworked container logwatch

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix missing license headers

Signed-off-by: Michal Vala <mvala@redhat.com>

* equals, hashCode and toString

Signed-off-by: Michal Vala <mvala@redhat.com>

* that's not probably needed

Signed-off-by: Michal Vala <mvala@redhat.com>

* review fixes, simplify code, better variable names

Signed-off-by: Michal Vala <mvala@redhat.com>

* we don't need distinct on Set

Signed-off-by: Michal Vala <mvala@redhat.com>

* add rest param to watch the workspace pod logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix and add tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* return when finish with watching logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* test successful ended container log watch

Signed-off-by: Michal Vala <mvala@redhat.com>

* simplify

Signed-off-by: Michal Vala <mvala@redhat.com>

* comment up

Signed-off-by: Michal Vala <mvala@redhat.com>

* tests

Signed-off-by: Michal Vala <mvala@redhat.com>

* PodLogHandlerToEventPublisherTest

Signed-off-by: Michal Vala <mvala@redhat.com>

* make debug workspace start query param lowercase

Signed-off-by: Michal Vala <mvala@redhat.com>

* hold sharedpool object in namespace/project factories

Signed-off-by: Michal Vala <mvala@redhat.com>

* watch plugin broker logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* synchroinze closing and adding container log watchers, wait before close on error

Signed-off-by: Michal Vala <mvala@redhat.com>

* synchronize new logwatch with closing

Signed-off-by: Michal Vala <mvala@redhat.com>

* add missing license header

Signed-off-by: Michal Vala <mvala@redhat.com>

* fix logwatch close test

Signed-off-by: Michal Vala <mvala@redhat.com>

* get startOptions down to broker deploy to tell wether we want to watch the logs

Signed-off-by: Michal Vala <mvala@redhat.com>

* Update infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/namespace/KubernetesDeployments.java

Co-Authored-By: Angel Misevski <amisevsk@redhat.com>

* Update infrastructures/kubernetes/src/main/java/org/eclipse/che/workspace/infrastructure/kubernetes/namespace/log/LogWatcher.java

Co-Authored-By: Angel Misevski <amisevsk@redhat.com>

* review fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* aaand format

Signed-off-by: Michal Vala <mvala@redhat.com>

* timeoutes to constants

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove unnecessary AtomiBoolean, synchronize creating LogWatch, and few more review fixes

Signed-off-by: Michal Vala <mvala@redhat.com>

* limit log inputstream size to be safe

Signed-off-by: Michal Vala <mvala@redhat.com>

* remove logwatch TODO, which is fixed now

Signed-off-by: Michal Vala <mvala@redhat.com>

* don't need AtomicBoolean, extra options isEmpty check, some javadoc

Signed-off-by: Michal Vala <mvala@redhat.com>

Co-authored-by: Angel Misevski <amisevsk@redhat.com>
2020-02-27 15:16:37 +01:00
..
api genclass package typo (#16099) 2020-02-24 12:48:22 +01:00
integration-tests [release] Bump to 7.10.0-SNAPSHOT in master branch (#16081) 2020-02-20 12:28:58 +02:00
keycloak [release] Bump to 7.10.0-SNAPSHOT in master branch (#16081) 2020-02-20 12:28:58 +02:00
machine-auth Make embedded OAuth authentication model default for both singe and multiuser che && allow to get OAuth token with machine token (#15705) 2020-02-25 08:13:03 +01:00
permission Watch and provide startup logs (workspace + broker pods) (#16126) 2020-02-27 15:16:37 +01:00
personal-account [release] Bump to 7.10.0-SNAPSHOT in master branch (#16081) 2020-02-20 12:28:58 +02:00
sql-schema [release] Bump to 7.10.0-SNAPSHOT in master branch (#16081) 2020-02-20 12:28:58 +02:00
pom.xml [release] Bump to 7.10.0-SNAPSHOT in master branch (#16081) 2020-02-20 12:28:58 +02:00