Comments (7)
What is the best practice? I had thought that hard coding the id in scripts was discouraged and that looking up by name first was the way to go...
from rack.
@carolynvs This rabbit hole goes pretty deep :) We (by which I mean when I was the Servers/Images PM) DID generally discourage hard coding ID's in scripts IF your desire is always to have the latest image regardless of what changes/fixes/iterations we've made to it.
But the reality is that a UUID, being something that is fixed and will never go away (we don't delete old image UUIDs, just hide them from public listing), is what you want if you want an absolute guarantee that nothing has changed in your source image. (In fact Glance essentially enforces that all images, once created, are immutable).
So, then you ask, what is the way to do it if you don't specify the name? We had generally recommended either using the ID and auditing time to time, OR using additional metadata on the image to determine the distro, the version, and the creation date (or some other unique combination). The reality is that Glance doesn't have a great way to make this work out of the box, it requires client side caching, customized parsing, or just plain old user involvement, so I can't claim to offer a specific solution, only some guidance on things that have been proven to cause user issue in the past. I will defer to those teams for the UX they want for their products. Just didn't want to lose track of the concern. :)
from rack.
Thanks @rtgoodwin for the explanation!
from rack.
This is a followup for @rtgoodwin on communicating best practice here, but this doesn't appear to have any direct code ramification on rack
.
from rack.
Bounced to Ari and Amanda for their feedback.
from rack.
Response from Images team:
"It really depends on what the customer is trying to do. If they always want to be guaranteed the exact same image then they should build via UUID or use a snapshot. Of course, this gives them a static image that will not be updated or patched. If they always want the latest most up-to-date version of their OS they can use the name, but they should be aware that the point release could change out from under them if they’re using RHEL/Cent, or their code could break if we remove their image from the base image list (e.g., removing Ubuntu 15.04 when 15.10 comes out). The best approach varies depending on what OS you’re using. "
So, we'll work it in our docs in conjunction with the Images team.
from rack.
Lets add a note to the docs saying that depending on the name for an image may result in unexpected changes. Images often are updated with security patches that may have the same Name
.
from rack.
Related Issues (20)
- fatal error: runtime: out of memory during download HOT 7
- rack help should display global flags HOT 1
- See dial tcp i/o timeouts once a day HOT 6
- Let users include metadata in the output for list operations
- FR: make return value non-zero when no servers found HOT 1
- Can't build HOT 3
- upload file from stdin illegal seek
- Search for [email protected] and remove HOT 1
- Rackspace CLI - Install the binary with a script
- Addition of environment variable to interact with a specific profile
- dial tcp: lookup identity.api.rackspacecloud.com: no DNS servers HOT 1
- Orchestration stack create fails HOT 13
- snapshot create failing HOT 1
- [Enhancement request] Return all ip addresses for all adapters
- Rack does not work on OS X High Sierra HOT 4
- Inconsistencies between CLI list command and actual File Object
- `rack networks subnet list` returns `<nil>` for Network ID
- Unable to set Access-Control-Allow-Origin and other headers on uploaded files
- This project will not migrate to docs.rackspace.com
- Go module support
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 rack.