text:
Avoid git stash pop operation unless contents were stashed

Running git stash pop on an empty stash fails with error, so we should call it only if contents were stashed in a previous step.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: abhay-krishna
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [abhay-krishna]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@abhay-krishna: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

kubernetes-1-19-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-19-release-presubmit

kubernetes-1-18-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-release-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

kubernetes-1-19-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-19-release-presubmit

kubernetes-1-18-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-release-presubmit

livenessprobe-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test livenessprobe-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

kubernetes-1-19-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-19-release-presubmit

kubernetes-1-18-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-release-presubmit

livenessprobe-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test livenessprobe-presubmit

node-driver-registrar-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test node-driver-registrar-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

kubernetes-1-19-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-19-release-presubmit

kubernetes-1-18-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-release-presubmit

livenessprobe-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test livenessprobe-presubmit

node-driver-registrar-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test node-driver-registrar-presubmit

kubernetes-1-18-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-presubmit

kubernetes-1-20-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-presubmit

kubernetes-1-21-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cni-plugins-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test cni-plugins-presubmit

kubernetes-1-21-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-release-presubmit

kubernetes-1-20-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-release-presubmit

kubernetes-1-19-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-19-release-presubmit

kubernetes-1-18-release-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-release-presubmit

livenessprobe-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test livenessprobe-presubmit

node-driver-registrar-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test node-driver-registrar-presubmit

kubernetes-1-18-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-presubmit

kubernetes-1-20-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-presubmit

kubernetes-1-21-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-presubmit

etcd-1-19-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test etcd-1-19-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@abhay-krishna: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

kubernetes-1-18-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-18-presubmit

kubernetes-1-20-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-20-presubmit

kubernetes-1-21-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test kubernetes-1-21-presubmit

etcd-1-19-presubmit
de3e162513469e92b76a27cdc40294cb891056dd
link
/test etcd-1-19-presubmit

external-attacher-presubmit
05e0ac6ae2b43c039d15e1758229dc79b6d80453
link
/test external-attacher-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


text:
draining karpenter-provisioned node resulted in another karpenter-provisioned node while capacity is available in a managed eks nodegroup

Version

Karpenter: v0.10.0

Kubernetes: Server Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.9-eks-a64ea69", GitCommit:"540410f9a2e24b7a2a870ebfacb3212744b5f878", GitTreeState:"clean", BuildDate:"2022-05-12T19:15:31Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
Expected Behavior
I have spot eks managed node group "apps" with label "apps=true"
AWS terminates spot node
AWS node termination handler makes immediate node drain and all pods targeted with nodeSelector apps=true get pending status
AWS Karpenter Kicks in
5m later spot eks managed node group "apps"  gets new node in READY state
I want to stop manually the karpenter provisioner node and do this:
k drain --delete-emptydir-data --ignore-daemonsets -l karpenter.sh/provisioner-name=apps
I expect the node to be drained all pods relocated to eks managed node group "apps"
Actual Behavior
Another karpenter node started with provisioner, however I have available capacity in a new node added by eks managed node group.
Steps to Reproduce the Problem
provisioner:
apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  name: apps
spec:
  labels:
    apps: "true"
  requirements:
    - key: karpenter.sh/capacity-type
      operator: In
      values: ["spot"]
    - key: kubernetes.io/arch
      operator: In
      values: ["amd64"]
    - key: node.kubernetes.io/instance-type
      operator: In
      values: ["m5.large", "t3.large"]
    - key: topology.kubernetes.io/zone
      operator: In
      values: ["us-east-1a", "us-east-1b", "us-east-1c"]
  limits:
    resources:
      cpu: '5'
  provider:
    subnetSelector:
      karpenter.sh/discovery: prod-eks
    securityGroupSelector:
      karpenter.sh/discovery: prod-eks
    tags:
      karpenter.sh/discovery: prod-eks
      terraform: "false"
      karpenter: "true"
      managed_by: "karpenter"
      environment: "prod"
      karpenter.sh/cluster/prod-eks: owned
      kubernetes.io/cluster/prod-eks: owned
  ttlSecondsAfterEmpty: 300

There are pods in Pending state, and you are saying since the already existing nodes have enough capacity Karpenter should not launch a new node. Is that correct?

correct. The spot managed node group with the same labels exists, yet the karpenter keeps spawning new nodes when I drain the karpenter node. It should be moved to existing capacity instead, but it's not.

Karpenter will only provision nodes if pods are marked as unschedulable, so somehow those pods are not able to be scheduled to the node group. Try tossing a taint on your provisioner or delete it entirely, and see if you can get those pods scheduled onto the node group you're expecting should work.

ok will try and report tomorrow.

Hey @dmitry-mightydevops ,
Anything to report on this issue?  Or can we close it out?
Thanks!

Pls give me a time till EOW - I will then carefully test it and report it.

source: gharchive/issue

authors: dewjam dmitry-mightydevops ellistarn spring1843

repo: aws/karpenter

license_type: permissive

license_source: github-api


text:
docs: Moved ssh userData example

Description
There was an example in the Karpenter FAQ of how to use userData to add SSH keys to Kubernetes nodes. To make that information more accessible, the example is being moved in this PR to the AWS/user-data file.
Does this change impact docs?

[X] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

Previews:
https://deploy-preview-2620--karpenter-docs-prod.netlify.app/preview/aws/user-data/
https://deploy-preview-2620--karpenter-docs-prod.netlify.app/preview/faq/#can-i-add-ssh-keys-to-a-provisioner

Needs a rebase, since I renamed this file to operating-systems.md. Sorry :(

Needs a rebase, since I renamed this file to operating-systems.md. Sorry :(

No problem. I didn't notice. I'll take care of that.

Needs a rebase, since I renamed this file to operating-systems.md. Sorry :(

No problem. I didn't notice. I'll take care of that.

Done

source: gharchive/pull-request

authors: chrisnegus ellistarn


text:
added darwin arm64

Issue #, if available:
https://github.com/aws/session-manager-plugin/issues/26
Description of changes:
Added Tools/src/create_darwin_arm64_bundle_plugin.sh as a carbon copy of Tools/src/create_darwin_bundle_plugin.sh, except all instances of amd64 are replaced with arm64.
Moved the above script to Tools/src/create_darwin_amd64_bundle_plugin.sh to help differentiate between the two bundlers.
Added targets for the arm64 architecture to the makefile above every instance of the amd64 build steps for darwin.
Renamed the bundler script in the makefile to use the new bundler script for amd64 architecture
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Release for people that need to use it right now (note, my gofmt did not work, and govet is super annoyed at this, so i just turned that off before i built):
https://github.com/bleepbloopsify/session-manager-plugin/releases/tag/dev.macos.arm64

It would be worth reviewing https://github.com/aws/session-manager-plugin/pull/42/files which does a very similar thing and upgrades to a newer go version

I built this from source and tested this locally, it works on my machine^TM

Could you send us the actual build? Who knows how long this pull request will be under review. Thanks in advance!

@evgenytk https://github.com/aws/session-manager-plugin/pull/42 has a reply from @Yangtao-Hua its in their plan but not sure where.

@evgenytk heres a release if you want to use it, and explicit instructions on usage:
https://github.com/bleepbloopsify/session-manager-plugin/releases/tag/dev.macos.arm64

@evgenytk heres a release if you want to use it, and explicit instructions on usage: https://github.com/bleepbloopsify/session-manager-plugin/releases/tag/dev.macos.arm64

thank you a lot!

We are actively working to add darwin-arm64 support and this change is currently under review. Will keep this thread updated on the release as we make progress.

@nitikaaws @Yangtao-Hua :: Any progress on this issue?

Any updates?

Apologies for the delay in releasing the support for darwin-arm64! Our team is looking into this and will provide an update when we are closer to the release.

@nitikaaws Any chance of a community release? You said you were reviewing this change in November.

@nitikaaws It would be great if you could please provide us with an estimated date for when this will be available. We are investigating the option of using SSM within our engineering team and most of them use Mac M1.
Thanks!

Session Manager Plugin support for darwin-arm64 has been released with version 1.2.463.0. This pull request has been incorporated in 60f4fa7 commit. Thanks for your patience and support, please let us know your feedback.

repo: aws/session-manager-plugin


text:
2024-11-13_01-35-02_master-next_aws-cli-v2

Automatically created.

Backport failed for kirkstone-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin kirkstone-next
git worktree add -d .worktree/backport-10318-to-kirkstone-next origin/kirkstone-next
cd .worktree/backport-10318-to-kirkstone-next
git switch --create backport-10318-to-kirkstone-next
git cherry-pick -x be93aba7ddccb7c90068aa5e1e3451577fd180c6

Successfully created backport PR for scarthgap-next:

#10322

Successfully created backport PR for styhead-next:

#10323

license: MIT


text:
What is the meaning "Copy and paste the same access policy we generated for the invocation role"

I followed as the documentation says, But at the end I didn't understand this line : "Copy and paste the same access policy we generated for the invocation role".
Does that mean , that make Cognito_IdentityTestPoolAuth_Role to similar to previous one ? Like below
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mobileanalytics:PutEvents",
"cognito-sync:",
"cognito-identity:"
],
"Resource": [
""
]
},
{
"Sid": "Stmt1462212212000",
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction",
"execute-api:Invoke"
],
"Resource": [
"arn:aws:lambda:us-east-1:XXXXXXXXX:function:zPetStoreAPIGatewayLambda",
"arn:aws:execute-api:"
]
},
{
"Sid": "Stmt1462211764000",
"Effect": "Allow",
"Action": [
"cognito-identity:GetOpenIdTokenForDeveloperIdentity"
],
"Resource": [
"arn:aws:cognito-identity:us-east-1:XXXXXXXXX:identitypool/us-east-1:a6fef2a4-bb3f-4e22-b9d6-xxxxxxxx"
]
},
{
"Sid": "Stmt1462211972000",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:Scan",
"dynamodb:UpdateItem"
],
"Resource": [
"arn:aws:dynamodb:us-east-1:XXXXXXXXXX:table/testPetId"
]
},
{
"Sid": "Stmt1462212134000",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:Scan",
"dynamodb:UpdateItem"
],
"Resource": [
"arn:aws:dynamodb:us-east-1:XXXXXXXX:table/testUserName"
]
},
{
"Sid": "Stmt1462212275000",
"Effect": "Allow",
"Action": [
"logs:"
],
"Resource": [
""
]
}
]
}
May you please clarify ?

I edited your comment to remove account numbers. Please do not post policies that contain account IDs and identity pool ARNs publicly. I recommend you delete the resources you had created and start from scratch in case someone found this and took your account number. The answer is yes, make it similar.

This part of the tutorial is slightly confusing - please provide an example of the policy as you did with the other steps :)
A few questions ..
Do we also edit the trust relationship?
Do we replace the existing policy of the cognito auth role by replacing it with generated one for api gateway?
Can you provide some insight as to why these policies need to match?

authors: SAPessi esumit steve-a-jones

repo: awslabs/api-gateway-secure-pet-store

license_source: bigquery


text:
Vision: Added exception if invalid kwargs specified

Issue #, if available:
#1247
Description of changes:

Added error if kwarg is not valid in fit call to ImagePredictor and ObjectDetector. Previously, the invalid kwarg was silently ignored.
Fixed typo in object detection tutorial causing incorrect hpo behavior.

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

Job PR-1251-4 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1251/4/index.html

authors: Innixma szha

repo: awslabs/autogluon


text:
Fixed wrong url

Issue #, if available:
Description of changes:

This link is wrong.

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

Thanks!

authors: jamsajones yutachaos

repo: awslabs/aws-app-mesh-examples


text:
cdk bootstrap in multi-tenant accounts

Hi,
I am eager to implement CDK on a few new projects, but in the company who i work for we use a system of multi-tenant accounts where one account is shared by many teams and units and we divide the cost of resources using tags and names.
The command cdk bootstrap creates a CloudFormation stack with an S3 busket, which name can be configured, but also exports two Outputs ( BucketName and BucketDomainName ) and CloudFormation Stack's Outputs must be unique in the same account.
I saw that when the Outputs are read actually it list all the Outputs and get the ones that are the same name. I think that if the Outputs where prefixed with the stack name the conflict can be avoided and work in the same way.
I would like to find a solution to this problem to start using CDK, and i am up to send a PR with changes to support this case.
Thanks

After checking the code, looks like the Exports are not being used. The bootstrap code uses describeStacks to get the whole stack and gets the outputs from there. It's not actually being used from other CloudFormation template.

@ManRueda there should be only a single "toolkit stack" in each account/region. This means that teams should not need to "cdk bootstrap" on their own. Would that work for your use case or do you have any security/isolation concerns with this model?

That will not work on our configuration, because different teams can work in the same account but with different roles. For many many teams share the same account in the same region, but we use roles that only allow us to access and use resources that are prefixed or have tags that our team use. This is not only for security/isolation reasons but also for billing purposes. Because we all share the same account and each teams has to be accountable of their resources, each "team id" is used for billing.
In this scenario with only one "toolkit stack" there is not a clear owner of the resource because can be used by many teams and also is difficult to bill because all teams that use it will have assets on that S3 bucket.

Okay, got it. So basically if we remove the exports from the toolkit stack, you will be able to use --toolkit-stack-name to specify a different toolkit stack name for each team, and they won't conflict. Is that correct?

👍

PR: https://github.com/awslabs/aws-cdk/pull/1427

authors: ManRueda eladb

repo: awslabs/aws-cdk


text:
chore: upgrade AspectjGradlePlugin to latest  and example project to java 11

Issue #, if available:
Description of changes:

Checklist

[x] Meet tenets criteria
[x] Update tests
[x] Update docs
[x] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

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

What is the aspectj maven.plugin version that supports jdk 11?

repo: awslabs/aws-lambda-powertools-java


text:
Docs: Replace poetry subcommand to add dev deps

What were you searching in the docs?
Poetry changed and deprecated the --dev subcommand to define dev dependencies and we need to update the documentation.
Is this related to an existing documentation section?
https://awslabs.github.io/aws-lambda-powertools-python/
How can we improve?
Update documentation to use the new Poetry command:
poetry add <deps_name> --group <group_name>
Got a suggestion in mind?
No response
Acknowledgment

[X] I understand the final update might be different from my proposed suggestion, or refused.

This is now released under 2.8.0 version!

repo: awslabs/aws-lambda-powertools-python


text:
Unable to Customize Proxy or Create Client when Environment Variables are Invalid

Describe the bug
If the environment contains a "bad" variable for the Proxy, you are unable to build the client even if you override the proxy settings due to the default initialization logic.
Expected behavior
Overriding the proxy settings should allow you to successfully create a client
Current behavior
The builder throws an exception
Steps to Reproduce
// pretend there is an environment variable set `http_proxy=`
val client = DynamoDbClient {
 // customize
}

The above throws an exception
java.lang.ExceptionInInitializerError
	at aws.smithy.kotlin.runtime.http.engine.okhttp.OkHttpEngine$Companion.invoke(OkHttpEngine.kt:38)
	at aws.smithy.kotlin.runtime.http.engine.DefaultHttpEngineJVMKt.newDefaultHttpEngine(DefaultHttpEngineJVM.kt:14)
	at aws.smithy.kotlin.runtime.http.engine.DefaultHttpEngineKt.DefaultHttpEngine(DefaultHttpEngine.kt:23)
	at aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl$BuilderImpl$engineConstructor$1.invoke(HttpEngineConfigImpl.kt:20)
	at aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl$BuilderImpl$engineConstructor$1.invoke(HttpEngineConfigImpl.kt:20)
	at aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl$BuilderImpl$engineSupplier$1.invoke(HttpEngineConfigImpl.kt:21)
	at aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl$BuilderImpl$engineSupplier$1.invoke(HttpEngineConfigImpl.kt:21)
	at aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl$BuilderImpl.buildHttpEngineConfig(HttpEngineConfigImpl.kt:75)
	at aws.sdk.kotlin.services.dynamodb.DynamoDbClient$Config$Builder.buildHttpEngineConfig(DynamoDbClient.kt)
	at aws.sdk.kotlin.services.dynamodb.DynamoDbClient$Config.<init>(DynamoDbClient.kt:202)
	at aws.sdk.kotlin.services.dynamodb.DynamoDbClient$Config.<init>(DynamoDbClient.kt)
	at aws.sdk.kotlin.services.dynamodb.DynamoDbClient$Config$Builder.build(DynamoDbClient.kt:370)
	at aws.sdk.kotlin.services.dynamodb.DynamoDbClient$Config$Builder.build(DynamoDbClient.kt:244)
	at aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder.build(AbstractSdkClientBuilder.kt:20)
	at aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder.build(AbstractSdkClientBuilder.kt:13)
	at aws.smithy.kotlin.runtime.client.SdkClientFactory$DefaultImpls.invoke(SdkClientFactory.kt:32)
	at aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory.invoke(AbstractAwsSdkClientFactory.kt:44)
	at com.workiva.callofduty.repo.ChannelRotationsRepoTest$client$1.invokeSuspend(ChannelRotationsRepoTest.kt:33)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	<trimmed>
Caused by: aws.smithy.kotlin.runtime.ClientException: Could not parse http_proxy="" into a valid proxy URL
	at aws.smithy.kotlin.runtime.http.engine.EnvironmentProxySelectorKt.resolveProxyByEnvironment(EnvironmentProxySelector.kt:93)
	at aws.smithy.kotlin.runtime.http.engine.EnvironmentProxySelectorKt.access$resolveProxyByEnvironment(EnvironmentProxySelector.kt:1)
	at aws.smithy.kotlin.runtime.http.engine.EnvironmentProxySelector.<init>(EnvironmentProxySelector.kt:34)
	at aws.smithy.kotlin.runtime.http.engine.EnvironmentProxySelector.<init>(EnvironmentProxySelector.kt:32)
	at aws.smithy.kotlin.runtime.http.engine.HttpClientEngineConfigImpl$BuilderImpl.<init>(HttpClientEngineConfig.kt:222)
	at aws.smithy.kotlin.runtime.http.engine.okhttp.OkHttpEngineConfig$Builder.<init>(OkHttpEngineConfig.kt:47)
	at aws.smithy.kotlin.runtime.http.engine.okhttp.OkHttpEngineConfig.<clinit>(OkHttpEngineConfig.kt:28)
	... 108 more
Caused by: java.lang.IllegalArgumentException: Cannot parse "" as a URL
	at aws.smithy.kotlin.runtime.net.url.Url$Companion.parse(Url.kt:84)
	at aws.smithy.kotlin.runtime.net.url.Url$Companion.parse$default(Url.kt:48)
	at aws.smithy.kotlin.runtime.http.engine.EnvironmentProxySelectorKt.resolveProxyByEnvironment(EnvironmentProxySelector.kt:90)
	... 114 more
Caused by: java.lang.IllegalArgumentException: Cannot find any of [://]
	at aws.smithy.kotlin.runtime.text.Scanner.requireAndSkip(Scanner.kt:138)
	at aws.smithy.kotlin.runtime.net.url.Url$Companion.parse(Url.kt:51)
	... 116 more

If you try and then override the proxy settings
val client = DynamoDbClient {
  httpClient{
    proxySelector = ProxySelector.NoProxy
  }
}
// or
val cfg = OkHttpEngineConfig {proxySelector = ProxySelector.NoProxy}
val client = DynamoDbClient {
  httpClient = OkHttpEngine(cfg)
}

These also throw the same exception because the default value in BuilderImpl of proxySelector is EnvironmentProxySelector() so it gets invoked no matter what
Possible Solution
No response
Context
No response
AWS Kotlin SDK version used
1.1.15
Platform (JVM/JS/Native)
JVM
Operating System and version
MacOS 14.4.1

Thanks for the report! I'm able to replicate it and am working on a fix

authors: austinarbor lauzadis

repo: awslabs/aws-sdk-kotlin


text:
Code-generated EndpointResolverMiddleware throws 'never mutated' warnings

Describe the bug
Many services include a code-generated EndpointResolverMiddleware that throws a warning:
Variable 'updatedContext' was never mutated; consider changing to 'let' constant

These warnings number up past 100 for a compile since most services' EndpointResolverMiddleware does not actually mutate updatedContext.
Correct the code so that updatedContext is declared as a let when not actually mutated.
Expected Behavior
No warnings on SDK compile
Current Behavior
Multiple warnings thrown:
Variable 'updatedContext' was never mutated; consider changing to 'let' constant

Reproduction Steps
Build SDK, observe build logs
Possible Solution
Correct the code so that updatedContext is declared as a let when not actually mutated.
Additional Information/Context
No response
AWS SWIFT SDK version used
0.16.0
Compiler and Version used
Xcode 14.3
Operating System and version
macOS 13.3.1

Shipped in AWS SDK for Swift 0.20.0

repo: awslabs/aws-sdk-swift


text:
Cost 300_Optimization_Data_Collection :  Overuse of sts assume role in organization accounts

On code : OrganizationData from child accounts
Theses files :

300_Optimization_Data_Collection/Code/rds_util_template.yaml
300_Optimization_Data_Collection/Code/source/ecs/ecs.py
300_Optimization_Data_Collection/Code/source/fof/ami.py
300_Optimization_Data_Collection/Code/source/fof/ebs.py
300_Optimization_Data_Collection/Code/source/fof/snapshot.py

Issue :
The sts assume role is currently called for each service and each region. A quick improvement could be to use a sts session and reuse it for each region.
Doing this sts calls will be reduced to only 1 for each service instead of one per region and per service.

Hey, thank you for this PR I will review and get back to you ASAP :D

Merged, thank you for your contribution

authors: Raphael-D-S awssteph

repo: awslabs/aws-well-architected-labs


text:
How to get metrics for specific time serie from global model

Hello, I'm having some trouble when trying to compare the Deep AR and Prophet models.
I'm training the Deep AR model on roughly 1000 time series (daily sales per store data), I've selected a couple of time series and trained fitted them using Prophet. From my understanding, Deep AR creates a global model from all the time series.
With the aggregate metrics I can get the metrics across all time series and time steps from the Deep AR model (I'm assuming an average of each metric for each store in this case), however is there a way to extract the metrics for a specific time series?
For example, I've fitted the Prophet model with the time series from store "XYZ" and get an RMSE value, Deep AR was fitted on 1000 time series and gives me an aggregate RMSE based on all time series, is there a way to extract the metrics specifically for store "XYZ" so I can compare them to Prophet's?
Originally I thought that it would be the item_metric but it seems that returns the metrics of each time step aggregated across all time series (so having time series with x time steps will result in item_metrics of x rows), what I needed would be an item_metrics of n length where n is the number of time series, giving me an average metric for each ts.

Hey @mariosantosprivate,
if I understand you correctly, the item_metrics are what you want. See this simple example:

import mxnet as mx

from gluonts.dataset.repository.datasets import get_dataset
from gluonts.model.simple_feedforward import SimpleFeedForwardEstimator
from gluonts.trainer import Trainer

dataset = get_dataset("m4_hourly", regenerate=False)

estimator = SimpleFeedForwardEstimator(freq="H", prediction_length=24, trainer=Trainer(epochs=1, ctx=mx.cpu()))

predictor = estimator.train(dataset.train, num_workers=None)
from gluonts.evaluation.backtest import make_evaluation_predictions
forecast_it, ts_it = make_evaluation_predictions(
    dataset=dataset.test,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100,  # number of sample paths we want for evaluation
)

from gluonts.evaluation import Evaluator
evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9])
ts = iter(list(ts_it))
fc = iter(list(forecast_it))
agg_metrics, item_metrics = evaluator(ts,fc , num_series=len(dataset.test))
item_metrics

We have one metric value for each time series in the test data (for you the item_id would correspond to the store).

Hey @mariosantosprivate,
if I understand you correctly, the item_metrics are what you want. See this simple example:
import mxnet as mx

from gluonts.dataset.repository.datasets import get_dataset
from gluonts.model.simple_feedforward import SimpleFeedForwardEstimator
from gluonts.trainer import Trainer

dataset = get_dataset("m4_hourly", regenerate=False)

estimator = SimpleFeedForwardEstimator(freq="H", prediction_length=24, trainer=Trainer(epochs=1, ctx=mx.cpu()))

predictor = estimator.train(dataset.train, num_workers=None)
from gluonts.evaluation.backtest import make_evaluation_predictions
forecast_it, ts_it = make_evaluation_predictions(
    dataset=dataset.test,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100,  # number of sample paths we want for evaluation
)

from gluonts.evaluation import Evaluator
evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9])
ts = iter(list(ts_it))
fc = iter(list(forecast_it))
agg_metrics, item_metrics = evaluator(ts,fc , num_series=len(dataset.test))
item_metrics

We have one metric value for each time series in the test data (for you the item_id would correspond to the store).

@PascalIversen Hi, yes it seems that it should be however I am not getting the expected return from item_metrics, this is definitely related to this question I just asked (if you think it shouldn't be a separate question I'll delete it and place it here!)
https://github.com/awslabs/gluon-ts/issues/1144

I think your confusion might be the following: DeepAR  is a global but not a multivariate model. Please have a look at #1095. The length of your dataset has to be the number of time series in your dataset.
The targets of each time series should have shape (t), where t is the length of the time-series.
Draw some inspiration from this code on how to create an appropriate dataset for univariate models like DeepAR.
import pandas as pd
import numpy as np
from gluonts.dataset.common import ListDataset

indices = pd.date_range(start = "2020-01-01", end = "2020-10-30")
#creating some random data
target = np.random.randint(0, 100, size=(3,len(indices))) + np.linspace((1,10,50),(5,20,100), len(indices)).T.astype("int")

time_series_dicts = []
for time_series in target:
    time_series_dicts.append({"target": time_series, "start": indices[0]})
dataset = ListDataset(time_series_dicts, freq=indices[0].freq)

Let me know if you experience problems.

I think your confusion might be the following: DeepAR is a global but not a multivariate model. Please have a look at #1095. The length of your dataset has to be the number of time series in your dataset.
The targets of each time series should have shape (t), where t is the length of the time-series.
Draw some inspiration from this code on how to create an appropriate dataset for univariate models like DeepAR.
import pandas as pd
import numpy as np
from gluonts.dataset.common import ListDataset

indices = pd.date_range(start = "2020-01-01", end = "2020-10-30")
#creating some random data
target = np.random.randint(0, 100, size=(3,len(indices))) + np.linspace((1,10,50),(5,20,100), len(indices)).T.astype("int")

time_series_dicts = []
for time_series in target:
    time_series_dicts.append({"target": time_series, "start": indices[0]})
dataset = ListDataset(time_series_dicts, freq=indices[0].freq)

Let me know if you experience problems.

It is the case that the target of each time series has shape(t), since the test_target_values_shape is (number_of_stores, number_of_time_steps), each store holds an array of the target values for every day (t)
To clarify, this is how I'm creating the list data sets:
train_ds = ListDataset([
    {
        FieldName.TARGET: target,
        FieldName.START: start,
        FieldName.FEAT_DYNAMIC_REAL: fdr,
        FieldName.FEAT_STATIC_CAT: fsc
    }
    for (target, start, fdr, fsc) in zip(train_target_values,
                                         dates,
                                         train_dynamic_features_list,
                                         stat_cat)
], freq="D")

test_ds = ListDataset([
    {
        FieldName.TARGET: target,
        FieldName.START: start,
        FieldName.FEAT_DYNAMIC_REAL: fdr,
        FieldName.FEAT_STATIC_CAT: fsc
    }
    for (target, start, fdr, fsc) in zip(test_target_values,
                                         dates,
                                         test_dynamic_features_list,
                                         stat_cat)
], freq="D")

Where:
test_target_values shape - (934, 894) 934 time series (stores) each of 894 time steps (days)
train_target_values shape (excluding last 48 time steps which is my forecast horizon) - (934, 846)
test_dynamic_features shape - (934, 29, 894) time series each with 29 dynamic real features for 894 time steps
train dynamic features shape (excluding last 48 time steps) - (934, 29, 846) 934
stat_cat shape - (934 ,4) 934 time series each with 4 static categoricals
This was also the approach used in this notebook from a kaggle competition:
https://www.kaggle.com/steverab/m5-forecasting-competition-gluonts-template
Isn't this the right approach?

Ok, that seems good to me. Can you try to write a reproducible example?
The following code works fine, try to see whats the difference between your code and this example:
import mxnet as mx
from gluonts.dataset.repository.datasets import get_dataset
from gluonts.model.simple_feedforward import SimpleFeedForwardEstimator
from gluonts.trainer import Trainer

import pandas as pd
import numpy as np
from gluonts.dataset.common import ListDataset

indices = pd.date_range(start = "2020-01-01", end = "2020-10-30", freq="H")
#creating some random data
target = np.random.randint(0, 100, size=(3,len(indices))) + np.linspace((1,10,50),(5,20,100), len(indices)).T.astype("int")

time_series_dicts = []
for time_series in target:
    time_series_dicts.append({"target": time_series, "start": indices[0]})
dataset = ListDataset(time_series_dicts, freq=indices[0].freq)

estimator = SimpleFeedForwardEstimator(freq="H", prediction_length=2, trainer=Trainer(epochs=1, ctx=mx.cpu()))

predictor = estimator.train(dataset, num_workers=None)
from gluonts.evaluation.backtest import make_evaluation_predictions
forecast_it, ts_it = make_evaluation_predictions(
    dataset=dataset,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100,  # number of sample paths we want for evaluation
)

from gluonts.evaluation import Evaluator
evaluator = Evaluator(quantiles=[0.1, 0.5, 0.9], num_workers=None)
ts = list(ts_it)
fc = list(forecast_it)
agg_metrics, item_metrics = evaluator(ts,fc , num_series=len(dataset))
item_metrics

@PascalIversen Ok so the problem was my dates array, which had a length of 894 (the time series length, as I didn't think to include duplicates), so it was just a silly mistake on my end. Thank you very much for the speedy assistance!

authors: PascalIversen mariosantosprivate

repo: awslabs/gluon-ts


text:
Add TemporalFusionTransformer implementation in PyTorch

Description of changes:
Unlike the MXNet implementation of TFT, the PyTorch versions of model/estimator are compatible with the dataset schema used by DeepAR. For example, if we construct the estimator with as follows
estimator = TemporalFusionTransformerEstimator(
   ...,
   dynamic_dims=[2, 5, 7],
   dynamic_cardinalities=[6, 5, 5, 4, 2],
   past_dynamic_dims=[3, 3],
   past_dynamic_cardinalities=[5, 2, 4],
)

it will expect to receive a dataset, where each time series has keys

"feat_dynamic_real": shape [..., sum(dynamic_dims)] (inside the network this will feature get partitioned into 3 chunks of dim 2, 5, 7)
"feat_dynamic_cat": shape [..., len(dynamic_cardinalities)]
"past_feat_dynamic_real": shape [..., sum(past_dynamic_dims)]
"past_feat_dynamic_cat": shape [..., len(past_dynamic_cardinalities)]

To do:

[x] Move QuantileOutput and TFTInstanceSplitter to a another folder?
[x] Benchmarking
[x] Add tests

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

very cool! I too have a version of TFT which is auto-regressive and the output can be a prob distrb class, rather than quantiles.... kindly have a look here: https://github.com/kashif/pytorch-transformer-ts/tree/main/tft

Thank you, @kashif! Some parts of this PR are based on your code (there is an acknowledgement in the docstring), thanks a lot for making it available! My main focus here was to add support for all types of dynamic features, plus we want to stick to quantile output, since faster inference is critical for some downstream applications in AutoGluon-TS.

any chance that this is going in before the Sphere course starts on Jan 17? That would be rather awesome!

Here are some benchmarking results for PyTorch vs. MXNet implementations of TFT on randomly chosen 12 datasets. Winrate is computed as % of metrics where the PyTorch version is better (assuming higher-is-better for coverage/related metrics, and lower-is-better for the rest).
The PyTorch version seems to consistently be 2-4x faster, but the performance is rather different between the two models - with PyTorch being better in 8/12 cases. Is this an acceptable difference?

max_epochs = 50
batch_size = 64
context_length = 64
quantile_levels = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
no validation set - just train on the train set until max_epochs is reached
both models trained on 1xV100 GPU

dataset
train_time_torch
train_time_mxnet
torch_winrate

australian_electricity_demand
555
1007
70

bitcoin
178
598
77.5

fred_md
150
488
85

kdd_2018
206
694
30

m3_monthly
149
494
10

m4_hourly
194
627
95

m4_weekly
172
483
27.5

restaurant
177
611
77.5

rideshare
205
672
57.5

rossmann
177
642
22.5

tourism_monthly
153
543
67.5

walmart
169
595
57.5

Raw metrics for each dataset - benchmark_tft.zip

Resolved 👍

@shchur did you get those results with default settings? I'm interested in context_length in particular, which appears to default to prediction_length when not specified (in the estimator).

These were obtained using context_length = 64 (other hyperparameters also mentioned in the dropdown "Details" in the original message). The reference implementation uses a different context_length for each dataset, so I just set it to be the same as in the MXNet implementation of TFT.
Though, most likely, the choice of context_length = prediction_length is very poor, do you think we should change it to something else?

Though, most likely, the choice of context_length = prediction_length is very poor, do you think we should change it to something else?

Exactly, it should probably be much longer. Maybe let's do that separately from this PR, we could think of either a larger multiple of prediction_length or some heuristics based on the frequency of the data, or a combination of both.

awesome!

authors: kashif lostella shchur timoschowski

repo: awslabs/gluonts


text:
initial commit of v1.11.0.dev0

Issue #, if available:
Description of changes:
initial commit of v1.11.0.dev0
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 9093b1bab74de74afacc4b35b7687c11885a23c7
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

authors: malachi-constant srinivasreddych

repo: awslabs/idf-modules


text:
feat(component, table): switch to cloudscape for table component

Overview

package/table

replace @awsui/components-react with @cloudscape-design/components

package/components

add imports cloudscape's style sheets to component package
update stencil config for testing
update change logs

Tests
[Include a link to the passing GitHub action running the test suite here.]
Legal
This project is available under the Apache 2.0 License.

add scope to the commit message as according to conventional commit

We decided to not move forward with cloudscape at this moment. Closing.

authors: diehbria square-li

repo: awslabs/iot-app-kit


text:
[UX] Update icons for widget library

Please reach out for SVGs
Refer -
Doc - https://quip-amazon.com/5U2EAtnId09B/Centurion-UX-Pre-GA
Design - https://www.figma.com/file/pmsbdMcD7ieVWRFMNxStIi/VoT--AppKit-%26-Centurion?type=design&node-id=348%3A423854&mode=design&t=1zPNBiyI9sH6mezN-1

Icon size - 40px
Padding between icons - 15px
Ignore the symbol icon for now

Make sure, to remove the status component when removing the status icon from above

This is the same icon with padding as mentioned in previous comment by Navita. I need bar Icon with no padding like other icons.

Updated the widget panel and removed the text.
Also, designed the hover state - fill the icon with Grey 600 on hover or let me know if you need SVGs for the hover state.

Also, the cursor should change to drag in the hover state.
Refer this screenshot -

authors: Priyanshu44 mnischay nadeswal

repo: awslabs/iot-application


text:
Document Kubeflow Pipeline v2 credentials setup

What is the URL of the document?
The URL to help identify the document.
Which section(s) is the issue in?
The sections(s) within the document that have issue in.
What needs fixing and describe the solution you'd like?
A clear and concise description of what the issue is.
Additional context
Add any other context about the problem here.

Editing this internally now

resolved as part of https://github.com/awslabs/kubeflow-manifests/pull/680

authors: AlexandreBrown ryansteakley surajkota

repo: awslabs/kubeflow-manifests


text:
Added KFServing/KServe Service Account Support For Secrets Manager

Which issue is resolved by this Pull Request:
Resolves #143
Testing:

[x] Unit tests pass
[x] e2e tests pass
Details about new tests (If this PR adds a new feature)
Details about any manual tests performed

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@AlexandreBrown I want to propose instead of changing the secret key names in kserve deployment, we should aim to change the keys in mlpipeline-minio-artifact for 2 reasons:

AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are the default names used for credentials in AWS documentation. Current variable names in mlpipeline-minio-artifact deviate from the convention that is normally followed.
The Key names in inferenceservice configmap are user facing and it is already in use from kserve 0.4.0 onwards. Changing this will require existing users to  change their configmaps.

@rrrkharse, @AlexandreBrown do you think this is doable?

@AlexandreBrown I want to propose instead of changing the secret key names in kserve deployment, we should aim to change the keys in mlpipeline-minio-artifact for 2 reasons:

AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are the default names used for credentials in AWS documentation. Current key names in mlpipeline-minio-artifact deviate from the convention that is normally followed.
The Key names in inferenceservice configmap are user facing and it is already in use from kserve 0.4.0 onwards. Changing this will require existing users to  change their configmaps.

@rrrkharse, @AlexandreBrown do you think this is doable?

I totally agree with your proposal.

Closing this issue as it has been stale for a long time and won't have time to work on it soon.
Feel free to re-open and work on it @surajkota @goswamig to add IRSA

authors: AlexandreBrown surajkota


text:
Update main.tf

Fix for error - Error: Unsupported argument enable_classiclink_dns_support   = null # https://github.com/hashicorp/terraform/issues/31730
Which issue is resolved by this Pull Request:
Resolves #
Description of your changes:
Testing:

[ ] Unit tests pass
[ ] e2e tests pass
Details about new tests (If this PR adds a new feature)
Details about any manual tests performed

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Looks good, will test on my end and merge.


text:
Get EFS drivers from official repo

Get EFS drivers from official repo
The local driver files were version 1.3.5
Upgraded the drivers to 1.3.6
Here is the kustomize build diff
+++ b/distributions/aws/examples/storage/efs/drivers/efs-release-1.3-driver.yaml
@@ -1,5 +1,13 @@
 apiVersion: v1
 kind: ServiceAccount
+metadata:
+  labels:
+    app.kubernetes.io/name: aws-efs-csi-driver
+  name: efs-csi-controller-sa
+  namespace: kube-system
+---
+apiVersion: v1
+kind: ServiceAccount
 metadata:
   labels:
     app.kubernetes.io/name: aws-efs-csi-driver
@@ -130,7 +138,7 @@ spec:
         env:
         - name: CSI_ENDPOINT
           value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
-        image: amazon/aws-efs-csi-driver:v1.3.6
+        image: amazon/aws-efs-csi-driver:v1.3.5
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 5
@@ -220,7 +228,7 @@ spec:
         env:
         - name: CSI_ENDPOINT
           value: unix:/csi/csi.sock
-        image: amazon/aws-efs-csi-driver:v1.3.6
+        image: amazon/aws-efs-csi-driver:v1.3.5
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 5

Hello @akartsky , the EFS driver was download and edited as described per aws doc
Did you test to make sure re-applying the service account does not cause issues?

Ya it wasn't overriding the annotations for previously created service account so it should work.
Will test it out end to end just to make sure

authors: AlexandreBrown akartsky


text:
Password update

Every 45 days admin password gets updated without user's knowledge. Please fix by either notifying users of impending password reset or not updating passwords without user's knowledge.

Hello @sidbannet -
We are tracking this issue internally. Support for AD is not currently released, so I am closing this ticket. SOCA stable version with AD support will mitigate this issue.

authors: mcrozes sidbannet

repo: awslabs/scale-out-computing-on-aws


text:
[BUG] Modules fail due to pydantic 'depricated' issues

When updating to SeedFarmer~=3.1.0, my modules that were deploying correctly now fail with the following:
ImportError: cannot import name 'deprecated' from 'typing_extensions' (/root/.venv/lib/python3.10/site-packages/typing_extensions.py)
the version of typing-extensions is 4.5.0 (sometimes less than that depending on the module)
How can we correct this?

This is due to a change to seedfarmer when updating to v2 of pydantic.  There is a dependency of pydantic v2 on the typing-extensions library, which has modified it's package structure.  In order to get your module working again, in the module itself, update the requirements.txt file :
typing-extensions~=4.6.3
You can also directly install this library in your deployspec.yaml with pip:
pip install --upgrade typing-extensions==4.6.3

We will add to our docs that this is the minimum version going forward

repo: awslabs/seed-farmer


text:
feat(gatewayresponses): add support for API Gateway Responses

This is a WIP. Remaining:

~Documentation~
~Example~
Edge Cases Which Will Be Pointed Out to Me, I'm Sure???

Issue #, if available:
#815
Description of changes:
Added new property GatewayResponses to AWS::Serverless::API. This translates to x-amazon-apigateway-gateway-responses in the generated Swagger with some convenience transformations applied for SAMier syntax.
Description of how you validated changes:
In addition to the present test suite, ran a company project through the translator. It deployed and worked correctly. (Then I reluctantly took it back down.)
Checklist:

[x] Write/update tests
[x] make pr passes
[x] Update documentation
[x] Create example

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Documentation is added. I tried to match house style, but lemme know if it's n-not?
I intend to have an example committed today, but Day Job may interfere.

OK, I think we in it.
I am the farthest thing from a professional Python developer, so please do let me know where I've fallen down.

Codecov Report

Merging #841 into develop will increase coverage by 0.24%.
The diff coverage is 93.1%.

@@             Coverage Diff             @@
##           develop     #841      +/-   ##
===========================================
+ Coverage    94.23%   94.48%   +0.24%
===========================================
  Files           67       67
  Lines         2688     2881     +193
  Branches       478      527      +49
===========================================
+ Hits          2533     2722     +189
- Misses          80       83       +3
- Partials        75       76       +1

Impacted Files
Coverage Δ

samtranslator/model/sam_resources.py
96.09% <ø> (+0.35%)
:arrow_up:

samtranslator/model/apigateway.py
96.81% <100%> (+0.49%)
:arrow_up:

samtranslator/swagger/swagger.py
98.38% <100%> (+0.45%)
:arrow_up:

samtranslator/plugins/globals/globals.py
100% <100%> (ø)
:arrow_up:

samtranslator/model/api/api_generator.py
94.33% <86.2%> (-1.8%)
:arrow_down:

samtranslator/plugins/api/implicit_api_plugin.py
96.26% <0%> (-3.74%)
:arrow_down:

samtranslator/model/intrinsics.py
94.44% <0%> (-1.02%)
:arrow_down:

samtranslator/model/__init__.py
96.85% <0%> (ø)
:arrow_up:

samtranslator/sdk/resource.py
100% <0%> (ø)
:arrow_up:

samtranslator/model/eventsources/cloudwatchlogs.py
100% <0%> (ø)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4bddf27...1522a6a. Read the comment docs.

Awesome. Thanks so much. I'm past EoD here in my time zone, but I'll jump on these in the morning.

Apologies for the force pushes -- trying to get the merge conflict resolved.
This is now caught up with current feedback.

Really glad to see this merged! Thanks @chrisoverzero for picking this up!
@brettstack @keetonian do you guys have any idea when this will be released? I'm in dire need of this to avoid having to define the entire API myself at the moment.

We're working on it now. We just cut a release branch: https://github.com/awslabs/serverless-application-model/tree/release/v1.11.0
We should be able to release this soon, barring any unforeseen issues with the new features.

authors: carlnordenfelt chrisoverzero codecov-io keetonian

repo: awslabs/serverless-application-model


text:
Upgrade Smithy to 1.16.1

Description
This PR upgrades Smithy from 1.13 to 1.16.1.
Smithy change log here: https://github.com/awslabs/smithy/blob/main/CHANGELOG.md
Biggest changes:

Entries in string list headers can now be quoted so that they can contain commas and escaped quotation marks
The AWS JSON protocols no longer support @jsonName

Checklist

[x] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates

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

There are 5 protocol test failures for the server.

2 of them are for missing required header: <header> (example).
3 of them are for RequestExtensions not found (example).

The 5 tests are new in Smithy 1.16 and are not regressions i.e. had they been in the current Smithy version we're using, the server would still have failed. The server is doing poorly at protocol tests; I'm working on reducing the failures.
(1) is due to us not generating the tests correctly, we're not inserting the input headers to construct the request. Adding them should make many more tests pass.
(2) is due to us only inserting RequestExtensions in responses for fallible operations (link). We should add them to all responses and rename the struct to ResponseExtensions, since we're adding them only to responses.
I've created GitHub issues to track these and I will be tackling them shortly:

#1062
#1063

Since these fixes are semantically unrelated to this PR, I suggest I fix them in separate PRs. To unblock merging this PR, you can add this patch:
diff --git a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt
index aad4fdc1..0afb1004 100644
--- a/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt
+++ b/codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol/ServerProtocolTestGenerator.kt
@@ -431,6 +431,11 @@ class ServerProtocolTestGenerator(
         private val AwsQuery = "aws.protocoltests.query#AwsQuery"
         private val Ec2Query = "aws.protocoltests.ec2#AwsEc2"
         private val ExpectFail = setOf<FailingTest>(
+            FailingTest(RestJson, "RestJsonInputAndOutputWithQuotedStringHeaders", Action.Request),
+            FailingTest(RestJson, "RestJsonInputAndOutputWithQuotedStringHeaders", Action.Response),
+            FailingTest(RestJson, "RestJsonOutputUnionWithUnitMember", Action.Response),
+            FailingTest(RestJson, "RestJsonUnitInputAllowsAccept", Action.Request),
+            FailingTest(RestJson, "RestJsonUnitInputAndOutputNoOutput", Action.Response),
             FailingTest(RestJson, "RestJsonAllQueryStringTypes", Action.Request),
             FailingTest(RestJson, "RestJsonQueryStringEscaping", Action.Request),
             FailingTest(RestJson, "RestJsonSupportsNaNFloatQueryValues", Action.Request),

authors: david-perez jdisanti

repo: awslabs/smithy-rs


text:
Update documentation for a working routing exemple

Relates to : https://github.com/awtkns/fastapi-crudrouter/issues/90
As discussed, I think a real overloaded_get_all method that return a list of created elements would be great. Working with MemoryCRUDRouter

Thanks for this @slamer59!

repo: awtkns/fastapi-crudrouter


text:
Feature Request: Single Register/Unregister FD

Currently io_uring_register_files_update() requires liburing user to keep track of list/array of indexes.

There isn't a good reason to keep track of all the indexes (io_uring at the back-end does this anyways?!)
waste of resources.
It might be confusing user since you can register same fd value over and over as new files fd, if previous fd was closed and being reused.

New functions needs to be added:
// note: still have to initialize with `io_uring_register_files` first

index = int io_uring_register_file_fd(&ring, int fd);
// note: should only allow for single update and returns: `index` or `-errno`

int io_uring_unregister_file_index(&ring, int index);
// note: single `index` removal, should return: `0` or `-errno`

// Optional - could add a way to also close fd:
index = int io_uring_register_file_fd(&ring, int fd, bool close_fd);

These feature would be nice to have but not really required, since there are current plans for open/register/close sqe->buf_index patch!

I could be misunderstanding, but do you know that io_uring_register_files_update() already can update/remove a single file? Even more, true any amount of consecutive indexes...
int update_fds[2];

// prepare
{
    // limit scope of the var, not needed after io_uring_register_buffers().
    int table[50] = {-1, -1, 0, -1, ...};
    io_uring_register_buffers(table, 50);
}

// place @some_fd and @some_fd2 at indexes 2 and 3 respectively,
// which would also remove previously set files for there if any, e.g.
// fd=0 at index 2 in the example.
// Note: it doesn't modify anyhow @table.
update_fds[0] = some_fd;
update_fds[1] = some_fd2;
io_uring_register_files_update(update_fds, off=2, nr=2);

but do you know that io_uring_register_files_update() already can update/remove a single file?

Yes, I know you can do that, I have already written functions to do so. My point was more towards having io_uring at the back-end handling such tasks. Realistically speaking, don't see many use-case for update multiple fds at once.

keep_track_fds = [-1, -1, -1]       # assume you enable 3 fds to keep track of
all_fds = files(keep_track_fds)     # convert int to c using cffi

fd = open()

index = 0
for value in keep_track_fds:
    if value == -1:
        keep_track_fds[index] = fd
        c_fd = files(fd)            # convert to c using cffi
        io_uring_register_files_update(ring, index, c_fd, 1)
    index += 1

All these conversion/tracking take speed hit for dynamic languages.
Could have been:

io_uring_register_files(ring, 3)    # count of max keep track of fds (or set to max 2^15 by default)

fd = open()
index = io_uring_register_file_fd(ring, fd)
...
io_uring_unregister_file_index(ring, index)

Passing something like int directly back and forth is much better/faster then passing struct and such...

Ok, than it's not about registering a single fd, but rather "register, and make io_uring to find an empty slot".
I don't see why to do that, when the userspace already has all the flexibility. If that's a problem of managed languages, just write a chunk of code in C and allocate an array for fds in advance.

ok, thanks.

@isilence functions like io_uring_prep_openat_direct with the *_direct does that open and close fd automatically feature right? Then assigns index as the new fd like tracker...
Or is using anything with fd with __io_uring_set_target_fixed_file gives it that open/close behavior?

authors: YoSTEALTH isilence

repo: axboe/liburing

license: mit


text:
configure: don't enable ublk if modern commands not available

If ublk_cmd.h does not contain modern command definitions such as UBLK_U_CMD_START_DEV the ublk io_uring commands cannot be used. These definitions have only been added last year, so there will be users who will not have these available.
Tested on my raspberry pi 4 with debian/bookworm and kernel 6.1.0-rpi7-rpi-v8

git request-pull output:
<The following changes since commit f2dc904171f36f32a6f2566d1e6b12398ec3bb4f:

  man/io_uring_prep_close: note on direct descriptor failure cases (2024-09-05 09:00:54 -0600)

are available in the Git repository at:

  git@github.com:Oipo/liburing.git

for you to fetch changes up to 60ae198ac7dcdfc0580a354b203df092db81111c:

  configure: don't enable ublk if modern commands not available (2024-09-06 22:45:08 +0200)

----------------------------------------------------------------
Michael de Lang (1):
      configure: don't enable ublk if modern commands not available

 configure | 6 ++++++
 1 file changed, 6 insertions(+)

Click to show/hide pull request guidelines
Pull Request Guidelines

To make everyone easily filter pull request from the email
notification, use [GIT PULL] as a prefix in your PR title.

[GIT PULL] Your Pull Request Title

Follow the commit message format rules below.
Follow the Linux kernel coding style (see: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst).

Commit message format rules:

The first line is title (don't be more than 72 chars if possible).
Then an empty line.
Then a description (may be omitted for truly trivial changes).
Then an empty line again (if it has a description).
Then a Signed-off-by tag with your real name and email. For example:

Signed-off-by: Foo Bar <foo.bar@gmail.com>

The description should be word-wrapped at 72 chars. Some things should
not be word-wrapped. They may be some kind of quoted text - long
compiler error messages, oops reports, Link, etc. (things that have a
certain specific format).
Note that all of this goes in the commit message, not in the pull
request text. The pull request text should introduce what this pull
request does, and each commit message should explain the rationale for
why that particular change was made. The git tree is canonical source
of truth, not github.
Each patch should do one thing, and one thing only. If you find yourself
writing an explanation for why a patch is fixing multiple issues, that's
a good indication that the change should be split into separate patches.
If the commit is a fix for an issue, add a Fixes tag with the issue
URL.
Don't use GitHub anonymous email like this as the commit author:
123456789+username@users.noreply.github.com

Use a real email address!
Commit message example:
src/queue: don't flush SQ ring for new wait interface

If we have IORING_FEAT_EXT_ARG, then timeouts are done through the
syscall instead of by posting an internal timeout. This was done
to be both more efficient, but also to enable multi-threaded use
the wait side. If we touch the SQ state by flushing it, that isn't
safe without synchronization.

Fixes: https://github.com/axboe/liburing/issues/402
Signed-off-by: Jens Axboe <axboe@kernel.dk>

By submitting this pull request, I acknowledge that:

I have followed the above pull request guidelines.
I have the rights to submit this work under the same license.
I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information).

Was too quick on this one, it's totally broken and can't ever work. It's mixing private structures and defines with public uapi ones. Testing for UBLK_U_CMD_START_DEV is fine, CTRL_CMD_HAS_DATA is not. And struct ublk_ctrl_cmd_data is not a public struct. There's no way the ublk tests could ever get enabled. I'll fix it up.

authors: Oipo axboe


text:
Linter code

[ ] use prettie

/label doing soon

/label doing, soon

/label doing
/label soon

/label doing

repo: axeII/home-cluster

license: WTFPL


text:
🛑 Nemeton Program Web Site is down

In 06d2dc9, Nemeton Program Web Site (https://nemeton.okp4.network) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nemeton Program Web Site is back up in fb8ed6a after 11 minutes.

repo: axone-protocol/status


text:
False-positive first match domination warning

Regression: https://github.com/aya-prover/aya-dev/pull/579

repo: aya-prover/aya-dev


text:
Instructions on codegen

How do you get cargo +nightly xtask codegen to work? I'm running into a bunch of missing header files on aarch64 Ubuntu (as a VM on macOS) so I'm wondering if there's instructions to get codegen working.

Hello! 👋
I just made a PR #917  that should fix the current issue for this. Also, these packages need to be installed as well for codegen to work.
sudo apt-get install libc6-dev libc6-dev-{arm64,armel,riscv64}-cross

This should probably be documented somewhere since I only found this when looking through the codegen GHA workflow.

authors: kevinji tyrone-wu

repo: aya-rs/aya


text:
about pix2pix，access huggingface

I have another question about pix2pix, code: pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained("timbrooks/instaruct-pix2pix",torch_dtype=torch.float16,safety_checker=None) , In this line of code, there is a download, access huggingface, and write to .cache/huggingface/hub. Why does it need to be accessed every time it is executed?

I'm pretty sure diffusers checks if you already have a model downloaded in the cache, and if its downloaded, then it will just load from there. This is probably a better question for the diffusers repo.

url:https://huggingface.co/timbrooks/instruct-pix2pix/tree/main  .Whether the model file is downloaded from this URL and placed in the cache. What should I download, because my network speed is not good, I can only use other methods to download to the local, copy to the corresponding .cache floder

I think in your code, access huggingface to download files, which files are downloaded? Whether the folder name written in the cache is a fixed name or a random name. What files does pix2pix need to obtain from huggingface during execution?

yes，The logic you said is correct. I use the pix2pix part alone. Every time I run pix2pix, it needs to access hugging, and often reports errors due to network connection problems. Use debug to check that the problem appears in the StableDiffusionInstructPix2PixPipeline.from_pretrained() method. There is a model--timbrooks--instruct-pix2pix folder in my cache, so what I don't understand is that my code directly uses pix2pix for image processing, and the img2img method is combined with the prompt instruction. The code executes multiple times because the network connection has an 80% error rate. Now that I was able to execute the script successfully, it proves that the relevant files it needs have been downloaded in the cache. Subsequent executions should no longer use the network to access huggingface, but it turns out that it accesses it every time, at least once. It is not so easy to access huggingface on the Internet in China.

Yes, it will access it atleast once. From my understanding, that is the only way to trigger the loading of instructpix2pix from huggingface. I would ask in the huggingface repo on how to avoid the huggingface server check all together.

Will it still access huggingface if the relevant file it needs already exists in my local cache? What code can I modify so that the relevant files it needs exist in my cache and it no longer accesses huggingface?

Yes it will do so. you will have to edit huggingface code in order to do this. That is why i suggest you ask on the huggingface repo

ok  , I see what you mean. Thank you for your reply


text:
kubectl debug [pod_name]  is not support find image from local (imagePullPolicy: IfNotPresent)

kubectl debug [pod_name]
pulling image %s...
ImagePull requests the docker host to pull an image from a remote registry.
it is not support use image from local.

Yes, according to your configuration, there are 1~2 images to pull:

the image of debug-agent, this is a standard Kubernetes Pod and the behavior is controlled by imagePullPolicy
the image of debug container, this image is pulled in the debug-agent, there's no logic to skip the pulling phase now, which may need refinement

And thanks for your report!

I need to use it in an offline environment, but this problem is holding me back.

@sw1136562366
Sorry for this annoying issue, hopefully I can address it this weekend

Workaround: if you have a private registry in the offline environment, you can push the image to this registry and pull from it.

I will try it, thanks!

@sw1136562366 Let me know if you have any questions then😄

repo: aylei/kubectl-debug


text:
Prevent Nginx from buffering responses to disk

Problem description
There are a number of requests that are being buffered to disk by Nginx in the logs:
Sep 19 00:52:57 ip-10-0-0-184 districtbuilder-nginx[2090]: 2018/09/19 00:52:57 [warn] 6#6: *71936 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/59/0000001592 while reading upstream, client: 70.132.21.97, server: localhost, request: "POST /districtmapping/plan/82/unlockedgeometries/ HTTP/1.1", upstream: "http://172.18.0.5:8080/districtmapping/plan/82/unlockedgeometries/", host: "map.drawthelinespa.org", referrer: "https://map.drawthelinespa.org/districtmapping/plan/82/edit/"
Sep 19 00:53:00 ip-10-0-0-184 districtbuilder-nginx[2090]: 2018/09/19 00:53:00 [warn] 6#6: *71945 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/59/0000001593 while reading upstream, client: 52.46.14.104, server: localhost, request: "GET /districtmapping/plan/90/district/versioned/?version__eq=22&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4819753.4218677,-8234715.8739628,5014820.7180517&level__eq=3 HTTP/1.1", upstream: "http://172.18.0.5:8080/districtmapping/plan/90/district/versioned/?version__eq=22&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4819753.4218677,-8234715.8739628,5014820.7180517&level__eq=3", host: "map.drawthelinespa.org", referrer: "https://map.drawthelinespa.org/districtmapping/plan/90/edit/"
Sep 19 00:53:05 ip-10-0-0-184 districtbuilder-nginx[2090]: 2018/09/19 00:53:05 [warn] 6#6: *71934 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/59/0000001594 while reading upstream, client: 52.46.14.104, server: localhost, request: "GET /districtmapping/plan/90/district/versioned/?version__eq=22&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4877081.1930816,-8234715.8739628,5072148.4892656&level__eq=3 HTTP/1.1", upstream: "http://172.18.0.5:8080/districtmapping/plan/90/district/versioned/?version__eq=22&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4877081.1930816,-8234715.8739628,5072148.4892656&level__eq=3", host: "map.drawthelinespa.org", referrer: "https://map.drawthelinespa.org/districtmapping/plan/90/edit/"
Sep 19 00:53:07 ip-10-0-0-184 districtbuilder-nginx[2090]: 2018/09/19 00:53:07 [warn] 6#6: *71957 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/5/59/0000001595 while reading upstream, client: 205.251.250.44, server: localhost, request: "GET /districtmapping/plan/45/district/versioned/?version__eq=275&queryable=version,subject,level&subject__eq=1&bbox=-9461492.9908599,4582216.1195452,-7834913.0289515,5465216.6702956&level__eq=4 HTTP/1.1", upstream: "http://172.18.0.5:8080/districtmapping/plan/45/district/versioned/?version__eq=275&queryable=version,subject,level&subject__eq=1&bbox=-9461492.9908599,4582216.1195452,-7834913.0289515,5465216.6702956&level__eq=4", host: "map.drawthelinespa.org", referrer: "https://map.drawthelinespa.org/districtmapping/plan/45/edit/"
Sep 19 00:53:19 ip-10-0-0-184 districtbuilder-nginx[2090]: 2018/09/19 00:53:19 [warn] 6#6: *71979 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/6/59/0000001596 while reading upstream, client: 52.46.14.104, server: localhost, request: "GET /districtmapping/plan/90/district/versioned/?version__eq=23&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4900012.3015671,-8234715.8739628,5095079.5977511&level__eq=3 HTTP/1.1", upstream: "http://172.18.0.5:8080/districtmapping/plan/90/district/versioned/?version__eq=23&queryable=version,subject,level&subject__eq=1&bbox=-8561254.8587972,4900012.3015671,-8234715.8739628,5095079.5977511&level__eq=3", host: "map.drawthelinespa.org", referrer: "https://map.drawthelinespa.org/districtmapping/plan/90/edit/"

Replication Steps

Execute sudo grep "warn" /var/log/messages on an application server

Expected Behavior or Output
Nginx should not have to buffer to disk as it handles responses.

In troubleshooting this, I noticed that there’s actually request buffering for client requests and upstream responses. I believe both are related to the fact that when areas are selected with the Polygon select tool, the GeoJSON representation of the Polygon is larger because it contains every coordinate along the Polygon's perimeter. As a result, when we include that GeoJSON in a request to create a new District, the response is bigger than Nginx’s request buffer (defaults to 8 x 4KB buffers, 32 KB total) so it gets written to file. This is pretty simple to recreate in Development: just zoom to level 4, and slowly make a selection with the Polygon tool. I was able to generate a request that was 124KB total and trigger the buffering behavior.
This large GeoJSON for Districts created with the Polygon tool also causes response buffering. If we request a Plan that contains many districts created with the Polygon select tool, the upstream response will be too large for Nginx’ proxy buffers (also 32Kb). I saw some requests in the Production application  logs that reached 473KB, which is also larger than Nginx’ proxy buffer. I also replicated this in Development by creating 9 districts with the Polygon selector.
I can disable buffering altogether, but I think this may have a performance impact because it would cause nginx to serve requests synchronously. I think a better option is to disable freeform drawing and make users click on each point in the Polygon they want to draw.

repo: azavea/district-builder-dtl-pa


text:
When browsing/adding scenes, changing spatial filters clears the UI with no intuitive way back

//The title of this issue is fairly useless, hopefully someone can find a more descriptive title

Create a project and browse scenes to add:

Select a different cell/spatial filter as if to add scenes from a different part of the map:

//All of the scenes on the left are refreshed with what's available at the new spatial filter, but the previously selected scenes are gone. The natural instinct is to hit "back" to return to the previous selection, but that option doesn't exist. What if I want to remove those scenes that I selected? How do I find them again?

Try selecting overlapping spatial filters to get your previous scenes back:

It works! They are back! But it would be nice to "keep" selected scenes in that menu even if I move away from the area I original was searching in. I may decide I want to remove them, but I have to recreate the spatial filter to find them again to remove them.

My feeling on what would be expected here is that when a user selects a scene and changes filters that those scenes would then be excluded that the selected scenes should be persisted in the sidebar and moved to the top.

@notthatbreezy I agree!
Another potential enhancement tangentially related would be a "back" button that returned you to your previous state in case you accidentally clicked out of your spatial filter and didn't want to have to reconstruct it.

I can see that working for some filters, but for others like the filter on the map view, I'm not sure.
For instance - user resizes their browser window and causes a scene list refresh, then hits back. What does it do? We can't restore the old browser size, and if we just revert the filter, then it's listing scenes outside of the view or not listing all of the scenes in the view.

This issue is pretty old and I don't think it's as relevant with shape filters

authors: Lknechtli jmorrison1847 notthatbreezy

repo: azavea/raster-foundry


text:
Add users endpoint

Users endpoint:
/users/ - GET : list all users
/users/ - POST : Create new user
/users/{UUID} - GET : get user with UUID={UUID}
/users/{UUID} - PUT : update user with UUID={UUID}
every request which specifies user information must have every field:
when creating a new user, timestamp and id fields must be set to null
API status codes match those specified in docs/swagger/spec.yml
Change frontend dev server port from 9090 -> 9091
Add .ensime file to gitignore

I'm not sure what it is, but when I try and compile on your branch I get:
[error] Protocol error
[error] one error found
[error] (app/compile:compileIncremental) Compilation failed
[error] Total time: 25 s, completed Aug 24, 2016 12:51:51 PM

I'm not convinced that it's something because of your branch though. I suspect it's something else but I haven't figured out what yet.

TODO: fix PUT to /user/{UUID}

+1

authors: Lknechtli notthatbreezy


text:
Warnings During Install

Note: I'm not reporting as a user, but just spotted this during unrelated testing
During installation (and possibly during use), warnings are generated on Rakudo brewed today. I believe this is due to changes in NativeCall:
==> Installing Net::Curl
Potential difficulties:
    In '_curl_easy_setopt' routine declaration - Not an accepted NativeCall type for parameter [2]  : int
     --> For Numerical type, use the appropriate int32/int64/num64...
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:232
    ------>    is symbol('curl_easy_setopt') { ... }⏏<EOL>
    The returning type of '_curl_easy_setopt' --> int is erroneous. You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:232
    ------>    is symbol('curl_easy_setopt') { ... }⏏<EOL>
    In '_curl_easy_setopt_cb' routine declaration - Not an accepted NativeCall type for parameter [2]  : int
     --> For Numerical type, use the appropriate int32/int64/num64...
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:244
    ------>    is symbol('curl_easy_setopt') { ... }⏏<EOL>
    The returning type of '_curl_easy_setopt_cb' --> int is erroneous. You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:244
    ------>    is symbol('curl_easy_setopt') { ... }⏏<EOL>
    The returning type of 'curl_easy_perform' --> int is erroneous. You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:290
    ------> 	is export { ... }⏏;
    In 'curl_easy_strerror' routine declaration - Not an accepted NativeCall type for parameter [1]  : int
     --> For Numerical type, use the appropriate int32/int64/num64...
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:296
    ------> 	is export { ... }⏏;
    In 'curl_easy_getinfo' routine declaration - Not an accepted NativeCall type for parameter [2]  : int
     --> For Numerical type, use the appropriate int32/int64/num64...
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:308
    ------> 	is export { ... }⏏;
    The returning type of 'curl_easy_getinfo' --> int is erroneous. You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:308
    ------> 	is export { ... }⏏;
    In 'curl_global_init' routine declaration - Not an accepted NativeCall type for parameter [1]  : int
     --> For Numerical type, use the appropriate int32/int64/num64...
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:313
    ------> 	is export { ... }⏏;
    The returning type of 'curl_global_init' --> int is erroneous. You should not return a non NativeCall supported type (like Int inplace of int32), truncating errors can appear with different architectures
    at /home/zoffix/.rakudobrew/moar-nom/install/share/perl6/site/sources/D0C7C55EB5D3510037DEEF0CE015FC1168499049:313
    ------> 	is export { ... }⏏;
==> Successfully installed Net::Curl

$ perl6 -v
This is Rakudo version 2015.12-101-g75c6b9e built on MoarVM version 2015.12
implementing Perl 6.c.

Closed. Thanks :+1:

authors: azawawi zoffixznet


text:
fix: turn back surfaces

Retorno dos valores da superficie como estavam antes do teste.

:tada: This PR is included in version 1.7.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: cesaroeduardo robsongajunior

repo: aziontech/azion-theme


text:
refactor: change --in flag to --file

WHAT

Change --in to --flag;
Update unit tests;
Refactor edge-application to use helper function;

WHAT

Change --in to --flag;
Update unit tests;
Refactor edge-application to use helper function;

have you tried to say:
Change --in to --file;
?

WHAT

Change --in to --flag;
Update unit tests;
Refactor edge-application to use helper function;

have you tried to say: Change --in to --file;
?

oops

authors: PatrickMenoti alisson-marcelo-azion

repo: aziontech/azion


text:
feat: utils and types packages

Description
New Packages Introduced
1. Utils Package (utils)
This package centralizes utility functions that can be reused across the project. In this initial version, the following utilities have been added:

`mountSPA`: Facilitates the routing of Single Page Applications (SPA) on Azion edge functions.
`mountSSG`: Supports the routing for Static Site Generation (SSG) in edge environments.
`parseRequest`: Parses and debugs incoming requests, providing detailed insights into request data, such as headers, cookies, and body content.

2. Types Package (types)
This package contains global types used throughout the project, specifically tailored for Azion Runtime environments. It provides a centralized location for type definitions, ensuring consistency and reducing redundancy across the codebase.

:tada: This PR is included in version 1.5.0-stage.2 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: aziontech/lib