Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Resource Type] - [BUG] - SageMaker Domain Default User Settings "Hidden App Types" is broken and incomplete for MLFlow #2129

Open
ericpapaluca opened this issue Sep 11, 2024 · 1 comment
Labels

Comments

@ericpapaluca
Copy link

Name of the resource

AWS::SageMaker::Domain

Resource Name

No response

Issue Description

Deploying a SageMaker Domain via CDK/CFN and trying to use the Default User Settings "Hidden App Types" to hide various app types is poorly documented, broken, and missing coverage for ML Flow.

Given some example CDK:

const domain = new CfnDomain(this, 'Domain', {
            appNetworkAccessType: 'VpcOnly',
            authMode: 'IAM',
            defaultUserSettings: {
                executionRole: executionRole.roleArn,
                studioWebPortal: 'ENABLED',
                defaultLandingUri: 'studio::',
                ....
                    hiddenAppTypes: [
                        'JupyterServer',                 // "Studio Classic" in console
                        // 'KernelGateway',              // BREAKS deployment
                        'DetailedProfiler',              // Hides nothing in console
                        'TensorBoard',                   // Hides nothing in console
                        'RStudioServerPro',              // "RStudio" in console
                        // 'RSessionGateway',            // BREAKS deployment
                        'CodeEditor',                    // "Code Editor" in console
                        'JupyterLab',                    // "JupyterLab" in console
                        'Canvas',                        // "Canvas" in console
                    ],
                },
            },
            domainName: 'myDomain',
           ...
        });

the hiddenAppTypes property is not consistently behaving and resulting in either no result, or cloudformation breaking.

Furthermore, there is no documentation of the hidden app type strings within the typescript CDK or in the documentation here: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-domain-studiowebportalsettings.html#cfn-sagemaker-domain-studiowebportalsettings-hiddenapptypes

I was only able to find some of the strings via the CLI JSON example here: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html

Additionally, there is no string implemented in order to disable the MLFlow app.

Expected Behavior

String values for hiddenAppType cover all available SageMaker Apps and disable them accordingly upon domain deployment

Observed Behavior

#/DefaultUserSettings/StudioWebPortalSettings/HiddenAppTypes/4: #: only 1 subschema matches out of 2
#/DefaultUserSettings/StudioWebPortalSettings/HiddenAppTypes/4: failed validation constraint for keyword [enum]

When using those marked // BREAKS deployment above.

Test Cases

Use the following HiddenAppTypes when deploying a domain:

 hiddenAppTypes: [
                        'KernelGateway',              // BREAKS deployment
                         'RSessionGateway',            // BREAKS deployment
                    ],

Other Details

No response

@mbeldo
Copy link

mbeldo commented Sep 11, 2024

having a similar issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants