-
Notifications
You must be signed in to change notification settings - Fork 16
New user
Different PanDA users may have distinct requirements and preferences for how the pilot should operate. To support this flexibility, the pilot implements a plugin-based architecture that separates user-specific functionality from the core pilot framework. This design allows users to customize pilot behavior without modifying the main codebase.
- Create a new directory under pilot/users/ corresponding to the new user.
- The name of this directory will serve as the user label.
- When launching the pilot, specify this label using the --pilot-user NAME option.
This mechanism ensures that user-specific logic is cleanly encapsulated and easily maintained, while the core pilot framework remains consistent and stable.
The pilot utilizes a standard configuration file located at pilot/util/default.cfg. This file defines a wide range of parameters (for example, Pilot.pandaserver) whose values typically remain static across runs.
In addition to the configuration file, the pilot can be launched with various command-line options that determine its behavior at startup. These options are fixed for the duration of the pilot’s execution and cannot be modified while it is running. For a complete list and description of available options, refer to the Pilot Options documentation
The pilot ships with a generic user plugin that serves as a reference implementation. It provides default hooks the pilot expects and demonstrates how to customize behavior safely without touching the core framework. A user should copy this plugin to a new directory (e.g., pilot/users/atlas/) and adapt only what’s necessary.
generic/ __init__.py common.py container.py copytool_definitions.py cpu.py diagnose.py jobdata.py jobmetrics.py loopingjob_definitions.py memory.py monitoring.py proxy.py setup.py utilities.py
-
common.py - Payload and workflow helpers
Central helpers that the pilot calls to prepare and run the user payload. Typical responsibilities:
- Build the payload command (including proxy export, transform setup, utility commands).
- Validate job inputs/outputs; perform sanity checks and cleanup of redundant files.
- Inject utility commands to run before/with/after the payload (e.g., sidecar monitors).
- Small policy/gating decisions (e.g., time floors, debug toggles). Customize when you need to change how the payload command is assembled, what gets validated, or which auxiliary utilities run.
- Introduction
- Pilot Architecture
- Project Structure
- Pilot Workflows
- Event service
- Metadata
- Signal Handling
- Error Codes
- Containers
- Special Algorithms
- Timing Measurements
- Data Transfers
- Copy Tools
- Direct Access
- Fallback Mechanism in Unified PanDA Queues
- Memory Monitoring
- Job Metrics
- Pilot release procedure
- Core count