Packer: Error ebs de MissingParameter al usar ami_block_device_mappings con volume_type

Creado en 11 ago. 2016  ·  3Comentarios  ·  Fuente: hashicorp/packer

¡Saludos!

Cuando uso ami_block_device_mappings o launch_block_device_mappings y un volume_type de gp2 / io1, obtengo un error MissingParameter ... ebs durante la compilación del empaquetador. Omitir volume_type permite crear la AMI, pero queremos usar tipos de volumen específicos.

El error:

$ 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.

Creo que la intención con esta plantilla es crear una instancia con almacenamiento de 24 gb / on gp, pero lanzarla como io2: 250iops más adelante. No creo que ami_block_device_mappings tenga ningún efecto en este escenario.

Se definieron más dispositivos de bloque, pero durante el transcurso de mi resolución de problemas descubrí que podía reproducir el problema con un solo dispositivo de bloque.

¿Se están utilizando incorrectamente las secciones ami_block_device_mappings y launch_block_device_mappings ?

Desafortunadamente, tengo que informar que packer_0.8.6 y 0.9.0 no se comportan de la misma manera; estas versiones construyen con éxito el 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...

Muchas gracias

buildeamazon question

Comentario más útil

eliminar virtual_name elimina mi problema. ¡Gracias!

Todos 3 comentarios

@PartyImp Creo que el error proviene de usar la configuración virtual_name en el bloque launch_block_device_mappings . Como la configuración del nombre virtual se refiere solo al almacenamiento efímero en Amazon, establecer la configuración virtual_name en algo que no sea ephemeralN hará que el constructor no elija la configuración de almacenamiento como "efímera" y también omita toda la configuración del volumen de EBS.

Por lo tanto, obtiene un error que indica que no se pasan las configuraciones de ebs.

eliminar virtual_name elimina mi problema. ¡Gracias!

Esto fue muy útil. Gracias. Tomé "efímero1", "efímero2" como sugerencias en lugar de convenciones.

¿Fue útil esta página
0 / 5 - 0 calificaciones