问题来标记卷盐,无论是国家或模块?

盐如何标记ec2 ebs卷? 我尝试了所有我能想到的方式,但是没有一个能够工作:

首先,在configuration文件中标记卷:

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 ,但我只是无法find语法,以及如何把filter和标签。

请任何人都可以告诉我如何用盐标记卷。 谢谢,罗杰

问题解决了。 只要在这里发布解决scheme,以防有人有类似的问题:

它使用与我原来的状态非常相似的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'