From d3a7b93a634d2da40693bc9cda8460af0bd0ca69 Mon Sep 17 00:00:00 2001 From: Caroline Chen <324939130+caroline-db@users.noreply.github.com> Date: Tue, 20 Oct 2026 19:58:20 +0000 Subject: [PATCH 1/3] Label AIR image commands as Beta --- acceptance/air/help/output.txt | 8 +++++--- acceptance/air/image-push/output.txt | 22 +++++++++++----------- cmd/air/image.go | 26 +++++++++++++++++++------- cmd/air/image_test.go | 13 ++++++++++++- 4 files changed, 47 insertions(+), 22 deletions(-) diff --git a/acceptance/air/help/output.txt b/acceptance/air/help/output.txt index d95166bf83d..bac92e0eae6 100644 --- a/acceptance/air/help/output.txt +++ b/acceptance/air/help/output.txt @@ -12,7 +12,7 @@ Available Commands: cancel Cancel one or more runs convert-to-dabs Convert an AIR run YAML into a Databricks Asset Bundle get Show status, configuration, and timing details for a specified run - images Manage container images for AI Runtime + images *Beta* Manage container images for AI Runtime list List active runs for the current user logs Stream or fetch logs for a run pools View provisioned GPU pools @@ -108,14 +108,14 @@ Use "databricks air pools [command] --help" for more information about a command === images help >>> [CLI] air images --help -Manage container images for AI Runtime +*Beta* Manage container images for AI Runtime Usage: databricks air images [flags] databricks air images [command] Available Commands: - push Push a container image to Databricks Artifact Registry + push *Beta* Push a container image to Databricks Artifact Registry Flags: -h, --help help for images @@ -130,6 +130,8 @@ Use "databricks air images [command] --help" for more information about a comman === images push help >>> [CLI] air images push --help +This command is in Beta. + Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. The command configures Docker's Databricks credential helper, automatically detects diff --git a/acceptance/air/image-push/output.txt b/acceptance/air/image-push/output.txt index 03c49f36d40..6ba1044de6b 100644 --- a/acceptance/air/image-push/output.txt +++ b/acceptance/air/image-push/output.txt @@ -1,7 +1,7 @@ === push image >>> databricks air images push -p docker-test -s nvidia/cuda:13.4.1 --catalog my-catalog --schema my-schema --artifact cuda:13.4.1-cudnn-devel-ubuntu26.04 -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing nvidia/cuda:13.4.1 as my-catalog.my-schema.cuda:13.4.1-cudnn-devel-ubuntu26.04 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -36,7 +36,7 @@ push [WORKSPACE_ID].container.us-west-2.localhost/my-catalog.my-schema.cuda:13.4 === missing image is pulled for AIR; destination defaults to source >>> databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -51,7 +51,7 @@ Now you can set `environment.unity_catalog_image = main.training.image:v1` in yo === forced pull and JSON output >>> databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -o json -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -74,7 +74,7 @@ Pushed image. === daemon failure must not pull >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -84,7 +84,7 @@ Error: check local source image example/image:v1 (ensure Docker is running and a === inspect failure must not pull >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -95,7 +95,7 @@ Error: inspect source image example/image:v1: exit status 1 === incompatible local image must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -105,7 +105,7 @@ Error: source image example/image:v1 has platform "linux/arm64"; AIR requires li === incompatible pulled image must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -116,7 +116,7 @@ Error: source image example/image:v1 has platform "linux/arm64"; AIR requires li === pull failure must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -127,11 +127,11 @@ Error: pull source image example/image:v1: exit status 1 === invalid destination and removed flags >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --artifact invalid.name -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Error: invalid artifact name "invalid.name": use lowercase letters and digits separated by one or two underscores or one or more hyphens >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema team_-training -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Error: invalid schema "team_-training": use lowercase letters and digits separated by one or two underscores or one or more hyphens >>> musterr databricks air images push --region us-west-2 @@ -178,7 +178,7 @@ Global Flags: === reject oversized catalog.schema.artifact before Docker operations >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --artifact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. +Warning: This feature is in Beta. The workspace must enable the required previews. Error: invalid image repository name: catalog.schema.artifact must be 255 characters or less === all docker commands diff --git a/cmd/air/image.go b/cmd/air/image.go index ccf40bb5db5..ea64bf8afb7 100644 --- a/cmd/air/image.go +++ b/cmd/air/image.go @@ -19,9 +19,11 @@ import ( ) const ( - maxImageRepositoryLength = 255 - maxImageTagLength = 128 - airImagePlatform = "linux/amd64" + maxImageRepositoryLength = 255 + maxImageTagLength = 128 + airImagePlatform = "linux/amd64" + airImagesLaunchStage = "PUBLIC_BETA" + airImagesLaunchStageDisplay = "Beta" ) var ( @@ -105,9 +107,13 @@ func registryHostFromDockerConfigureOutput(output string) (string, error) { func newImagesCommand() *cobra.Command { cmd := &cobra.Command{ Use: "images", - Short: "Manage container images for AI Runtime", + Short: "*Beta* Manage container images for AI Runtime", RunE: root.ReportUnknownSubcommand, } + cmd.Annotations = map[string]string{ + "launch_stage": airImagesLaunchStage, + "launch_stage_display": airImagesLaunchStageDisplay, + } cmd.AddCommand(newImagePushCommand()) return cmd } @@ -122,8 +128,10 @@ func newImagePushCommandWithDeps(deps imagePushDeps) *cobra.Command { var opts imagePushOptions cmd := &cobra.Command{ Use: "push", - Short: "Push a container image to Databricks Artifact Registry", - Long: `Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. + Short: "*Beta* Push a container image to Databricks Artifact Registry", + Long: `This command is in Beta. + +Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. The command configures Docker's Databricks credential helper, automatically detects the registry region, and pushes the source image to catalog.schema.artifact:tag. @@ -138,6 +146,10 @@ The destination --artifact ARTIFACT[:TAG] defaults to the source image name and return runImagePush(cmd, &opts, deps) }, } + cmd.Annotations = map[string]string{ + "launch_stage": airImagesLaunchStage, + "launch_stage_display": airImagesLaunchStageDisplay, + } cmd.Flags().StringVarP(&opts.source, "source", "s", "", "Source container image to push (NAME[:TAG] or NAME@DIGEST)") cmd.Flags().StringVar(&opts.catalog, "catalog", "", "Destination Unity Catalog catalog; use lowercase letters and digits separated by one or two underscores or one or more hyphens") @@ -150,7 +162,7 @@ The destination --artifact ARTIFACT[:TAG] defaults to the source image name and // runImagePush validates inputs, prepares a compatible source image, and pushes it to DAR. func runImagePush(cmd *cobra.Command, opts *imagePushOptions, deps imagePushDeps) error { ctx := cmd.Context() - cmdio.LogString(ctx, "Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features.") + cmdio.LogString(ctx, "Warning: This feature is in Beta. The workspace must enable the required previews.") w := cmdctx.WorkspaceClient(ctx) resolved, err := resolveImagePushOptions(ctx, opts) diff --git a/cmd/air/image_test.go b/cmd/air/image_test.go index 12e72c1f0cc..624d474c581 100644 --- a/cmd/air/image_test.go +++ b/cmd/air/image_test.go @@ -37,6 +37,17 @@ func newImagePushTestCommand(t *testing.T, profile string) (*cobra.Command, *byt return withOutput(cmd, flags.OutputText), stdout, stderr } +func TestImagesCommandsBetaAnnotations(t *testing.T) { + images := newImagesCommand() + push, _, err := images.Find([]string{"push"}) + require.NoError(t, err) + + for _, cmd := range []*cobra.Command{images, push} { + assert.Equal(t, airImagesLaunchStage, cmd.Annotations["launch_stage"]) + assert.Equal(t, airImagesLaunchStageDisplay, cmd.Annotations["launch_stage_display"]) + } +} + func TestRunImagePushTagsAndPushesLocalImage(t *testing.T) { cmd, stdout, stderr := newImagePushTestCommand(t, "workspace") var commands []recordedImageCommand @@ -83,7 +94,7 @@ func TestRunImagePushTagsAndPushesLocalImage(t *testing.T) { stdout.String(), ) stderrLines := strings.Split(stderr.String(), "\n") - assert.Equal(t, "Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features.", stderrLines[0]) + assert.Equal(t, "Warning: This feature is in Beta. The workspace must enable the required previews.", stderrLines[0]) assert.Contains(t, stderr.String(), "Pushed image") } From ff2d1620c996147d3ce4368be84b6bfc21ccc701 Mon Sep 17 00:00:00 2001 From: Caroline Chen <324939130+caroline-db@users.noreply.github.com> Date: Fri, 23 Oct 2026 21:05:26 +0000 Subject: [PATCH 2/3] Refine AIR image preview labeling --- acceptance/air/help/output.txt | 8 ++++---- acceptance/air/image-push/output.txt | 22 +++++++++++----------- cmd/air/image.go | 24 +++++++----------------- cmd/air/image_test.go | 13 +------------ 4 files changed, 23 insertions(+), 44 deletions(-) diff --git a/acceptance/air/help/output.txt b/acceptance/air/help/output.txt index bac92e0eae6..892041d640e 100644 --- a/acceptance/air/help/output.txt +++ b/acceptance/air/help/output.txt @@ -12,7 +12,7 @@ Available Commands: cancel Cancel one or more runs convert-to-dabs Convert an AIR run YAML into a Databricks Asset Bundle get Show status, configuration, and timing details for a specified run - images *Beta* Manage container images for AI Runtime + images Manage container images for AI Runtime list List active runs for the current user logs Stream or fetch logs for a run pools View provisioned GPU pools @@ -108,14 +108,14 @@ Use "databricks air pools [command] --help" for more information about a command === images help >>> [CLI] air images --help -*Beta* Manage container images for AI Runtime +Manage container images for AI Runtime Usage: databricks air images [flags] databricks air images [command] Available Commands: - push *Beta* Push a container image to Databricks Artifact Registry + push *Preview* Push a container image to Databricks Artifact Registry Flags: -h, --help help for images @@ -130,7 +130,7 @@ Use "databricks air images [command] --help" for more information about a comman === images push help >>> [CLI] air images push --help -This command is in Beta. +This CLI command is in Preview. For current feature status and requirements, see https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images. Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. diff --git a/acceptance/air/image-push/output.txt b/acceptance/air/image-push/output.txt index 6ba1044de6b..03c49f36d40 100644 --- a/acceptance/air/image-push/output.txt +++ b/acceptance/air/image-push/output.txt @@ -1,7 +1,7 @@ === push image >>> databricks air images push -p docker-test -s nvidia/cuda:13.4.1 --catalog my-catalog --schema my-schema --artifact cuda:13.4.1-cudnn-devel-ubuntu26.04 -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing nvidia/cuda:13.4.1 as my-catalog.my-schema.cuda:13.4.1-cudnn-devel-ubuntu26.04 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -36,7 +36,7 @@ push [WORKSPACE_ID].container.us-west-2.localhost/my-catalog.my-schema.cuda:13.4 === missing image is pulled for AIR; destination defaults to source >>> databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -51,7 +51,7 @@ Now you can set `environment.unity_catalog_image = main.training.image:v1` in yo === forced pull and JSON output >>> databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -o json -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -74,7 +74,7 @@ Pushed image. === daemon failure must not pull >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -84,7 +84,7 @@ Error: check local source image example/image:v1 (ensure Docker is running and a === inspect failure must not pull >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -95,7 +95,7 @@ Error: inspect source image example/image:v1: exit status 1 === incompatible local image must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -105,7 +105,7 @@ Error: source image example/image:v1 has platform "linux/arm64"; AIR requires li === incompatible pulled image must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -116,7 +116,7 @@ Error: source image example/image:v1 has platform "linux/arm64"; AIR requires li === pull failure must not be pushed >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --pull -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Pushing example/image:v1 as main.training.image:v1 using profile docker-test Configured Docker credential helper for [WORKSPACE_ID].container.us-west-2.localhost Updated Docker config: [TEST_TMP_DIR]/home/docker/config.json @@ -127,11 +127,11 @@ Error: pull source image example/image:v1: exit status 1 === invalid destination and removed flags >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --artifact invalid.name -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Error: invalid artifact name "invalid.name": use lowercase letters and digits separated by one or two underscores or one or more hyphens >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema team_-training -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Error: invalid schema "team_-training": use lowercase letters and digits separated by one or two underscores or one or more hyphens >>> musterr databricks air images push --region us-west-2 @@ -178,7 +178,7 @@ Global Flags: === reject oversized catalog.schema.artifact before Docker operations >>> musterr databricks air images push -p docker-test -s example/image:v1 --catalog main --schema training --artifact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -Warning: This feature is in Beta. The workspace must enable the required previews. +Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features. Error: invalid image repository name: catalog.schema.artifact must be 255 characters or less === all docker commands diff --git a/cmd/air/image.go b/cmd/air/image.go index ea64bf8afb7..795fdc198de 100644 --- a/cmd/air/image.go +++ b/cmd/air/image.go @@ -19,11 +19,9 @@ import ( ) const ( - maxImageRepositoryLength = 255 - maxImageTagLength = 128 - airImagePlatform = "linux/amd64" - airImagesLaunchStage = "PUBLIC_BETA" - airImagesLaunchStageDisplay = "Beta" + maxImageRepositoryLength = 255 + maxImageTagLength = 128 + airImagePlatform = "linux/amd64" ) var ( @@ -107,13 +105,9 @@ func registryHostFromDockerConfigureOutput(output string) (string, error) { func newImagesCommand() *cobra.Command { cmd := &cobra.Command{ Use: "images", - Short: "*Beta* Manage container images for AI Runtime", + Short: "Manage container images for AI Runtime", RunE: root.ReportUnknownSubcommand, } - cmd.Annotations = map[string]string{ - "launch_stage": airImagesLaunchStage, - "launch_stage_display": airImagesLaunchStageDisplay, - } cmd.AddCommand(newImagePushCommand()) return cmd } @@ -128,8 +122,8 @@ func newImagePushCommandWithDeps(deps imagePushDeps) *cobra.Command { var opts imagePushOptions cmd := &cobra.Command{ Use: "push", - Short: "*Beta* Push a container image to Databricks Artifact Registry", - Long: `This command is in Beta. + Short: "*Preview* Push a container image to Databricks Artifact Registry", + Long: `This CLI command is in Preview. For current feature status and requirements, see https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images. Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. @@ -146,10 +140,6 @@ The destination --artifact ARTIFACT[:TAG] defaults to the source image name and return runImagePush(cmd, &opts, deps) }, } - cmd.Annotations = map[string]string{ - "launch_stage": airImagesLaunchStage, - "launch_stage_display": airImagesLaunchStageDisplay, - } cmd.Flags().StringVarP(&opts.source, "source", "s", "", "Source container image to push (NAME[:TAG] or NAME@DIGEST)") cmd.Flags().StringVar(&opts.catalog, "catalog", "", "Destination Unity Catalog catalog; use lowercase letters and digits separated by one or two underscores or one or more hyphens") @@ -162,7 +152,7 @@ The destination --artifact ARTIFACT[:TAG] defaults to the source image name and // runImagePush validates inputs, prepares a compatible source image, and pushes it to DAR. func runImagePush(cmd *cobra.Command, opts *imagePushOptions, deps imagePushDeps) error { ctx := cmd.Context() - cmdio.LogString(ctx, "Warning: This feature is in Beta. The workspace must enable the required previews.") + cmdio.LogString(ctx, "Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features.") w := cmdctx.WorkspaceClient(ctx) resolved, err := resolveImagePushOptions(ctx, opts) diff --git a/cmd/air/image_test.go b/cmd/air/image_test.go index 624d474c581..12e72c1f0cc 100644 --- a/cmd/air/image_test.go +++ b/cmd/air/image_test.go @@ -37,17 +37,6 @@ func newImagePushTestCommand(t *testing.T, profile string) (*cobra.Command, *byt return withOutput(cmd, flags.OutputText), stdout, stderr } -func TestImagesCommandsBetaAnnotations(t *testing.T) { - images := newImagesCommand() - push, _, err := images.Find([]string{"push"}) - require.NoError(t, err) - - for _, cmd := range []*cobra.Command{images, push} { - assert.Equal(t, airImagesLaunchStage, cmd.Annotations["launch_stage"]) - assert.Equal(t, airImagesLaunchStageDisplay, cmd.Annotations["launch_stage_display"]) - } -} - func TestRunImagePushTagsAndPushesLocalImage(t *testing.T) { cmd, stdout, stderr := newImagePushTestCommand(t, "workspace") var commands []recordedImageCommand @@ -94,7 +83,7 @@ func TestRunImagePushTagsAndPushesLocalImage(t *testing.T) { stdout.String(), ) stderrLines := strings.Split(stderr.String(), "\n") - assert.Equal(t, "Warning: This feature is in Beta. The workspace must enable the required previews.", stderrLines[0]) + assert.Equal(t, "Warning: This feature is in Preview. APIs may change, and the workspace must enable the Preview features.", stderrLines[0]) assert.Contains(t, stderr.String(), "Pushed image") } From 02879adb839e4f6c970255b1593eb840aa62a7fa Mon Sep 17 00:00:00 2001 From: Caroline Chen <324939130+caroline-db@users.noreply.github.com> Date: Sat, 24 Oct 2026 13:35:40 +0000 Subject: [PATCH 3/3] Add Azure AIR image documentation link --- acceptance/air/help/output.txt | 4 +++- cmd/air/image.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/acceptance/air/help/output.txt b/acceptance/air/help/output.txt index 892041d640e..5bb6f40b4f7 100644 --- a/acceptance/air/help/output.txt +++ b/acceptance/air/help/output.txt @@ -130,7 +130,9 @@ Use "databricks air images [command] --help" for more information about a comman === images push help >>> [CLI] air images push --help -This CLI command is in Preview. For current feature status and requirements, see https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images. +This CLI command is in Preview. For current feature status and requirements, see: + AWS: https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images + Azure: https://learn.microsoft.com/azure/databricks/machine-learning/ai-runtime/connecting/cli/docker-images Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema. diff --git a/cmd/air/image.go b/cmd/air/image.go index 795fdc198de..6b039ac544f 100644 --- a/cmd/air/image.go +++ b/cmd/air/image.go @@ -123,7 +123,9 @@ func newImagePushCommandWithDeps(deps imagePushDeps) *cobra.Command { cmd := &cobra.Command{ Use: "push", Short: "*Preview* Push a container image to Databricks Artifact Registry", - Long: `This CLI command is in Preview. For current feature status and requirements, see https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images. + Long: `This CLI command is in Preview. For current feature status and requirements, see: + AWS: https://docs.databricks.com/aws/en/machine-learning/ai-runtime/cli/docker-images + Azure: https://learn.microsoft.com/azure/databricks/machine-learning/ai-runtime/connecting/cli/docker-images Push a container image to Databricks Artifact Registry under the specified Unity Catalog catalog and schema.