Как соль может пометить объемы ec2 ebs? Я пробовал все, что мог, но ни один из них не работал:
Сначала отметьте тома в профиле:
block_device_mappings:
- DeviceName: /dev/sdb
Ebs.VolumeSize: 10
Ebs.VolumeType: standard
tags: { 'env': 'test' }
Во-вторых, объемы тегов в солевом состоянии:
/dev/sdb:
boto_ec2.volumes_tagged:
- tag_maps:
- filters:
volume_ids: [ vol-0efe9141c40301871 ]
#'attachment.device': /dev/xvdb
- tags:
env: test
Я получил ошибку при запуске состояния:
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.root_5c1176_salt/py2/salt/state.py", line 1745, in call
**cdata['kwargs'])
File "/var/tmp/.root_5c1176_salt/py2/salt/loader.py", line 1702, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.root_5c1176_salt/py2/salt/states/boto_ec2.py", line 1209, in volumes_tagged
r = __salt__['boto_ec2.set_volumes_tags'](**args)
File "/var/tmp/.root_5c1176_salt/py2/salt/modules/boto_ec2.py", line 1647, in set_volumes_tags
raise SaltInvocationError('Tag filters must be a dictionary: got {0}'.format(filters))
SaltInvocationError: Tag filters must be a dictionary: got None`
Наконец, посмотрели модуль boto_ec2.set_volumes_tags
, а вот синтаксис и как поставить фильтры и теги я так и не узнал.
Кто-нибудь может показать мне, как помечать тома солью. Спасибо, Роджер
Задача решена. Просто опубликуйте решение здесь, если у кого-то возникнет аналогичный вопрос:
Он использует boto_ec2.volumes_tagged
состояние очень похоже на мое первоначальное состояние. Однако формат немного необычный, чем у обычных состояний соли:
/dev/sdb:
boto_ec2.volumes_tagged:
# ec2_profile is defined in pillar
- profile: ec2_profile
- tag_maps:
- filters:
attachment.device: /dev/sdb
tags:
env: 'test'