Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions 2025R2_SP2/AVX_Explore_Resources_API_V1_ArchV2/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Version 0.1.0: Initial release

v0.1.0 of the AVxcelerate Resource Manager REST API has been officially released as part of the 2025 R2 release.

The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
## Introduction

The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2.

This REST API allows to perform CRUD (Create, Read, Update, and Delete) operations on resources such as queues, deployments, applications and app-runtime-configurations.

## Features

### Queues

* You can create queues with the required storages, resource limits and environment variables
* Allowing to manage queues helps will help you configure different applications within resource limits and group the applications requiring same storage together.
* You can adjust the maximum number of workers that can concurrently run on a queue using the parameter 'maximum_allowed_worker_instances'

### Plugins

You can register a plugin with definition of container runtime.
For example: Docker Engine / Kubernetes

### Jobs

* You can submit a resource-manager job by providing application details (name, version, image, environment variables, etc.) and track it to its completion.
* You can also check the status of the job and clean the resources the job has acquired.

## Python helper

The AVxcelerate python APIs are hosted as a python package on a cluster as part of the Explore service deployment. The developers can install the package using pip and use it to call AVx autonomy APIs without needing to make raw REST calls.

PyPi Regsitry URL:

The python package is hosted as PyPi compliant registry on each deployed cluster. The registry URL is like this:

https://BASE_URL/pypi

For example, for AFT deployment:

<https://explore.azure-aft.apps.frisbeedev.com/pypi>

## Usage example

Pre-requisites:

We assume that on the system is running with the **Ubuntu 22.04** version, and that the following tools are already installed:

- python 3.10
- pip 25.1
- uv 0.6

And we assume that you are using AVx Autonomy Toolchain version **25R2.1**

Step 1: Create virtual environment

```bash
$ python -m venv .venv
```

Step 2: Activate the virtual environment

```bash
$ source .venv/bin/activate
```

Step 3: Install python packages:

- ansys-api-avxcelerate-autonomy
- ansys-avxcelerate-autonomy

```bash
$ pip install ansys-api-avxcelerate-autonomy ansys-avxcelerate-autonomy --extra-index-url [https://explore-service.traefik.me:9081/pypi](https://explore-service.traefik.me:9081/v1/pypi)
```

Step 4: Use ansys-api-avxcelerate-autonomy and ansys-avxcelerate-autonomy in your python code


```python
import asyncio

from ansys.api.avxcelerate.autonomy.explore_service.v1.api.jobs_api import JobsApi

from ansys.api.avxcelerate.autonomy.explore_service.v1.api_client import ApiClient

from ansys.api.avxcelerate.autonomy.explore_service.v1.configuration import Configuration

from ansys.api.avxcelerate.autonomy.explore_service.v1.exceptions import NotFoundException

from ansys.api.avxcelerate.autonomy.explore_service.v1.models.explore_job_read import ExploreJobRead

from ansys.avxcelerate.autonomy.utils.auth_client_session import AuthClientSession

from ansys.avxcelerate.autonomy.utils.token_provider import TokenProvider

async def main():

base_url = "<https://explore.aws-stage.apps.frisbeedev.com>"

configuration = Configuration(host=f"{base_url}/api/explore/v1")

async with ApiClient(configuration) as api_client:

session = AuthClientSession(base_url=f"{base_url}/api/explore/v1/")

provider = TokenProvider(f"{base_url}/auth")

session.set_provider(provider)

provider.login()

api_client.rest_client.pool_manager = session

jobs_api = JobsApi(api_client)

job_id = "exp-dec894b2-647c-4ca5-b516-cdfc18c58fdd"

try:

job: ExploreJobRead = await jobs_api.get_job(job_id)

print(job)

except NotFoundException:

print("No job found against this id")

except Exception as ex:

print(str(ex))

print("Couldn't get job against this job id")

asyncio.run(main())
```

Binary file added 2025R2_SP2/avx-simulation-framework-2025-r2.2.zip
Binary file not shown.
Binary file removed 2025R2_SP2/avx-simulation-framework-2025-r2.zip
Binary file not shown.