Skip to content
  1. Jul 20, 2020
    • Fabien Viale's avatar
      PCA permissions · be40d471
      Fabien Viale authored
       - add PcaAdminPermission to allow managing all pca services
       - Allow node token modification for standard users: standard users can add/remove a token when they are already running a task on the node. Only admin users can do this operation outside of a task execution.
  2. Mar 24, 2020
  3. Nov 22, 2019
    • Fabien Viale's avatar
      Add server-side portal access authorization · f73321f0
      Fabien Viale authored
       - Create new rest component "common/" with CommonInterface definition and CommonRest implementation
       - CommonInterface defines the method permissions/portals/{portal} to check portal authorization
       - portal authorization is implemented as JaaS PortalAccessPermission
       - cleanup some code related to sessions in rest server
       - RMCore check authorization in ImmediateService requests
       - cleanup authorizations in jaas policy, notably for "guest"
  4. Jul 29, 2019
    • Fabien Viale's avatar
      Improve Node Source permission handling · 6cf9b1b6
      Fabien Viale authored
       - created new permission for full rm core rights but which does not override node restrictions
       - created a new unused permission to override node restrictions (just in case)
       - created a new group for scheduler full permission
       - "admin" and "demo" users now belong to rmcore and scheduler admin group instead of having "AllPermissions". This allows to enforce node usage restrictions on those accounts
       - improved tests in rm-server/permissions
  5. May 23, 2019
    • Fabien Viale's avatar
      upgrade resteasy to 3.0.26 (#3554) · aa374410
      Fabien Viale authored
      * upgrade resteasy to 3.0.26
      last upgrade did not solve the memory leak issue due to mime4j temporary file. The version upgraded for rest easy libraries was the wrong version.
       Version 3.0.21 contains the fix instead of 3.0.19
      trying to fix tests
       - In RestTestServer slight modification to introspection code
       - As Gzip is now disabled by default since version 3.0.21, register Gzip providers in client and server part.
  6. Apr 29, 2019
    • Mykhailenko's avatar
      Async & cached loggers (#3531) · b6eb458d
      Mykhailenko authored
      * Make log4j loggers asynchronous
       - Encapsulation of the log4j root logger configured appenders inside AsyncAppender(s)
       - Encapsulate all FileAppenders (Task and Job loggers) using AsyncAppenders
       - Cache already created FileAppender inside a static ConcurrentHashMap
       - make AsyncAppender buffer size configurable
       - close appenders at the end of tasks/jobs
      * Close job logger before deleting log files
      JobLogger can sometimes be used after the job is terminated.
      In order to delete log files, the job logger must be closed systematically
      * fix test java security policy file
      * Improve asynchronous logging
       - improve ServerJobAndTaskLogs to limit the number of retries when trying to remove a job log folder, display the files which cannot be deleted, and automatically close associated loggers
       - improve LiveJobs and SchedulerFrontend to not use job or task loggers when not appropriate (especially when outside the job lifecycle)
       - added two new properties in PAResourceManagerProperties to configure asynchronous logging (enable or disable, use a cache).
       - improve asynchronous logging in FileAppender : do not use log4j AsyncAppender as it creates 1 thread per appender and implement instead a single-thread asynchronous logging mechanism using LinkedBlockingQueue
       - added new tests in JobLoggerTest
      * Improve asynchronous logging
       - increase test sleep 
  7. Oct 10, 2018
  8. Mar 05, 2018
    • Justine Rochas's avatar
      Split node source creation in two steps (#3138) · 6549b29f
      Justine Rochas authored
      * Separate createNodeSource into two steps
      - deprecate createNodeSource (RMCore, RMRest, CLI)
      - create defineNodeSource and deployNodeSource (RMCore, RMRest, CLI)
      - policy and NodeSource are instantiated at node source definition but they are not active until the node source is deployed. The NodeSource has now a reference towards its active policy and a reference towards its non active policy
      - initialize node source permissions when activity starts
      - maintain list of defined and deployed node sources
      - add node source defined event
      - add attribute in RMNodeSourceEvent for the node source status
      - delete test that no longer apply with the node source changes
      * Adapt to recovery 
      - lighten RMCore class by moving recovery logic
      - fix nodes recovery and create two different lists for deployed and undeployed node sources
      * Refactor node source parameters
      - use Serializable type for node source parameters
      - refactor parameter merging for the infrastructure and the policy
  9. Jan 25, 2018
    • Justine Rochas's avatar
      Adapt nodes recovery per node source (#3088) · 916f14a1
      Justine Rochas authored
      * Specify nodes recovery per node source
      - add nodesRecoverable attribute of the node source, persisted in database
      - duplicate the REST endpoint createNodeSource, add boolean nodesRecoverable at the end of parameters
      - check this attribute along with the global nodes recovery property, but the global property is considered in priority
      - when task runs, check whether task runs on recoverable node, if not, do not let it rebind to a new task terminate notification
      - when the scheduler is started, reset to pending the tasks that are running on nodes that cannot be recovered
      - remove specific cases for the default DefaultInfrastructureManagaer created and for the default LocalInfrastrucure
      * Update createns CLI command
      - add optional String parameter to specify if the node source nodes are recoverable upon scheduler crash. User should now pass any case sensitive falvours of 'true' to have recoverable nodes, or any other string to disable nodes recoverability of the new node source.
      - add new test class for CLI createns
      * Apply node source recovery when nodes recovery is disabled
      - when nodes recovery is disabled, node source recovery should still be applied, to enable the nodes of the node source to be recreated. Before this commit the nodes recovery property was checked before recovering node sources, hence node sources could not be recovered.
      - add four test that consider whether nodes recovery is globally activated + whether nodes recovery per node source is activated. The nodes must not be recreated during recovery only in the case where the global nodes recovery and the nodes recovery of the node source are both activated (assuming that the nodes are still alive). The other combination should lead to a recreation of the nodes.
      - revert SchedulerTasksStateRecoverIntegrationTest and TestLoadSchedulerClientState to the verification they did before the task recovery was introduced, because the nodes recovery is now disabled for the node source used in standard tests.
      - apply sonar fixes
  10. Jan 22, 2018
    • Justine Rochas's avatar
      Prevent setNodesAvailable to be called for not-yet-available nodes (#3096) · 3d23d385
      Justine Rochas authored
      * Prevent setNodesAvailable to be called for not-yet-available nodes
      - factorize allNodes.put calls in a single method RMCore#makeNodeAvailable that is accessible from the node source and whose returned future is waited on on the node source side, to wait for the node to be added in the map.
      - make allNodes map a ConcurrentHashMap because of its access in ImmediateService (in setNodesAvailable)
      - in case of recovery, wait for the RM to have its initActivity finished before letting 'setNodesAvailable' (immediate service) proceed
  11. Feb 09, 2017
  12. Sep 28, 2016
  13. Oct 22, 2015
  14. Sep 29, 2015
  15. Sep 24, 2015
  16. Jun 15, 2015
    • Mauricio Jost's avatar
      Allow execution of server side workflows · 4dbbf5c6
      Mauricio Jost authored
      This commit enable the Scheduler REST API to be able to create jobs
      using workflows that are retrieved from HTTP servers.
      Also makes the Studio REST API expose workflow and template contents
      (provided valid credentials).
      Consequently, now it is possible to create a workflow (or template)
      using the Studio, get its URL, and create with it (and additional
      variables if needed) a new job resource on the Scheduler REST API. It
      will automatically perform authentication and downloading of the
      workflow, and then submission.
  17. May 13, 2015
  18. Nov 26, 2014
  19. Nov 14, 2014
  20. Nov 07, 2014
  21. Oct 29, 2014
  22. Jul 23, 2014
  23. May 12, 2014
  24. May 02, 2014
  25. Mar 31, 2014