Я пытаюсь использовать Ansible для создания, присоединения, форматирования и подключения тома EBS к экземпляру EC2. Когда я создаю и присоединяю том, имя не совпадает в экземпляре. Как я могу получить правильное имя?
Я попытался изменить имя_устройства, чтобы оно соответствовало тому, что AWS устанавливает для него, но это дает мне «... не правильное имя устройства EBS». ошибка.
Вот что я пытаюсь:
---
- name: Get instance ID
ec2_metadata_facts:
- debug:
msg: "Adding EBS to {{ ansible_ec2_instance_id }}"
- name: Create EBS
delegate_to: 127.0.0.1
run_once: true
ec2_vol:
instance: "{{ ansible_ec2_instance_id }}"
volume_size: '5'
region: 'us-east-1'
delete_on_termination: yes
name: 'wbt_opt_drive'
register: ec2_vol
- name: Printing the volume information
debug: var=ec2_vol
Информация о томе возвращает это:
"device": "/dev/sdf"
Если я пытаюсь добавить файловую систему, / dev / sdf не существует.
Проверка экземпляра это то, что я запускаю lsblk
nvme1n1 259:1 0 8G 0 disk
└─nvme1n1p1 259:2 0 8G 0 part /
nvme2n1 259:3 0 5G 0 disk
Если я изменю свою задачу на использование имени_устройства, по умолчанию для AWS будет:
---
- name: Get instance ID
ec2_metadata_facts:
- debug:
msg: "Adding EBS to {{ ansible_ec2_instance_id }}"
- name: Create EBS
delegate_to: 127.0.0.1
run_once: true
ec2_vol:
instance: "{{ ansible_ec2_instance_id }}"
volume_size: '5'
region: 'us-east-1'
delete_on_termination: yes
name: 'wbt_opt_drive'
device_name: '/dev/nvme2n1'
register: ec2_vol
- name: Printing the volume information
debug: var=ec2_vol
Я получаю эту ошибку:
/dev/nvme2n1 is not a valid EBS device name.
Из документов я понимаю, что делает AWS (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html / https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html)
Но я хочу сделать это динамическим для всех типов экземпляров, которые я мог бы создать Есть ли способ получить реальную конечную точку из возвращаемой точки монтирования устройства или из идентификатора?