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

Support for AWS MSK services has been added #143

Merged
merged 10 commits into from
May 4, 2021
Merged

Support for AWS MSK services has been added #143

merged 10 commits into from
May 4, 2021

Conversation

oukooveu
Copy link
Contributor

@oukooveu oukooveu commented Apr 18, 2021

Modules implementation PR: ansible-collections/community.aws#547

Copy link
Collaborator

@jillr jillr left a comment

Choose a reason for hiding this comment

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

Thanks @oukooveu. Permissions look good, just one missing when I tested with your new module PR and one of your classes has a boto call that needs to be updated.

We have a default age limit on CI resources of 20 minutes which it looks like won't be enough for create_cluster. You'll need to add an age_limit to both of your terminator classes to override this, you can see an example here: https://github.com/mattclay/aws-terminator/blob/master/aws/terminator/networking.py#L291

From some limited local testing it looks like we'll need at least 30 (maybe 40) minutes, is that consistent with your experiences using MSK? (I tested in both us-east-1 and us-west-2, so I don't think it was an anomaly.)

aws/policy/data-services.yaml Show resolved Hide resolved
aws/terminator/data_services.py Outdated Show resolved Hide resolved
@oukooveu
Copy link
Contributor Author

Thanks @oukooveu. Permissions look good, just one missing when I tested with your new module PR and one of your classes has a boto call that needs to be updated.

Which one is missing? Should I add it?

We have a default age limit on CI resources of 20 minutes which it looks like won't be enough for create_cluster. You'll need to add an age_limit to both of your terminator classes to override this, you can see an example here: https://github.com/mattclay/aws-terminator/blob/master/aws/terminator/networking.py#L291

I've added it for KafkaCluster but not for KafkaConfiguration because it's pretty fast (less than one minute usually). Please let me know if I have to add it for KafkaConfiguration also.

From some limited local testing it looks like we'll need at least 30 (maybe 40) minutes, is that consistent with your experiences using MSK? (I tested in both us-east-1 and us-west-2, so I don't think it was an anomaly.)

Practically it's great than 40 minutes, here is a real execution sample: ansible-collections/community.aws#547 (comment)

@oukooveu oukooveu requested a review from jillr April 23, 2021 15:59
Copy link
Collaborator

@jillr jillr left a comment

Choose a reason for hiding this comment

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

Thanks @oukooveu. Permissions look good, just one missing when I tested with your new module PR and one of your classes has a boto call that needs to be updated.

Which one is missing? Should I add it?

I meant the self.client.delete_cluster(ClusterArn=self.id) line in the terminator - you got it!

We have a default age limit on CI resources of 20 minutes which it looks like won't be enough for create_cluster. You'll need to add an age_limit to both of your terminator classes to override this, you can see an example here: https://github.com/mattclay/aws-terminator/blob/master/aws/terminator/networking.py#L291

I've added it for KafkaCluster but not for KafkaConfiguration because it's pretty fast (less than one minute usually). Please let me know if I have to add it for KafkaConfiguration also.

Configurations that have a deployed cluster can't be deleted, so they need to have the same timeout. Otherwise the application would try to delete the Configuration while the Cluster is still active, fail, and spam errors every few minutes into our CI cloudwatch logs. We monitor these for issues, so it's better to avoid false positives.

aws/policy/data-services.yaml Show resolved Hide resolved
@oukooveu
Copy link
Contributor Author

Configurations that have a deployed cluster can't be deleted, so they need to have the same timeout. Otherwise the application would try to delete the Configuration while the Cluster is still active, fail, and spam errors every few minutes into our CI cloudwatch logs. We monitor these for issues, so it's better to avoid false positives.

age_limit has been added for KafkaConfiguration

Copy link
Collaborator

@jillr jillr left a comment

Choose a reason for hiding this comment

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

LGTM, tested with community.aws/pull/547 Thanks very much for your work @oukooveu!

@jillr jillr merged commit 3fe641b into mattclay:master May 4, 2021
ansible-zuul bot added a commit to ansible-collections/community.aws that referenced this pull request Jul 2, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 15, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>

This commit was initially merged in https://github.com/ansible-collections/community.aws
See: ansible-collections@3bfcfe3
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 16, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>

This commit was initially merged in https://github.com/ansible-collections/community.aws
See: ansible-collections@3bfcfe3
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 17, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>

This commit was initially merged in https://github.com/ansible-collections/community.aws
See: ansible-collections@7d39179
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 19, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 19, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>
alinabuzachis pushed a commit to alinabuzachis/community.aws that referenced this pull request Jul 19, 2021
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>
abikouo pushed a commit to abikouo/amazon.aws that referenced this pull request Sep 18, 2023
feat(kafka): aws_msk_config and aws_msk_cluster modules have been added

SUMMARY
Modules for Amazon Managed Streaming for Apache Kafka (Amazon MSK) have been added. There are two modules: aws_msk_config for managing MSK configuration and aws_msk_cluster -- for clusters.
ISSUE TYPE

New Module Pull Request

COMPONENT NAME

aws_msk_config
aws_msk_cluster

ADDITIONAL INFORMATION
All MSK cluster related operations are time consuming, for example create takes 20-30 minutes, update Kafka version -- more than one hour, update configuration -- 10-15 minutes.
Integration tests work in my own account, please let me know if I can help with an evidences.
REFERENCES
Related aws-terminator PR: mattclay/aws-terminator#143
Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html

Reviewed-by: Mark Chappell <None>
Reviewed-by: Daniil Kupchenko <None>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: Gonéri Le Bouder <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants