For Catalog-specific issues, see Catalog Troubleshooting.
Package.set_dir()on the package root (“.”) overrides package-level metadata. If you do not provideset_dir(".", foo, meta=baz)with a value formeta=,set_dirwill set package-level metadata toNone.
A common pattern is to Package.browse() to get the most recent
version of a package, and then Package.push() updates.
You can preserve package-level metadata when calling set_dir(".", ...)
as follows:
import quilt3
p = quilt3.Package.browse(
"user-packages/geodata",
registry="s3://bucket_1"
)
p.set_dir(
".",
"s3://bucket_2/path/to/new/geofiles",
meta=p.meta
)
# Push changes to the S3 registry
p.push(
"user-packages/geodata",
registry="s3://bucket_1",
message="Updating package geodata source data"
)
QuiltConflictException when pushing a packagePackage.push refuses to overwrite a package revision that the package being
pushed does not descend from. A push succeeds only if the destination’s latest
revision is one the local package “knows about” — i.e. it was obtained via
Package.browse() (CLI: quilt3 install) or returned by a previous push.
Otherwise push raises QuiltConflictException.
To resolve:
force=True (CLI: --force) to overwrite the latest revision anyway; ordedupe=True to skip the push silently when the content is identical
to the latest revision.Users can either be invited directly or are just-in-time provisioned (JIP) when they sign in via SSO and receive the “default role.”
If an admin (or any user) is created by JIP, or created through CloudFormation with an SSO Provider set to anything other than Disabled, then setting the password for that user has no effect and password login will never succeed for that user. Said another way, users created through SSO can only log in through SSO.
You must disable SSO and enable PasswordAuth if you wish to log in as an
admin using a password (as opposed to SSO).
The following are common causes of failed logins. In most cases we recommend that you check the browser’s network panel for details.
CertificateArnELB must cover all
three Quilt hostnames (plus the Connect
host if Connect is enabled and CertificateArnConnect is empty) either via a
suitable * or explicit Subject Alternate Names.Changing the admin password is only possible with PasswordAuth=Enabled in
CloudFormation and is subject to the following limitations for security reasons:
You can click “reset password” on the login page.
To change the admin email (e.g. you have accidentally broken your admin user) try the following:
AdminEmail CloudFormation parameter to a net new
email.On rare occasions, Quilt stack deployment updates might fail. This can happen for several reasons. To expedite resolution of stack deployment issues, it’s helpful to have the following data and output from the following AWS CLI commands when contacting support@quilt.bio.
STACK_NAME="YOUR_QUILT_STACK"
aws cloudformation describe-stacks \
--stack-name "$STACK_NAME" \
--query 'Stacks[].Outputs'
aws cloudformation detect-stack-drift \
--stack-name "$STACK_NAME"
aws cloudformation describe-stack-resource-drifts \
--stack-name "$STACK_NAME"
aws cloudformation describe-stack-events \
--stack-name "$STACK_NAME"
To expedite the resolution of any errors encountered while using Quilt, please capture the following logs and share them with Quilt support:
aws cloudformation list-stacks
STACK_NAME="YOUR_QUILT_STACK"
aws logs filter-log-events \
--log-group-name "$STACK_NAME" \
--start-time "$(( ($(date +%s) - 1800) * 1000 ))" \
--end-time "$(( $(date +%s) * 1000 ))" > log-quilt-ecs-events.json
Determine which principal you’re using as follows:
aws sts get-caller-identity
Inspect problematic objects with the following commands:
BUCKET="YOUR_BUCKET"
PREFIX="YOUR_PREFIX"
aws s3api list-object-versions --bucket "$BUCKET" --prefix "$PREFIX"
aws s3api get-object-tagging --bucket "$BUCKET" --key "$PREFIX"
Sometimes you may wish to find an ID or other information from a logical resource in a Quilt stack. The following example is for security groups. Modify the commands as needed for other resource types.
STACK_NAME="YOUR_QUILT_STACK"
RESOURCE_ID="YOUR_LOGICAL_ID"
SG_ID=$(
aws cloudformation describe-stack-resource \
--stack-name "$STACK_NAME" \
--logical-resource-id "$RESOURCE_ID" \
--query 'StackResourceDetail.PhysicalResourceId' \
--output text
)
aws ec2 describe-security-groups --group-ids "${SG_ID}"
The event source mapping is a Lambda resource that reads from SQS.
STACK_NAME="YOUR_QUILT_STACK"
aws lambda get-event-source-mapping --uuid \
$(aws cloudformation describe-stack-resource \
--stack-name "$STACK_NAME" \
--logical-resource-id LambdaFunctionEventSourceMapping \
--query StackResourceDetail.PhysicalResourceId --output text)
If for some reason the event source mapping is disabled, it can be enabled as follows.
STACK_NAME="YOUR_QUILT_STACK"
aws lambda update-event-source-mapping --uuid \
$(aws cloudformation describe-stack-resource \
--stack-name "$STACK_NAME" \
--logical-resource-id LambdaFunctionEventSourceMapping \
--query StackResourceDetail.PhysicalResourceId \
--output text) \
--enabled