anaconda / ae5-tools

A command-line tool for scripting AE5 actions
https://www.anaconda.com/enterprise/
BSD 3-Clause "New" or "Revised" License
9 stars 8 forks source link

Add Version Specification in ae5-tools API Deployment Method #165

Closed Moises1200 closed 1 year ago

Moises1200 commented 1 year ago

What would you like Anaconda to do?

We would like Anaconda to add a feature in the ae5-tools API that allows us to specify a specific version when starting a deployment. This would be within the deployment_start method in the ae5_tools.api module.

What problem does this solve?

Currently, the ae5-tools API defaults to deploying the 'latest' version when starting a deployment. However, for our deployment automation on the Anaconda Enterprise platform, we need the ability to define and deploy a specific version rather than the latest. This feature would allow us to have more control over our deployment processes and ensure we're deploying the correct version each time.

If a workaround exists, please include it.

Currently, the workaround is to manually select a deployment version on the Anaconda Enterprise platform. However, this is not ideal as it requires manual intervention and we're looking for a way to automate this process within our API calls.

Anaconda Enterprise Version: 5.5.2 ae5-tools package used for API calls

joshburt commented 1 year ago

Good morning! I've been digging into this and have some details.

The README (https://github.com/Anaconda-Platform/ae5-tools#general-capabilities) covers ident usage and naming conventions: [...] project identifier format \/\/\:\ [...]

Only tagged versions can be targeted for deployments so here 'revision' means the tag on the commit (such as 0.1.0, or 1.0.0).

It looks like this is similar to another request (https://github.com/Anaconda-Platform/ae5-tools/issues/105). I tried out the CLI approach discussed and discovered that the deployment and job calls are not honoring the revision tag syntax when used through the CLI. I did however determine why and get this this resolved.

This made me wonder if it would work with API calls too and I had success using it. You should be able to perform versioned/tagged deployments with the approach you're using, but you're going to want to change the ident parameter to match the expected scheme (from above).

I've attached a project zip that demonstrates the usage. There is a notebook which shows how I built up the ident parameter in different ways to accomplish the task.

DeploymentTester.tar.gz

Hope it helps!

joshburt commented 1 year ago

https://github.com/Anaconda-Platform/ae5-tools/pull/167 covers the fixes for the CLI invocations that were missing revision tag support for deployment and job.

joshburt commented 1 year ago

https://github.com/Anaconda-Platform/ae5-tools/pull/167 has been merged. The latest release 0.6.4 now has the fix for leveraging the revision tags for deployments and jobs through the CLI.