Commit Graph
49 Commits
Author SHA1 Message Date
Jørgen Herje f015af98ee Dedicated python env for ri-cloud-api (#14831)
- Add ri-cloud-api python env preferences
-  Prevent loop of restart/reconnect when manually clicking "start"/"Authenticate"
2026-10-02 12:44:33 +02:00
Jørgen Herje 52f9cdf777 Add Polygons data from Cloud (#14811)
Add fetch og polygons from cloud using ri-cloud-api service as submodule

Current version of submodule fetches polygons from Sumo, prodviding polygons with standard results tag.
2026-09-30 18:16:00 +02:00
Jørgen Herje c49f298a7d [ri-cloud-api]: Add grid data from sumo using api (#14653)
Add grid data from Sumo using ri-cloud-api

Load Eclipse grid data (roff) from Sumo as RimReservoirGridEnsemble, one case per realization, with async fetch of grid properties per timestep.

- New: RiaSumoGrid (transport), RifReaderSumoGridProperty (lazy property reader), RimReservoirGridEnsembleSumo, RimRoffCaseSumo, and a "Create Reservoir Grid Ensemble" command.
- Shared grid: IJK dimensions compared before download; one RigMainGrid is reused across the ensemble when they match, each realization still parses its own ACTNUM before releasing geometry.
- Rename folders: Summary/Sumo -> Summary/Cloud, RimSumoDataSource -> Cloud/ (PDM keywords unchanged, old project files still load).
- UI: cloud data sources also shown in the 3D window's Data Sources dock.
- Fix: realizations no longer lost on project reload; realizations missing data are now reported instead of silently skipped.
2026-09-10 10:33:58 +02:00
Jørgen Herje 0d9d4fed19 Improved Sumo summary data fetching (#14551)
Sumo data is loaded so the application stays responsive while it waits.

Run Sumo transfers on a dedicated thread
Split RiaSumoConnector into transport and data delegates
Load Sumo summary vectors concurrently and without waiting
Show that Sumo data is being loaded
2026-08-20 11:48:25 +02:00
Jørgen Herje 5afb5c8a17 Sumo summary data using ri-cloud-api (#14503)
- Fetch SUMO summary data using ri-cloud-api
- Update ri-cloud-api submodule to get improved speed on sumo search
2026-08-12 12:22:40 +02:00
Jørgen Herje 086ab43e0a Change ResInsight to use ri-cloud-api as submodule (#14468) 2026-08-06 08:28:00 +02:00
c3e7c05fd6 Initial ri-cloud-api lifecycle management test (#14364)
Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
Co-authored-by: magnesj <1793152+magnesj@users.noreply.github.com>
2026-07-28 09:36:14 +02:00
Magne Sjaastad 071d6cc19e #14050 CMake: Remove dead variable definitions and references
* CMake: Remove dead CODE_HEADER_FILES variable
* CMake: Remove dead COMMAND_CODE_HEADER_FILES and COMMAND_MOC_SOURCE_FILES
* CMake: Remove dead MOC_SOURCE_FILES and FORM_FILES_CPP references
* CMake: Remove dead HEADER_FILES reference
* CMake: Delete unused CustomPCH.cmake superseded by target_precompile_headers
2026-05-26 13:10:20 +02:00
Jørgen Herje 291fb48b10 Adjust elastic search 2026-05-21 16:06:56 +02:00
Kristian Bendiksen 5ffcb69acc #13126 RiaLogging: Use std::string_view instead of QString for logging 2026-05-08 10:11:09 +02:00
Magne Sjaastad 71e57f9beb Remove LoggingState enum from OpenTelemetry preferences
OpenTelemetry initialization is now driven by the presence of a config
file: if no config file is found (connection string is empty), init is
skipped silently without writing to the log.
2026-02-26 08:23:53 +01:00
Magne Sjaastad 74324d14a4 Telemetry: Add event allowlist/denylist filtering
Extend opentelemetry_config.json with optional event_allowlist and
event_denylist arrays. Patterns support wildcard suffix (e.g. grpc.*).
Allowlist is checked first; denylist further restricts within the
allowed set. crash.* events always bypass all filters and queue limits.

Add RiaConnectorTools-Test.cpp covering all JSON value types including
the new array handling.
2026-02-23 12:29:41 +01:00
Magne Sjaastad 6cdcc4493a #13615 Read cloud config files, do not store in preferences
Adds config file path to cloud service prefs.

This change makes the configuration file used to set the preferences accessible within the application. The fields are now set to read-only and IO disabled by default.
2026-02-13 14:53:33 +01:00
Magne Sjaastad 76417b78f5 Allow SSL protocol override via RESINSIGHT_SSL_PROTOCOL
Add support for configuring the default SSL/TLS protocol used by Qt's network stack through the RESINSIGHT_SSL_PROTOCOL environment variable. This provides a workaround for OpenSSL 3.x crashes on RHEL8 by allowing users to force TLS 1.2 or another protocol. Logs a warning if an invalid value is provided. Supported values include TlsV1_0, TlsV1_1, TlsV1_2, TlsV1_3, AnyProtocol, SecureProtocols, and their "OrLater" variants.
2026-01-30 13:42:58 +01:00
Magne Sjaastad d9c26c2c6d Improve cleanup and signal disconnection on teardown
Add explicit disconnection of signals and abort pending network replies in destructors and shutdown methods to prevent unwanted callbacks and threading issues during object destruction or shutdown. This enhances robustness and safety, especially in asynchronous and multi-threaded contexts.
2026-01-29 11:16:22 +01:00
Magne Sjaastad c98777e9bb Lower log level for config and service init messages
Changed logging from info to debug for config imports, CAF logging, socket server, and gRPC server startup. OpenTelemetry initialization now only runs if enabled, with results logged at debug level.
2026-01-22 12:49:34 +01:00
Magne Sjaastad 7f0ef8dbc4 Simplifies OpenTelemetry integration
Removes conditional compilation for OpenTelemetry, ensuring it is always included.

Reinitializes OpenTelemetry based on user preferences, ensuring that changes to telemetry settings are applied immediately.

Configures cloud services, including OpenTelemetry, after the logger is initialized, ensuring that telemetry data is properly captured and transmitted.

Retrieves system username for telemetry tracking.
2025-12-22 16:41:29 +01:00
Magne Sjaastad a754b44e64 Loads OpenTelemetry configuration from file
Adds support for loading OpenTelemetry configuration from a JSON file.

Generalizes configuration file loading to handle OSDU, SUMO and OpenTelemetry configurations using a common function.

Improves JSON value parsing to support strings, doubles, and booleans.
2025-12-18 08:40:30 +01:00
Magne Sjaastad 54e8b59ccf #13283 OSDU: Add ExistenceKind support and improve well import wizard
- Add ExistenceKind field to OsduWellboreTrajectory struct
- Extract ExistenceKind from OSDU trajectory JSON data
- Add ExistenceKind field to WellInfo structure
- Display ExistenceKind in RimOsduWellPath UI under OSDU group
- Add Enter key support for field search in import wizard
- Show trajectory count in well import summary page
2025-12-10 14:49:30 +01:00
Kristian Bendiksen b54a335270 #13026 OSDU: Get wellbores by field ID instead of wells
Changed the API call order to first retrieve wellbores by field ID,
then extract well information from the wellbore data.WellID field.

Previously:
- Get wells by field ID
- For each well, get wellbores by well ID

Now:
- Get wellbores by field ID (wellbores contain data.WellID)
- Wells are identified from the wellbores' wellID field

Updated RiuWellImportWizard to use the new flow.
2025-11-21 14:07:01 +01:00
Magne Sjaastad ec823370d0 Add "Request New Authorization"
Add reauthenticate to general authenticate dialog
2025-02-17 09:13:50 +01:00
Magne Sjaastad 938222f878 #12091 Show dialog with cancel button when requesting authorization tokens 2025-02-03 12:45:30 +01:00
Magne Sjaastad ca0179d118 Remove obsolete CMake statements
When using modern CMake and Qt6 we can remove obsolete source_group() and QT_MOC_HEADERS
2025-01-28 07:01:42 +01:00
Magne Sjaastad 041e2f2e13 #11938 Cloud Config: Show the full path to config file for cloud services 2024-11-29 06:28:02 +01:00
Magne Sjaastad 2814b92055 Qt6: Adjustments (#11804)
* Qt6: Avoid insertWidget, use addWidget
In Qt6, the insertWidget function checks if the index parameter is valid based on current widgets present in the layout. This is error prone, and use addWidget to avoid manual counting of index.

* Disable use of Qt keyword foreach

* Replace use of QRegExp with QRegularExpression
Replace use of QRegExp with QRegularExpression
Remove dependency on qt5compat module
Simplify an expression based on review

* Remove Qt5 ifdefs

* Guard access out of bounds seen in debug build

* Avoid reuse of string variable

* Disconnect all signals from the QOpenGLContext
The call stack when this assert happens indicates that there are more signals to be disconnected from the object. Crash is fixed by disconnecting all signals.

Assert seen in debug build:

ASSERT failure in caf::Viewer: "Called object is not of the correct type (class destructor may have already run)", file C:\Qt\6.6.3\msvc2019_64\include\QtCore/qobjectdefs_impl.h, line 130

* Fix issue related to delete of a linked view
Guard null pointer use in view linker. Remove complicated cleanup in destructor in Rim3dVew.
2024-10-28 13:09:18 +01:00
Magne Sjaastad c795eccf0b Align the search expression with sumo explorer 2024-10-24 08:50:26 +02:00
Kristian Bendiksen ff3b932257 Cloud: fix crash in PdmUiEditorHandle due to recursive event loop. 2024-09-09 14:32:32 +02:00
Magne Sjaastad 7ba4329bb4 Add qt-version to matrix configuration 2024-09-06 12:11:50 +02:00
Magne Sjaastad a443655b42 Prefix NetworkAuth includes 2024-09-06 12:11:50 +02:00
Kristian Bendiksen 0518e594ce Improve caching. 2024-08-28 08:33:44 +02:00
Kristian Bendiksen 44076f4911 Sumo: load parameter sensitivities (i.e. "parameters.txt") for ensembles. 2024-08-28 08:33:44 +02:00
Kristian Bendiksen f6fa93bb66 Sumo: Fix concurrency issue when stepping too fast. 2024-08-23 12:18:05 +02:00
Kristian Bendiksen ef9a397188 Sumo: improve logging and remove some unused code. 2024-08-23 12:18:05 +02:00
Kristian Bendiksen 123f6fdcfa Sumo: Fix incorrect signal-slot connection. 2024-08-23 12:18:05 +02:00
Kristian Bendiksen 12069ca80a Sumo: Fix incorrect signal connection.
The signal was not connect using the std::function signalCallable.
Therefore the signal would never trigger the QEventLoop::quit() slot,
and UI would be stuck waiting for the time out.
2024-08-23 12:18:05 +02:00
Kristian Bendiksen f777dfa4ba Sumo: Increase request timeout. 2024-08-23 12:18:05 +02:00
Magne Sjaastad 1a3a005c1c Add optional import of SUMO/OSDU settings from JSON (#11630)
Add optionally import of SUMO/OSDU settings from JSON. Check for sumo_config.json and osdu_config.json. If present, import settings to preferences and set fields read only.
2024-08-22 07:18:06 +02:00
Kristian Bendiksen bf2a852b4d Add cancellation of well path collection loading. 2024-08-16 15:46:22 +02:00
Kristian Bendiksen 76a1d43b0e Osdu: make sure token is valid before background loading. 2024-08-14 11:32:07 +02:00
Magne Sjaastad d8bd7bc81a Cloud connector cleanup
* Rename to RiaOAuthHttpServerReplyHandler
* Add comment header
* SUMO: Use function pointer to simplify network request
2024-07-23 11:49:07 +02:00
Kristian Bendiksen 773d9b08c9 Janitor: remove unused code. 2024-07-13 12:07:49 +02:00
Kristian Bendiksen 2aa1bfe940 Cloud: save expiration timestamp for access token.
Expired access tokens are ignored when reading from file.
2024-07-13 12:07:49 +02:00
Kristian Bendiksen 3e2af38c90 Cloud: Use separate files for Osdu and Sumo tokens. 2024-07-13 12:07:49 +02:00
Kristian Bendiksen 896e4979bf Cloud: Handle refresh of access token. 2024-07-12 19:18:09 +02:00
Kristian Bendiksen 151f433124 Cloud: create directory if missing when saving access token. 2024-07-12 19:18:09 +02:00
Kristian Bendiksen 734a84956e Osdu Well Log: use channel "CurveId" instead of "Mnemonic". 2024-07-12 19:18:09 +02:00
Kristian Bendiksen eda26bcc25 Cloud: Extract common oauth2 parts of Sumo and Osdu connector. 2024-07-12 19:18:09 +02:00
Kristian Bendiksen 44daecac9a Refactor: move RiaOsduConnector to Tools/Cloud. 2024-07-10 18:57:15 +02:00
Magne Sjaastad ffc1687cc7 Add Sumo connector and related cloud tools
* Add cloud data icon
* Add Sumo connector and related helper tools
* Reorganize preferences and remove ssihub
* Use timeout defined for Sumo
2024-07-05 09:31:16 +02:00