我正在与Packer合作,并试图查看如何通过编写JSON文件来创建OpenStack Machine Images。我已经在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"
}]
}
在运行"包装器构建" Consond时,我会收到以下错误
OpenStack:错误加载扩展名:GET http://Controller:8774/V2.1/079923BD0EA04700B1B6D7E047139B45/EXTENSIONS:DIAL TCP:DIAL TCP:8.8.8.8.8.8:53:没有这样的主机。 构建完成但没有创建工件。
所以任何人都可以查看错误并帮助我。
您的OpenStack系统很可能被错误配置或您的工作站/笔记本电脑。
Packer正在尝试查询其支持的扩展名的开放式扇区,并以某种方式询问公共Google DNS(8.8.8.8.8:53)如何解决controller
,这显然不是正确的(公共)DNS名称。
检查openstack extensions list -f yaml
的响应并检查您的DNS设置。如果找不到任何问题,请在OpenStack系统的支持下引起问题。
用于使用java(openjdk)创建Ubuntu Image的代码,使用Packer ..
{
"构建者":[{
" type":" OpenStack",
" Indentity_endpoint":" http://192.168.8.8.25:5000/v3/",
" tenant_name":" admin",
" domain_name":"默认",
"用户名":" admin",
"密码":"奇迹",
"区域":" regionone",
" ssh_username":" ubuntu",
" image_name":" Ubuntu 14.04 Java Tomcat Server Packer",
" source_image":" 913EF163-E2AA-4161-85D4-16A9924ABFA1",
"味道":" m1.small",
"网络":[" 6E4C7854-A817-4022-B5C5-20D72373F469"],
"不安全":" true"
}],
"供应者":[{{ " type":" shell", "排队": [ "睡眠30",
" sudo apt-get更新",
" sudo apt-get install -y openjdk-7-jre"," sudo apt -get安装-y tomcat7" 这是给出的 }]
}
这是JSON代码,它对我使用Packer为OpenStack创建CentOS图像。
{
"构建者":[{
" type":" OpenStack",
" Indentity_endpoint":" http://192.168.8.8.25:5000/v3/",
" tenant_name":" admin",
" domain_name":"默认",
"用户名":" admin",
"密码":"奇迹",
"区域":" regionone",
" ssh_username":" centos",
" image_name":" Centos 7服务器云",
" source_image":" 8cbff151-051-05bc-4ae5-babc-6be5acb7fee4",
"味道":" m1.medium",
"网络":[" 6E4C7854-A817-4022-B5C5-20D72373F469"],
"不安全":" true"
}]
}