EMR (Elastic MapReduce)

Implementation details for API emr

Coverage Overview

Elastic MapReduce (EMR) is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AddInstanceFleet✔️pro✔️Show Tests
AddInstanceGroups✔️pro✔️✔️
AddJobFlowSteps✔️pro
AddTags✔️pro✔️
CancelSteps
CreateSecurityConfiguration✔️pro✔️
CreateStudio
CreateStudioSessionMapping
DeleteSecurityConfiguration✔️pro✔️
DeleteStudio
DeleteStudioSessionMapping
DescribeCluster✔️pro✔️✔️✔️Show Tests
DescribeJobFlows✔️pro✔️
DescribeNotebookExecution
DescribeReleaseLabel
DescribeSecurityConfiguration✔️pro✔️
DescribeStep✔️pro
DescribeStudio
GetAutoTerminationPolicy✔️pro✔️✔️✔️Show Tests
GetBlockPublicAccessConfiguration✔️pro
GetClusterSessionCredentials
GetManagedScalingPolicy
GetStudioSessionMapping
ListBootstrapActions✔️pro✔️✔️✔️Show Tests
ListClusters✔️pro✔️✔️Show Tests
ListInstanceFleets✔️pro✔️✔️✔️Show Tests
ListInstanceGroups✔️pro✔️✔️✔️Show Tests
ListInstances✔️pro✔️
ListNotebookExecutions
ListReleaseLabels
ListSecurityConfigurations
ListSteps✔️pro✔️✔️✔️Show Tests
ListStudioSessionMappings
ListStudios
ListSupportedInstanceTypes
ModifyCluster✔️pro✔️
ModifyInstanceFleet✔️pro✔️Show Tests
ModifyInstanceGroups✔️pro✔️✔️
PutAutoScalingPolicy✔️pro
PutAutoTerminationPolicy✔️pro✔️Show Tests
PutBlockPublicAccessConfiguration
PutManagedScalingPolicy
RemoveAutoScalingPolicy✔️pro
RemoveAutoTerminationPolicy✔️pro✔️Show Tests
RemoveManagedScalingPolicy
RemoveTags✔️pro✔️
RunJobFlow✔️pro✔️✔️✔️Show Tests
SetKeepJobFlowAliveWhenNoSteps
SetTerminationProtection✔️pro✔️
SetUnhealthyNodeReplacement
SetVisibleToAllUsers✔️pro✔️
StartNotebookExecution
StopNotebookExecution
TerminateJobFlows✔️pro✔️✔️✔️Show Tests
UpdateStudio
UpdateStudioSessionMapping

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


AddInstanceFleet

Parameters: ClusterId, InstanceFleet
  • LocalStack Pro
    • test_instance_fleets LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_instance_fleets HTTP Status Code: 200

DescribeCluster

Parameters: ClusterId
  • LocalStack Pro
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

GetAutoTerminationPolicy

Parameters: ClusterId
  • LocalStack Pro
    • test_auto_termination_policies LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_auto_termination_policies HTTP Status Code: 200
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

ListBootstrapActions

Parameters: ClusterId
  • LocalStack Pro
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

ListClusters

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_emr_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_emr_deployed HTTP Status Code: 200

ListInstanceFleets

Parameters: ClusterId
  • LocalStack Pro
    • test_instance_fleets LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_instance_fleets HTTP Status Code: 200
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

ListInstanceGroups

Parameters: ClusterId
  • LocalStack Pro
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

ListSteps

Parameters: ClusterId
  • LocalStack Pro
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

ModifyInstanceFleet

Parameters: ClusterId, InstanceFleet
  • LocalStack Pro
    • test_instance_fleets LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_instance_fleets HTTP Status Code: 200
    • test_instance_fleets LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_instance_fleets HTTP Status Code: 400 (InvalidRequestException)

PutAutoTerminationPolicy

Parameters: AutoTerminationPolicy, ClusterId
  • LocalStack Pro
    • test_auto_termination_policies LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_auto_termination_policies HTTP Status Code: 200

RemoveAutoTerminationPolicy

Parameters: ClusterId
  • LocalStack Pro
    • test_auto_termination_policies LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_auto_termination_policies HTTP Status Code: 200

RunJobFlow

Parameters: AdditionalInfo, Applications, BootstrapActions, Configurations, EbsRootVolumeSize, Instances, Name, ReleaseLabel, ServiceRole, StepConcurrencyLevel, Tags, VisibleToAllUsers
  • LocalStack Pro
    • test_appsync_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_appsync_deployed HTTP Status Code: 200
Parameters: Applications, BootstrapActions, Configurations, Instances, Name, Steps
  • LocalStack Pro
    • test_auto_termination_policies LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_auto_termination_policies HTTP Status Code: 200
    • test_instance_fleets LocalStack Pro: tests/aws/services/emr/test_emr.py::TestEmrCrud::test_instance_fleets HTTP Status Code: 200

TerminateJobFlows

Parameters: JobFlowIds
  • LocalStack Pro
    • test_glacier_deployed LocalStack Pro: tests/aws/test_terraform.py::TestTerraform::test_glacier_deployed HTTP Status Code: 200

Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)