Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: Add support for Amazon EKS#156

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
ca-nguyen merged 8 commits intoaws:mainfromca-nguyen:add-support-for-eks
Sep 2, 2021

Conversation

@ca-nguyen
Copy link
Contributor

@ca-nguyenca-nguyen commentedAug 17, 2021
edited
Loading

Issue #, if available:#106

Description of changes:
Added:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link
Contributor

@shivlaksshivlaks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

thanks for adding these!! looks great for a first cut.
had some minor nits I think we should address. take a look and let me know if you have any questions!

output_path (str, optional): Path applied to the state’s output after the application of `result_path`, producing the effective output which serves as the raw input for the next state. (default: '$')
wait_for_completion (bool, optional): Boolean value set to `True` if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
"""
ifwait_for_completion:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

question: with defaults, I know we're being consistent by setting the default to be synchronous, but I wonder if that's the most pragmatic/idiomatic thing.

not asking for changes, just pondering out loud for now

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Good question - you're right this was done this way for consistency.

A point to consider: If we were to change the defaults, we would need to notify of the change of behaviour as this might cause breaking change for our customers. Not sure if this is worth bumping the version

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

we haven't set defaults for these steps yet as they're unreleased, so now is the time to make that decision. depending on API/service, I think it'd be sensible to consider alternatives...

somewhat related: I'm quickly writing up the StepFunctions startExecution integration step... and that supports all 3 (wait for completion, wait for task token, request/response)... what would be a sensible default there? all the other service integrations only offer 2 options.

I think this is fine to leave it as is for now for Eks - if we were to change defaults, it would need to go with the next major version bump.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

My last comment, might not have been clear, but we are on the same page! :)
Let's keep the defaults as is to be consistent with the other released steps for now

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I expectwait_for_completion=True is what most customers usually want. Since all other steps supporting.sync use it by default, we should probably be consistent so there are less surprises.

shivlaks
shivlaks previously approved these changesAug 18, 2021
Copy link
Contributor

@shivlaksshivlaks left a comment
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

go for it - please be sure to update the PR description to includerunJob andcall APIs that were added in the most recent commit.

@ca-nguyen
Copy link
ContributorAuthor

go for it - please be sure to update the PR description to includerunJob andcall APIs that were added in the most recent commit.

Done! Thank you!

Copy link
Contributor

@wong-awong-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM besides some minor updates to the docs.

I see there are unit tests, but did you do any manual testing to ensure each step can be created with Step Functions through the SDK?

output_path (str, optional): Path applied to the state’s output after the application of `result_path`, producing the effective output which serves as the raw input for the next state. (default: '$')
wait_for_completion (bool, optional): Boolean value set to `True` if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
"""
ifwait_for_completion:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I expectwait_for_completion=True is what most customers usually want. Since all other steps supporting.sync use it by default, we should probably be consistent so there are less surprises.

Update documentationCo-authored-by: Adam Wong <55506708+wong-a@users.noreply.github.com>
wong-a
wong-a previously approved these changesAug 25, 2021
Copy link
Contributor

@wong-awong-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

☸️

@ca-nguyen
Copy link
ContributorAuthor

LGTM besides some minor updates to the docs.

Thanks for reviewing! I applied your suggested changes

I see there are unit tests, but did you do any manual testing to ensure each step can be created with Step Functions through the SDK?

I did not do any testing outside of unit tests. I'll make sure to manual test before merging

shivlaks
shivlaks previously approved these changesAug 25, 2021
@ca-nguyenca-nguyen dismissed stale reviews fromshivlaks andwong-a via9a670efSeptember 1, 2021 07:54
@StepFunctions-Bot
Copy link
Contributor

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildProject6AEA49D1-sEHrOdk7acJc
  • Commit ID:1cef855
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered bygithub-codebuild-logs, available on theAWS Serverless Application Repository

@ca-nguyen
Copy link
ContributorAuthor

I see there are unit tests, but did you do any manual testing to ensure each step can be created with Step Functions through the SDK?

Tested manually and uncovered a few bugs:

  • eks::call does not have option to run a job (.sync)
  • removedLogOptions param from eks::runJob example as it does not allow to retrieve of logs (only possible with eks::runJob.sync)
    Made the changes in the last commits

@shivlaks
Copy link
Contributor

I see there are unit tests, but did you do any manual testing to ensure each step can be created with Step Functions through the SDK?

Tested manually and uncovered a few bugs:

  • eks::call does not have option to run a job (.sync)
  • removedLogOptions param from eks::runJob example as it does not allow to retrieve of logs (only possible with eks::runJob.sync)
    Made the changes in the last commits

glad we caught those. be sure to expand on testing methodology and the steps we followed.

not for this PR:

thought: how can we automate that testing (via unit/simple integ tests). It will be helpful to establish so that we responsibly introduce service integrations. More importantly, regressions are easy to introduce if we don't have automated tests in place.

output_path (str, optional): Path applied to the state’s output after the application of `result_path`, producing the effective output which serves as the raw input for the next state. (default: '$')
wait_for_completion (bool, optional): Boolean value set to `True` if the Task state should wait to complete before proceeding to the next step in the workflow. (default: True)
"""
ifwait_for_completion:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Glad we caught this. The public documentation isn't really clear about which service integrations support .sync.

https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html
https://docs.aws.amazon.com/step-functions/latest/dg/connect-eks.html

@ca-nguyenca-nguyen merged commitf8bbfaf intoaws:mainSep 2, 2021
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

2 more reviewers

@shivlaksshivlaksshivlaks approved these changes

@wong-awong-awong-a approved these changes

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

4 participants

@ca-nguyen@StepFunctions-Bot@shivlaks@wong-a

[8]ページ先頭

©2009-2025 Movatter.jp