Comments (5)
I agree that the --force
flag isn't obvious in what it's doing, it requires additional context on what is actually being done under the hood for image uploads. Essentially that flag is currently only targeted at overwriting the S3 objects, this notably excludes snapshots & AMIs.
The process for uploading an image follows the flow: upload bits to S3 -> create a snapshot from S3 -> create AMI from snapshot. Both ore
& plume
have some extra code that allows it to re-use bits throughout to allow for idempotency.
AMI names are intended to be unique (although some of the AWS APIs don't/didn't respect that) and as such it makes sense that we might want to be able to create a new AMI with the same name (which would involve deleting both the AMI & the underlying snapshot).
The actual fix would probably look something like adding code inside of the ore aws upload
command that when --force
is specified checks if an AMI exists of the same name (using the FindImage
method) and then deleting both the AMI & the underlying snapshot (the getImageSnapshotID
method exists which can find the underlying snapshot for a given AMI). If the deletion of the snapshot fails then we would want to print a warning with the snapshot ID but continue (as it's possible for multiple AMIs to be using the same underlying snapshot), which means we'd also need to add a ore aws delete-snapshot
command to allow users to be able to properly clean-up their AWS environment.
Is this something that is urgently needed for your current work or can you work around it for now (specifying a different AMI name will bypass it in the interim)?
from mantle.
Is this something that is urgently needed for your current work or can you work around it for now (specifying a different AMI name will bypass it in the interim)?
Nope, not urgent, just a nice to have. Just something I've noticed while doing some testing and was looking for some context.
from mantle.
This behavior directly conflicts with cosa, since "failed" builds will reuse version numbers. See coreos/coreos-assembler#668
from mantle.
@cgwalters ah yeah, that's true.
I'll try to get some spare cycles in the next week or two to hack on it; if anyone would like to pick up the work I'd also be happy to review it and/or answer any questions.
from mantle.
PR in #1039
from mantle.
Related Issues (20)
- `plume release --distro fcos` failing with NoCredentialProviders HOT 6
- plume: FCOS: specify content-type of releases JSON
- `ore aws initialize` logging
- aws: Add retry detection to tag creation HOT 1
- go mod tidy breaks the build
- Kola run failed on s390x because of netlink error HOT 2
- s390x (IBM Z) support to pass ignition file to CoreOS guest HOT 5
- aws: kola iam role can get into weird state if user doesn't have passrole perms HOT 5
- Mask tcsd.service on CL on Packet
- `kola run` should allow for exiting zero even if tests failed HOT 6
- [rhcos 4.2][s390x] kola run errors out with " Cluster failed starting machines: didn't find an address" HOT 3
- [rhcos-4.2][s390x] Kola not fetching the correct kolet binary on non x86 arches for unpriv-qemu HOT 1
- ore: aws: unable to find just uploaded AMI HOT 1
- Make download-image work for FCOS HOT 4
- `ore aliyun create-image` missing `--delete-object` switch
- Fix `ore aws copy-image` to copy snapshot permissions too HOT 1
- Add ore command to remove Azure image
- Support arch exclusion for Kolet tests HOT 3
- `kola list` should filter results according to `--platform` and `--distro` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mantle.