تحية طيبة!
عند استخدام ami_block_device_mappings
أو launch_block_device_mappings
و volume_type من gp2 / io1 أحصل على خطأ MissingParameter ... ebs
أثناء إنشاء الحزم. يسمح حذف نوع volume_type ببناء AMI ، لكننا نريد استخدام أنواع وحدات تخزين محددة.
الخطأ:
$ packer build example_gold.json
amazon-ebs output will be in this color.
==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
==> amazon-ebs: Error launching source instance: MissingParameter: The request must contain the parameter ebs
==> amazon-ebs: status code: 400, request id:
==> amazon-ebs: No AMIs to cleanup
==> amazon-ebs: Deleting temporary security group...
Build 'amazon-ebs' errored: Error launching source instance: MissingParameter: The request must contain the parameter ebs
status code: 400, request id:
==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: Error launching source instance: MissingParameter: The request must contain the parameter ebs
status code: 400, request id:
==> Builds finished but no artifacts were created.
أعتقد أن القصد من هذا النموذج هو إنشاء مثيل بسعة تخزين 24 جيجابايت / على gp ، ولكن سيتم تشغيله بعد ذلك كـ io2: 250iops لاحقًا. لا أعتقد أن ami_block_device_mappings له أي تأثير في هذا السيناريو.
تم تحديد المزيد من أجهزة الحظر ، ولكن أثناء عملية تحرّي الخلل وإصلاحه ، اكتشفت أنه يمكنني إعادة إنتاج المشكلة باستخدام جهاز كتلة واحد فقط.
هل يتم استخدام الأقسام ami_block_device_mappings
و launch_block_device_mappings
بشكل غير صحيح؟
لسوء الحظ ، لا بد لي من الإبلاغ عن أن packer_0.8.6 و 0.9.0 لا يتصرفان بنفس الطريقة ؛ هذه الإصدارات في بناء ami بنجاح.
$ ~/Downloads/packer_0.8.6_darwin_amd64/packer build example_gold.json
amazon-ebs output will be in this color.
==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
amazon-ebs: Instance ID: i-666
==> amazon-ebs: Waiting for instance (i-666) to become ready...
شكرا جزيلا
PartyImp أعتقد يأتي الخطأ من استخدام virtual_name
التكوين في launch_block_device_mappings
كتلة. نظرًا لأن تكوين الاسم الظاهري يشير فقط إلى التخزين المؤقت في Amazon ، فإن تعيين تكوين virtual_name
إلى شيء ليس ephemeralN
سيتسبب في عدم قيام المنشئ بالتقاط تكوين التخزين على أنه "مؤقت" وأيضًا تخطي تكوين حجم EBS بالكامل.
ومن ثم ، تحصل على خطأ مفاده أن تكوينات ebs لم يتم تمريرها.
إزالة virtual_name
يزيل مشكلتي. شكر!
كان هذا مفيدًا جدًا. شكرا لك. اعتبرت "سريع الزوال 1" ، "سريع الزوال 2" اقتراحات وليست اصطلاحات.
التعليق الأكثر فائدة
إزالة
virtual_name
يزيل مشكلتي. شكر!