Packer: خطأ ebs المعلمة مفقود عند استخدام ami_block_device_mappings مع volume_type

تم إنشاؤها على ١١ أغسطس ٢٠١٦  ·  3تعليقات  ·  مصدر: hashicorp/packer

تحية طيبة!

عند استخدام 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...

شكرا جزيلا

buildeamazon question

التعليق الأكثر فائدة

إزالة virtual_name يزيل مشكلتي. شكر!

ال 3 كومينتر

PartyImp أعتقد يأتي الخطأ من استخدام virtual_name التكوين في launch_block_device_mappings كتلة. نظرًا لأن تكوين الاسم الظاهري يشير فقط إلى التخزين المؤقت في Amazon ، فإن تعيين تكوين virtual_name إلى شيء ليس ephemeralN سيتسبب في عدم قيام المنشئ بالتقاط تكوين التخزين على أنه "مؤقت" وأيضًا تخطي تكوين حجم EBS بالكامل.

ومن ثم ، تحصل على خطأ مفاده أن تكوينات ebs لم يتم تمريرها.

إزالة virtual_name يزيل مشكلتي. شكر!

كان هذا مفيدًا جدًا. شكرا لك. اعتبرت "سريع الزوال 1" ، "سريع الزوال 2" اقتراحات وليست اصطلاحات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات