Greengrass does not remove old images after updating the deployment more than 3 times

0

Hi,

We are using nucleus version 2.12.1. Documents say greengrass should remove images from older deployments but it is not removing even after we make 5-6 deployments. Here is our sample component recipe:

{
  "RecipeFormatVersion": "2020-01-25",
  "ComponentName": "App1",
  "ComponentVersion": "5.0.0",
  "ComponentType": "aws.greengrass.generic",
  "ComponentDescription": "A component that uses docker run and greengrass to do a task on edges",
  "ComponentPublisher": "Some Publisher",
  "ComponentConfiguration": {
    "DefaultConfiguration": {
      "preDeploymentScript": " ",
      "deploymentExtraArguments": "",
      "postDeploymentScript": " ",
      "filesToUpload": " "
    }
  },
  "ComponentDependencies": {
    "aws.greengrass.DockerApplicationManager": {
      "VersionRequirement": ">=2.0.0 <2.1.0",
      "DependencyType": "HARD"
    },
    "aws.greengrass.TokenExchangeService": {
      "VersionRequirement": ">=2.0.0 <2.1.0",
      "DependencyType": "HARD"
    }
  },
  "Manifests": [
    {
      "Platform": {
        "os": "all",
        "architecture": "all"
      },
      "Lifecycle": {
        "Install": {
          "script": "docker pull app1:1.0",
          "RequiresPrivilege": true,
          "Timeout": 3600
        },
        "Run": {
          "script": "docker run -e AWS_CONTAINER_AUTHORIZATION_TOKEN -e AWS_CONTAINER_CREDENTIALS_FULL_URI  --name app1 --network host  app1:1.0",
          "RequiresPrivilege": true
        },
        "Shutdown": {
          "script": "docker stop app1 && docker rm app1",
          "RequiresPrivilege": true
        }
      },
      "Artifacts": []
    }
  ],
  "Lifecycle": {}
}
質問済み 1ヶ月前125ビュー
1回答
1

Hi there,

Looks like you are not using Greengrass to download the image because your recipe's "artifacts" section is completely empty. For Greengrass to manage the images, you must follow the documentation here: https://docs.aws.amazon.com/greengrass/v2/developerguide/run-docker-container.html#run-docker-container-public-ecr-dockerhub.

Notice the artifacts contains the images in the form of "docker:<image name>:<tag>".

Cheers,

Michael

AWS
エキスパート
回答済み 1ヶ月前
profile pictureAWS
エキスパート
Greg_B
レビュー済み 1ヶ月前
  • Hi Michael,

    Thanks for the answer. We will try it ASAP and let you know about the result.

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ