我正在使用Packer并试图通过编写JSON文件来了解如何创建OpenStack机器映像。我在其中一个OpenStack ubuntu实例上安装了packer,并创建了一个JSON文件,如下所示,用于创建自定义图像。
{
"builders": [{
"type": "openstack",
"identity_endpoint": "http://192.168.8.25:5000/v3/",
"tenant_name": "admin",
"domain_name": "Default",
"username": "admin",
"password": "adminpass",
"region": "RegionOne",
"ssh_username": "root",
"image_name": "Test image",
"source_image": "f4dcbbde-b702-4f3c-b5f1-0230ebdf0ed4",
"flavor": "m1.medium",
"insecure": "true"
}]
}
在运行“packer build”时,我收到以下错误
openstack:加载扩展时出错:获取http://controller:8774/v2.1/079923bd0ea04700b1b6d7e047139b45/extensions:在8.8.8.8:53上拨打tcp:lookup controller:没有这样的主机。 构建完成但没有创建工件。
任何人都可以,请查看错误并帮我解决..
答案 0 :(得分:1)
很可能您的OpenStack系统配置错误或您的工作站/笔记本电脑。
Packer正在尝试向OpenStack查询它支持的扩展程序,并以某种方式询问公共Google DNS(8.8.8.8:53)如何解析显然不是正确(公共)DNS名称的controller
。
检查来自openstack extensions list -f yaml
的回复并检查您的DNS设置。如果您找不到任何问题,请提出OpenStack系统支持的问题。
答案 1 :(得分:0)
以下是使用Packer为OpenStack创建centos图像的JSON代码。
{
"建设者":[{
"输入":" openstack",
" identity_endpoint":" http://192.168.8.25:5000/v3/",
" tenant_name":" admin",
" domain_name":"默认",
"用户名":"管理员",
"密码":" MiracleIT",
" region":" RegionOne",
" ssh_username":" centos",
" image_name":" CentOS 7服务器Cloud-Init",
" source_image":" 8cbff151-05bc-4ae5-babc-6be5acb7fee4",
"味道":" m1.medium",
" networks":[" 6e4c7854-a817-4022-b5c5-20d72373f469"],
"不安全":" true"
}]
}
答案 2 :(得分:0)
使用JAVA(OpenJDK)创建ubuntu映像的代码,Tomcat使用打包器..
{
"建设者":[{
"输入":" openstack",
" identity_endpoint":" http://192.168.8.25:5000/v3/",
" tenant_name":" admin",
" domain_name":"默认",
"用户名":"管理员",
"密码":" MiracleIT",
" region":" RegionOne",
" ssh_username":" ubuntu",
" image_name":" UBUNTU 14.04 JAVA TOMCAT Server PACKER",
" source_image":" 913ef163-e2aa-4161-85d4-16a9924abfa1",
"味道":" m1.small",
" networks":[" 6e4c7854-a817-4022-b5c5-20d72373f469"],
"不安全":" true"
}],
"供应商":[{ "输入":" shell", "内联":[ "睡30",
" sudo apt-get update",
" sudo apt-get install -y openjdk-7-jre", " sudo apt-get install -y tomcat7" ] }]
}