mirror of https://github.com/containers/podman.git
pkg/autoupdate: remove image map from updater
It is not state needed after assembling the tasks, so remove it to keep the task struct simpler. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
This commit is contained in:
parent
82d18a86f3
commit
3fdd3b1ae3
|
|
@ -53,7 +53,6 @@ var supportedPolicies = map[string]Policy{
|
|||
// updater includes shared state for auto-updating one or more containers.
|
||||
type updater struct {
|
||||
conn *dbus.Conn
|
||||
idToImage map[string]*libimage.Image
|
||||
options *entities.AutoUpdateOptions
|
||||
unitToTasks map[string][]*task
|
||||
updatedRawImages map[string]bool
|
||||
|
|
@ -126,24 +125,6 @@ func ValidateImageReference(imageName string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (u *updater) assembleImageMap(ctx context.Context) error {
|
||||
// Create a map from `image ID -> *libimage.Image` for image lookups.
|
||||
listOptions := &libimage.ListImagesOptions{
|
||||
Filters: []string{"readonly=false"},
|
||||
}
|
||||
imagesSlice, err := u.runtime.LibimageRuntime().ListImages(ctx, nil, listOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
imageMap := make(map[string]*libimage.Image)
|
||||
for i := range imagesSlice {
|
||||
imageMap[imagesSlice[i].ID()] = imagesSlice[i]
|
||||
}
|
||||
|
||||
u.idToImage = imageMap
|
||||
return nil
|
||||
}
|
||||
|
||||
// AutoUpdate looks up containers with a specified auto-update policy and acts
|
||||
// accordingly.
|
||||
//
|
||||
|
|
@ -383,7 +364,8 @@ func (u *updater) restartSystemdUnit(ctx context.Context, ctr *libpod.Container,
|
|||
func (u *updater) assembleTasks(ctx context.Context) []error {
|
||||
// Assemble a map `image ID -> *libimage.Image` that we can consult
|
||||
// later on for lookups.
|
||||
if err := u.assembleImageMap(ctx); err != nil {
|
||||
imageMap, err := u.assembleImageMap(ctx)
|
||||
if err != nil {
|
||||
return []error{err}
|
||||
}
|
||||
|
||||
|
|
@ -432,7 +414,7 @@ func (u *updater) assembleTasks(ctx context.Context) []error {
|
|||
}
|
||||
|
||||
id, _ := ctr.Image()
|
||||
image, exists := u.idToImage[id]
|
||||
image, exists := imageMap[id]
|
||||
if !exists {
|
||||
err := fmt.Errorf("internal error: no image found for ID %s", id)
|
||||
errors = append(errors, err)
|
||||
|
|
@ -455,6 +437,23 @@ func (u *updater) assembleTasks(ctx context.Context) []error {
|
|||
return errors
|
||||
}
|
||||
|
||||
// assembleImageMap creates a map from `image ID -> *libimage.Image` for image lookups.
|
||||
func (u *updater) assembleImageMap(ctx context.Context) (map[string]*libimage.Image, error) {
|
||||
listOptions := &libimage.ListImagesOptions{
|
||||
Filters: []string{"readonly=false"},
|
||||
}
|
||||
imagesSlice, err := u.runtime.LibimageRuntime().ListImages(ctx, nil, listOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
imageMap := make(map[string]*libimage.Image)
|
||||
for i := range imagesSlice {
|
||||
imageMap[imagesSlice[i].ID()] = imagesSlice[i]
|
||||
}
|
||||
|
||||
return imageMap, nil
|
||||
}
|
||||
|
||||
// newerRemoteImageAvailable returns true if there corresponding image on the remote
|
||||
// registry is newer.
|
||||
func newerRemoteImageAvailable(ctx context.Context, img *libimage.Image, origName string, authfile string) (bool, error) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue