Skip to content
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
e094115
feat: implement transport-related parameters and update dependencies
germa89 Nov 27, 2025
1de0cc2
chore: merge remote-tracking branch 'origin/main' into feat/implement…
germa89 Dec 1, 2025
f113fac
feat: refactor transport configuration into a dedicated method for cl…
germa89 Dec 1, 2025
30557c5
chore: merge branch 'feat/implement-transports' of https://github.com…
germa89 Dec 1, 2025
2d9f3d7
feat: add transport mode validation and logging for WNUA and UDS in M…
germa89 Dec 1, 2025
29e20b2
feat: add 'v25.2-pre1-ubuntu-cicd' to the list of versions in build_m…
germa89 Jan 2, 2026
1d414d6
feat: enhance transport configuration with dedicated methods for UDS,…
germa89 Jan 2, 2026
8e1d660
feat: set ANSYS_MAPDL_GRPC_TRANSPORT to 'insecure' in CI workflows an…
germa89 Jan 2, 2026
008be79
ci: auto fixes from pre-commit.com hooks.
pre-commit-ci[bot] Jan 2, 2026
dfc4b67
chore: merge remote-tracking branch 'origin/main' into feat/implement…
germa89 Jan 2, 2026
8cb53f0
chore: adding changelog file 4354.added.md [dependabot-skip]
pyansys-ci-bot Jan 2, 2026
d8b4e8c
Merge branch 'main' into feat/implement-transports
germa89 Jan 2, 2026
2493e76
Update src/ansys/mapdl/core/launcher.py
germa89 Jan 2, 2026
1009860
Merge branch 'main' into feat/implement-transports
germa89 Jan 2, 2026
52ee894
feat: add tests for transport parameters and environment variable pre…
germa89 Jan 5, 2026
b10aea8
chore: merge branch 'feat/implement-transports' of https://github.com…
germa89 Jan 5, 2026
2656026
chore: merge remote-tracking branch 'origin/main' into feat/implement…
germa89 Jan 5, 2026
c003527
feat: enhance transport mode testing with parameterization and platfo…
germa89 Jan 5, 2026
a002c54
chore: merge remote-tracking branch 'origin/main' into feat/implement…
germa89 Jan 12, 2026
d1d642c
feat: update gRPC transport mode assertions in output tests
germa89 Jan 12, 2026
ebd9643
feat: add tests for transport-related behaviors including wait_until_…
germa89 Jan 12, 2026
4a3b182
Merge branch 'main' into feat/implement-transports
germa89 Jan 12, 2026
12fbc03
fix: simplify UDS directory creation and improve error handling for s…
germa89 Jan 19, 2026
c22e0cf
chore: merge branch 'main' of https://github.com/ansys/pymapdl into f…
germa89 Jan 19, 2026
1dd7ad6
feat: add a step to test MAPDL using ansysgrpc in the local testing w…
germa89 Jan 19, 2026
a5e9197
feat: update MAPDL command to use specific version for gRPC and MPI
germa89 Jan 19, 2026
86daef9
feat: update local testing workflow to run MAPDL in batch mode and di…
germa89 Jan 19, 2026
9378051
feat: reintroduce MAPDL testing steps in local workflow
germa89 Jan 19, 2026
c4d2283
feat: update MAPDL command to use SMP option for improved performance
germa89 Jan 19, 2026
df5f5cd
feat: update MAPDL command to use MPI for parallel processing in loca…
germa89 Jan 19, 2026
f682e57
feat: comment out MAPDL test steps in local workflow for debugging
germa89 Jan 19, 2026
41b2e23
feat: modify test_get_slurm_options to clear PYMAPDL_NPROC environmen…
germa89 Jan 19, 2026
ccefed0
feat: clear PYMAPDL_NPROC environment variable in test_get_cpus_min f…
germa89 Jan 19, 2026
cb19944
feat: reduce maximum test failures allowed in pytest configuration to…
germa89 Jan 19, 2026
e2b72d0
feat: update Docker run command to use 'unless-stopped' restart polic…
germa89 Jan 19, 2026
794fcd1
feat: enable log upload in remote build test job for better debugging
germa89 Jan 19, 2026
71203a0
Update pyproject.toml
germa89 Jan 20, 2026
6d65812
feat: update MAPDL transport option to 'insecure' for compatibility
germa89 Jan 21, 2026
42adb1e
feat: set DPF_DEFAULT_GRPC_MODE to 'insecure' for DPF server compatib…
germa89 Jan 21, 2026
fd4a536
feat: ensure DPF_DEFAULT_GRPC_MODE is set to 'insecure' for consistency
germa89 Jan 21, 2026
ea5b7f6
feat: update DPF server startup command to include address parameter
germa89 Jan 21, 2026
f7d42c5
feat: add -allowremote flag to MAPDL transport command for remote access
germa89 Jan 21, 2026
6943abb
feat: disable log upload in remote build test job
germa89 Jan 21, 2026
ea27657
feat: update transport test cases for directory paths and logging imp…
germa89 Jan 21, 2026
2c85cb7
feat: add missing SPDX license header to test_transports.py
germa89 Jan 21, 2026
8b97ecb
feat: add check for _start_instance attribute before evaluation
germa89 Jan 21, 2026
fb6c7b9
feat: update minimum requirements for ansys-tools-common package
germa89 Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ci/build_matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# List of versions
versions=(
# if added more "latest", change "$LATEST"
'v25.2-pre1-ubuntu-cicd'
'v25.2-ubuntu-cicd'
'latest-ubuntu-student'
'v25.2.0'
Expand Down
7 changes: 2 additions & 5 deletions .ci/start_mapdl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,7 @@ CMD=$(cat <<-_EOT_
run \
--entrypoint /bin/bash \
--name ${INSTANCE_NAME} \
--restart always \
--health-interval=0.5s \
--health-retries=4 \
--health-timeout=0.5s \
--health-start-period=10s \
--restart unless-stopped \
-e ANSYSLMD_LICENSE_FILE=1055@${LICENSE_SERVER} \
-e ANSYS_LOCK="OFF" \
${DPF_ON} \
Expand All @@ -110,6 +106,7 @@ run \
-e EXEC_PATH=${EXEC_PATH} \
-e DISTRIBUTED_MODE=${DISTRIBUTED_MODE} \
-e MAPDL_IMAGE=${MAPDL_IMAGE} \
-e ANSYS_MAPDL_GRPC_TRANSPORT='insecure' \
--shm-size=2gb \
-e I_MPI_SHM_LMT=shm \
-e P_SCHEMA=${P_SCHEMA} \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ jobs:
with:
mapdl-version: "${{ matrix.mapdl-version }}"
file-name: "remote-${{ matrix.mapdl-version }}"
upload-logs: false
upload-logs: true

build-test-local-matrix:
name: "Build test matrix for minimal and local"
Expand Down
18 changes: 17 additions & 1 deletion .github/workflows/test-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ jobs:
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
DATAPROCESSING_DEBUG: /home/mapdl/dpf_logs
PYMAPDL_GRPC_TRANSPORT: 'insecure'
ANSYS_MAPDL_GRPC_TRANSPORT: 'insecure'

container:
image: "${{ inputs.package-registry }}:${{ inputs.mapdl-version }}" # zizmor: ignore[unpinned-images]
Expand Down Expand Up @@ -197,7 +199,6 @@ jobs:
run: |
apt-get update && apt-get -y install gcc mono-mcs g++


- name: "Installing minimal OS packages"
shell: bash
if: inputs.testing-minimal == true
Expand All @@ -210,6 +211,20 @@ jobs:
run: |
apt-get update && apt install -y libgl1 libglx-mesa0 xvfb libgomp1 graphviz curl git && apt-get clean

# - name: "Test MAPDL"
# shell: bash
# env:
# ANSYSLMD_LICENSE_FILE: "1055@${{ secrets.license-server }}"
# run: |
# echo "/prep7" > input.dat
# /ansys_inc/v252/ansys/bin/ansys252 -grpc -mpi openmpi -np 2 -b -i input.dat -o output.out

# - name: "Show output file"
# shell: bash
# if: always()
# run: |
# cat output.out

- name: "Setup Python"
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 #v6.1.0
with:
Expand Down Expand Up @@ -261,6 +276,7 @@ jobs:
MAPDL_VERSION: ${{ inputs.mapdl-version }}
PYTEST_INPUT_ARGUMENTS: "${{ inputs.pytest-arguments }}"
LATEST_VERSION: "${{ inputs.latest-version }}"
PYMAPDL_NPROC: 2
shell: bash
run: |
echo "ON_UBUNTU: $ON_UBUNTU"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-remote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ jobs:
TEST_DPF_BACKEND: false
PYTEST_ARGUMENTS: '--ignore_image_cache'
MAPDL_PACKAGE: ghcr.io/ansys/mapdl
PYMAPDL_GRPC_TRANSPORT: 'insecure'

steps:
- name: "Freeing some space and show space consumption (pre-test)"
Expand Down
1 change: 1 addition & 0 deletions doc/changelog.d/4354.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Implement new gRPC transports
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies = [
"ansys-mapdl-reader>=0.51.7",
"ansys-math-core>=0.1.2",
"ansys-platform-instancemanagement~=1.0",
"ansys-tools-common>=0.2.1",
"ansys-tools-common==0.3.0",
"click>=8.1.3", # for CLI interface
"grpcio>=1.30.0", # tested up to grpcio==1.35
"numpy>=1.14.0,<3.0.0",
Expand Down Expand Up @@ -138,7 +138,7 @@ addopts = [
"--durations=30",
"--log-file-level=DEBUG",
"--log-file=pytest.log",
"--maxfail=10",
"--maxfail=2",
"--profile",
"--profile-svg",
"--random-order",
Expand Down
28 changes: 28 additions & 0 deletions src/ansys/mapdl/core/launcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,11 @@ def version_from_path(*args: Any, **kwargs: Any) -> int | None:
"on_pool",
"graphics_backend",
"use_reader_backend",
# Transport-related args
"transport_mode",
"uds_dir",
"uds_id",
"certs_dir",
]

ON_WSL = os.name == "posix" and (
Expand Down Expand Up @@ -1149,6 +1154,11 @@ def launch_mapdl(
start_instance: Optional[bool] = None,
start_timeout: Optional[int] = None,
version: Optional[Union[int, str]] = None,
# Transport-related parameters
transport_mode: Optional[str] = None,
uds_dir: Optional[str] = None,
uds_id: Optional[str] = None,
certs_dir: Optional[str] = None,
**kwargs: Dict[str, Any],
) -> "MapdlGrpc | MapdlConsole | list[Any]":
"""Start MAPDL locally.
Expand Down Expand Up @@ -1400,6 +1410,24 @@ def launch_mapdl(
variable. If this environment variable is empty, it is as it is not set.
Defaults to latest available version (:class:`None`).

transport_mode : str, optional
Transport mode for gRPC channel creation. Supported modes are:
``'insecure'``, ``'uds'``, ``'wnua'``, ``'mtls'``.
Defaults to :class:`None`, which selects the appropriate mode based on
platform and environment variables.

uds_dir : str, optional
Directory for Unix Domain Socket (UDS) files when using ``'uds'`` transport.
Defaults to :class:`None`, which uses ``~/.conn``.

uds_id : str, optional
Identifier for UDS socket file when using ``'uds'`` transport.
Defaults to :class:`None`, which uses ``mapdl-{port}``.

certs_dir : str, optional
Directory containing certificates for ``'mtls'`` transport.
Defaults to :class:`None`.

kwargs : dict, Optional
These keyword arguments are interface-specific or for
development purposes. For more information, see Notes.
Expand Down
5 changes: 5 additions & 0 deletions src/ansys/mapdl/core/mapdl_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@
"start_timeout",
"timeout",
"use_reader_backend",
# Transport-related parameters
"transport_mode",
"uds_dir",
"uds_id",
"certs_dir",
]


Expand Down
Loading
Loading