Packer的Apt-get随机失败

如何解决Packer的Apt-get随机失败

我正在使用Packer用文件ami.json构建一个ami,该文件运行从默认Ubuntu Server 20.04 LTS映像构建的两个预配器。问题是Packer在apt-get install ansible上随机生成失败,错误为E: Unable to locate package ansible。尽管更改为零,但相同的ami.json文件还是会间歇性地生成或不生成。

似乎与5年前的这个问题有关,但有一个解决方法,但不是真正的答案:Packer/Amazon EBS/Ubuntu - Inconsistent PPAs

{
"variables" : {
    "region" : "us-west-2"
},"builders" : [
    {
        "type" : "amazon-ebs","profile" : "default","region" : "{{user `region`}}","instance_type" : "t2.micro","source_ami" : "ami-06e54d05255faf8f6","ssh_username" : "ubuntu","ami_name" : "packer_build_test","ami_description" : "test"
    }
],"provisioners" : [
  {   "type" : "shell","inline" : [
            "sudo add-apt-repository universe","sudo apt-get update","sudo apt-get install -y ansible"
        ]
    },{
        "type" : "ansible-local","playbook_file": "./server.yml"
    }
]
}

我只运行了两次,构建失败,然后成功运行了一个

失败构建的输出:

    $ ~/CICDServerSetup$ packer build ami.json
amazon-ebs: output will be in this color.

==> amazon-ebs: Prevalidating any provided VPC information
==> amazon-ebs: Prevalidating AMI Name: packer_build_test_1
    amazon-ebs: Found Image ID: ami-06e54d05255faf8f6
==> amazon-ebs: Creating temporary keypair: packer_5f7a86b8-01b9-aa26-c418-bf95da74e2bd
==> amazon-ebs: Creating temporary security group for this instance: packer_5f7a86ba-5d3b-8196-770f-c2a59e3a9337
==> amazon-ebs: Authorizing access to port 22 from [0.0.0.0/0] in the temporary security groups...
==> amazon-ebs: Launching a source AWS instance...
==> amazon-ebs: Adding tags to source instance
    amazon-ebs: Adding tag: "Name": "Packer Builder"
    amazon-ebs: Instance ID: i-0a0f119d8f4160c43
==> amazon-ebs: Waiting for instance (i-0a0f119d8f4160c43) to become ready...
==> amazon-ebs: Using ssh communicator to connect: 54.190.40.167
==> amazon-ebs: Waiting for SSH to become available...
==> amazon-ebs: Connected to SSH!
==> amazon-ebs: Provisioning with shell script: /tmp/packer-shell305064109
    amazon-ebs: 'universe' distribution component is already enabled for all sources.
    amazon-ebs: Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
    amazon-ebs: Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
    amazon-ebs: Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
    amazon-ebs: Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [294 kB]
    amazon-ebs: Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
    amazon-ebs: Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB]
    amazon-ebs: Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [69.3 kB]
    amazon-ebs: Get:8 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [4696 B]
    amazon-ebs: Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [59.2 kB]
    amazon-ebs: Get:10 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [9856 B]
    amazon-ebs: Get:11 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [92.3 kB]
    amazon-ebs: Get:12 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [35.0 kB]
    amazon-ebs: Get:13 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [2956 B]
    amazon-ebs: Get:14 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1252 B]
    amazon-ebs: Get:15 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [540 B]
    amazon-ebs: Get:16 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [116 B]
    amazon-ebs: Get:17 http://archive.ubuntu.com/ubuntu focal/universe Translation-en [5124 kB]
    amazon-ebs: Get:18 http://archive.ubuntu.com/ubuntu focal/universe amd64 c-n-f Metadata [265 kB]
    amazon-ebs: Get:19 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [144 kB]
    amazon-ebs: Get:20 http://archive.ubuntu.com/ubuntu focal/multiverse Translation-en [104 kB]
    amazon-ebs: Get:21 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 c-n-f Metadata [9136 B]
    amazon-ebs: Get:22 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [555 kB]
    amazon-ebs: Get:23 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [143 kB]
    amazon-ebs: Get:24 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [9924 B]
    amazon-ebs: Get:25 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [67.1 kB]
    amazon-ebs: Get:26 http://archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [10.8 kB]
    amazon-ebs: Get:27 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [352 B]
    amazon-ebs: Get:28 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [243 kB]
    amazon-ebs: Get:29 http://archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [93.4 kB]
    amazon-ebs: Get:30 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [6188 B]
    amazon-ebs: Get:31 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [15.1 kB]
    amazon-ebs: Get:32 http://archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [3892 B]
    amazon-ebs: Get:33 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [480 B]
    amazon-ebs: Get:34 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 c-n-f Metadata [112 B]
    amazon-ebs: Get:35 http://archive.ubuntu.com/ubuntu focal-backports/restricted amd64 c-n-f Metadata [116 B]
    amazon-ebs: Get:36 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [4012 B]
    amazon-ebs: Get:37 http://archive.ubuntu.com/ubuntu focal-backports/universe Translation-en [1448 B]
    amazon-ebs: Get:38 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [224 B]
    amazon-ebs: Get:39 http://archive.ubuntu.com/ubuntu focal-backports/multiverse amd64 c-n-f Metadata [116 B]
    amazon-ebs: Fetched 16.3 MB in 40s (409 kB/s)
    amazon-ebs: Reading package lists...
    amazon-ebs: Reading package lists...
    amazon-ebs: Building dependency tree...
    amazon-ebs: Reading state information...
==> amazon-ebs: E: Unable to locate package ansible
==> amazon-ebs: Provisioning step had errors: Running the cleanup provisioner,if present...
==> amazon-ebs: Terminating the source AWS instance...
==> amazon-ebs: Cleaning up any extra volumes...
==> amazon-ebs: No volumes to clean up,skipping
==> amazon-ebs: Deleting temporary security group...
==> amazon-ebs: Deleting temporary keypair...
Build 'amazon-ebs' errored after 2 minutes 2 seconds: Script exited with non-zero exit status: 100.Allowed exit codes are: [0]

==> Wait completed after 2 minutes 2 seconds

==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: Script exited with non-zero exit status: 100.Allowed exit codes are: [0]

==> Builds finished but no artifacts were created.

成功构建的输出:

    $ ~/CICDServerSetup$ packer build ami.json
amazon-ebs: output will be in this color.

==> amazon-ebs: Prevalidating any provided VPC information
==> amazon-ebs: Prevalidating AMI Name: packer_build_test_2
    amazon-ebs: Found Image ID: ami-06e54d05255faf8f6
==> amazon-ebs: Creating temporary keypair: packer_5f7a8511-402e-5090-f078-da4b8716230c
==> amazon-ebs: Creating temporary security group for this instance: packer_5f7a8513-ab78-3566-d2cc-6528dbf60f85
==> amazon-ebs: Authorizing access to port 22 from [0.0.0.0/0] in the temporary security groups...
==> amazon-ebs: Launching a source AWS instance...
==> amazon-ebs: Adding tags to source instance
    amazon-ebs: Adding tag: "Name": "Packer Builder"
    amazon-ebs: Instance ID: i-00074f05debcaa1d3
==> amazon-ebs: Waiting for instance (i-00074f05debcaa1d3) to become ready...
==> amazon-ebs: Using ssh communicator to connect: 35.167.183.26
==> amazon-ebs: Waiting for SSH to become available...
==> amazon-ebs: Connected to SSH!
==> amazon-ebs: Provisioning with shell script: /tmp/packer-shell578192723
    amazon-ebs: 'universe' distribution component is already enabled for all sources.
    amazon-ebs: Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
    amazon-ebs: Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
    amazon-ebs: Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
    amazon-ebs: Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [294 kB]
    amazon-ebs: Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
    amazon-ebs: Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [8628 kB]
    amazon-ebs: Get:7 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [69.3 kB]
    amazon-ebs: Get:8 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [4696 B]
    amazon-ebs: Get:9 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [59.2 kB]
    amazon-ebs: Get:10 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [9856 B]
    amazon-ebs: Get:11 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [92.3 kB]
    amazon-ebs: Get:12 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [35.0 kB]
    amazon-ebs: Get:13 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [2956 B]
    amazon-ebs: Get:14 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1252 B]
    amazon-ebs: Get:15 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [540 B]
    amazon-ebs: Get:16 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [116 B]
amazon-ebs: Get:17 http://archive.ubuntu.com/ubuntu focal/universe Translation-en [5124 kB]
amazon-ebs: Get:18 http://archive.ubuntu.com/ubuntu focal/universe amd64 c-n-f Metadata [265 kB]
amazon-ebs: Get:19 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [144 kB]
amazon-ebs: Get:20 http://archive.ubuntu.com/ubuntu focal/multiverse Translation-en [104 kB]
amazon-ebs: Get:21 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 c-n-f Metadata [9136 B]
amazon-ebs: Get:22 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [555 kB]
amazon-ebs: Get:23 http://archive.ubuntu.com/ubuntu focal-updates/main Translation-en [143 kB]
amazon-ebs: Get:24 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [9924 B]
amazon-ebs: Get:25 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [67.1 kB]
amazon-ebs: Get:26 http://archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [10.8 kB]
amazon-ebs: Get:27 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [352 B]
amazon-ebs: Get:28 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [243 kB]
amazon-ebs: Get:29 http://archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [93.4 kB]
amazon-ebs: Get:30 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [6188 B]
amazon-ebs: Get:31 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [15.1 kB]
amazon-ebs: Get:32 http://archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [3892 B]
amazon-ebs: Get:33 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [480 B]
amazon-ebs: Get:34 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 c-n-f Metadata [112 B]
amazon-ebs: Get:35 http://archive.ubuntu.com/ubuntu focal-backports/restricted amd64 c-n-f Metadata [116 B]
amazon-ebs: Get:36 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [4012 B]
amazon-ebs: Get:37 http://archive.ubuntu.com/ubuntu focal-backports/universe Translation-en [1448 B]
amazon-ebs: Get:38 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [224 B]
amazon-ebs: Get:39 http://archive.ubuntu.com/ubuntu focal-backports/multiverse amd64 c-n-f Metadata [116 B]
amazon-ebs: Fetched 16.3 MB in 7s (2179 kB/s)
amazon-ebs: Reading package lists...
amazon-ebs: Reading package lists...
amazon-ebs: Building dependency tree...
amazon-ebs: Reading state information...
amazon-ebs: The following additional packages will be installed:
amazon-ebs:   ieee-data python3-argcomplete python3-crypto python3-dnspython
amazon-ebs:   python3-jmespath python3-kerberos python3-libcloud python3-lockfile
amazon-ebs:   python3-netaddr python3-ntlm-auth python3-requests-kerberos
amazon-ebs:   python3-requests-ntlm python3-selinux python3-winrm python3-xmltodict
amazon-ebs: Suggested packages:
amazon-ebs:   cowsay sshpass python-lockfile-doc ipython3 python-netaddr-docs
amazon-ebs: The following NEW packages will be installed:
amazon-ebs:   ansible ieee-data python3-argcomplete python3-crypto python3-dnspython
amazon-ebs:   python3-jmespath python3-kerberos python3-libcloud python3-lockfile
amazon-ebs:   python3-netaddr python3-ntlm-auth python3-requests-kerberos
amazon-ebs:   python3-requests-ntlm python3-selinux python3-winrm python3-xmltodict
amazon-ebs: 0 upgraded,16 newly installed,0 to remove and 48 not upgraded.
amazon-ebs: Need to get 9643 kB of archives.
amazon-ebs: After this operation,90.2 MB of additional disk space will be used.
amazon-ebs: Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-crypto amd64 2.6.1-13ubuntu2 [237 kB]

然后继续成功执行并构建ami

解决方法

尝试将10分钟的睡眠时间添加为第一个配置者。 Ubuntu AMI具有自动更新功能。因此,无论何时启动实例,它都会自动更新。

,

Hasicorp/Packer docs 专门解决了这个问题,修复方法是添加一个等待启动完成的配置器。

{
  "type": "shell","inline": [
    "while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'Waiting for cloud-init...'; sleep 1; done"
  ]
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-