
Tengo una imagen de AWS EC2 que convertí a VirtualBox y la ejecuto localmente. Funciona muy bien, excepto que no puedo entender cómo deshabilitar las llamadas a los servicios de metadatos de AWS en el arranque:
2015-09-25 19:29:29,932 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [50/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650efd0>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:20,987 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [101/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78652cb90>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:39,011 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [119/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650ee10>, 'Connection to 169.254.169.254 timed out. (connect timeout=17.0)')]
2015-09-25 19:30:40,015 - DataSourceEc2.py[CRITICAL]: Giving up on md from ['http://169.254.169.254/2009-04-04/meta-data/instance-id'] after 120 seconds
2015-09-25 19:31:43,509 - util.py[WARNING]: Failed to fetch password from virtual router 192.168.128.1
¿En qué parte de Cloud-init puedo desactivarlos? Estas llamadas eventualmente expiran, pero hacen que el inicio de la imagen de VirtualBox demore más de 2 minutos.
Respuesta1
Si realmente desea utilizar una imagen de nube con virtualbox, le sugeriría la .vmdk
que produce Canonical en lugar de la ami ec2. Ya está configurado para usar elfuente de datos sin nubey mi versión de virtualbox ya funciona con .vmdk de forma nativa (o se convierte de forma transparente, no estoy muy seguro).
Para obtener instrucciones detalladas,esta respuestatiene mas.
Respuesta2
Para una caja virtual única, la respuesta de @ching está bien. Sin embargo, si está creando una plantilla y necesita cloud-init para configurar las cosas, entonces la forma "correcta" de hacerlo es crear un archivo de anulación en formato /etc/cloud/cloud.cfg.d/
. Los archivos en /etc/cloud/cloud.cfg.d/
anularán los valores en /etc/cloud.cfg
.
Ejemplo:
Valor en/etc/cloud/cloud.cfg
datasource_list: [ Ec2, None ]
Archivo nuevo/etc/cloud/cloud.cfg.d/99_overrides.cfg
datasource_list: [ None ]
Puede agregar otros proveedores aquí en lugar de Ec2: VMware, ConfigDrive, etc., lo que puede ser muy útil para aprovisionar cosas como lo haría con los metadatos de EC2.
Ver:https://cloudinit.readthedocs.io/en/latest/topics/datasources.html
Respuesta3
systemctl disable cloud-config.service
systemctl disable cloud-final.service
systemctl disable cloud-init.service
systemctl disable cloud-init-local.service