This repository has been archived by the owner on Feb 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 887
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 tasks
I updated the PR removing the verbose patches (already provided by #276) as restoring files' time isn't strictly needed for the acirenderer. |
sgotti
force-pushed
the
acirenderer
branch
3 times, most recently
from
December 21, 2014 17:37
a56fd35
to
630176c
Compare
I updated the PR with various fixes and made it to work without any change in appc/spec (I'm going to close appc/spec#57 and propose future single PR). |
I don't know if someone started reviewing this, but I updated the PR with various changes and, instead of adding another comment with all the changes, I directly changed the first one. |
sgotti
force-pushed
the
acirenderer
branch
4 times, most recently
from
January 4, 2015 16:10
87b90f7
to
b4ccbcc
Compare
sgotti
force-pushed
the
acirenderer
branch
3 times, most recently
from
January 5, 2015 17:57
8e30f86
to
91fb309
Compare
This was referenced Jan 5, 2015
sgotti
force-pushed
the
acirenderer
branch
3 times, most recently
from
January 7, 2015 16:03
5af9b28
to
3cc99a8
Compare
@sgotti Thanks! Could you break this up into multiple PRs for the unrelated commits though? this guys is kinda all over the place. /cc @jonboulle |
sgotti
force-pushed
the
acirenderer
branch
3 times, most recently
from
January 15, 2015 09:51
2f1ca06
to
abd1c6e
Compare
sgotti
force-pushed
the
acirenderer
branch
4 times, most recently
from
January 19, 2015 09:42
f19c3c8
to
f6bb983
Compare
I rebased it on top of the new getaci provided in #395. |
3 tasks
…eACI Add a new diskv store to save the ImageManifest of an ACI. As future functions will need the image manifest this avoids the need (and slowness) of extracting it from the ACI every time. As an ACI and its image manifest are tied together, on WriteACI the image manifest is saved using the same key of the blob store.
GetImageManifest retrieves the ImageManifest with the specified key.
This db handler wraps a database/sql and handles (but it can be changed) a github.com/cznic/ql db adding external locking functions and various utility functions. As multiple rkt processes can concurrently try to access the db there the need to lock it. This is done locking the dir containing the db file. To avoid long wait times of concurrent rkt processes trying to access a DB, only short living transactions should be done. The DoTx function executes the provided txfuncs inside a unique transaction. If one of the functions returns an error the whole transaction is rolled back. The Do functions calls DoTx but before it locks and opens the db, and after it closes and unlocks the db. For the reasons explained above the Do function should always be used.
The ACIInfo table save informations on the ACIs. The saved informations are: * BlobKey is the key in the blob and imageManifest store of the related ACI file. * AppName is the app name provided by the ACI. * ImportTime is the time this ACI was imported in the store * Latest defines if the ACI was imported using the latest pattern (no version label provided on ACI discovery)
On fetching, if downloaded with the "latest" pattern (no version label specified), the ACI is saved in the store with the "latest" flag.
GetACI returns the best ACI that matches the required app name and the provided labels. If there are multiple matching ACIs choose the latest one (defined as the last one imported in the store). If no version label is requested, ACIs marked as latest in the ACIInfo are preferred.
This was referenced Feb 4, 2015
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
this big PR tries to add a new ACI Renderer library (as proposed in appc/spec#16).
I tried to split it in multiple self consistent patches as I'm touching various subsystems. Other then adding new tar functions (some already proposed in #276, if its merged I'll rebase this PR) (the first two patches are very verbose as they adds a new godep) the new features are:
For doing this is uses as the key name the hash of the app name concatatenated with the ImageID.
I'm using and testing all these changes with https://github.com/sgotti/acido in the "acirenderer" branch.
Note: As already noted in cas/cas.go by @philips and #71 quite probably appIndex should be stored in a database.
I have some doubt that I'd like to clarify related the separation between discovery/fetching and rendering. I opened appc/spec#73.
Thanks!