questions to tag volumes por salt, state ou module?

1

Como o sal pode marcar os volumes ec2 ebs? Eu tentei todas as maneiras diferentes que eu pude pensar, mas nenhuma delas trabalhando:

Primeiro, marque os volumes no perfil:

   block_device_mappings:
     - DeviceName: /dev/sdb
       Ebs.VolumeSize: 10
       Ebs.VolumeType: standard
       tags: { 'env': 'test' }

Em segundo lugar, os volumes de tags no estado de sal:

/dev/sdb:
  boto_ec2.volumes_tagged:
    - tag_maps:
      - filters:
        volume_ids: [ vol-0efe9141c40301871 ]
        #'attachment.device': /dev/xvdb
      - tags:
        env: test

Recebi o erro quando o estado foi executado:

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'

Finalmente, olhei o módulo boto_ec2.set_volumes_tags , mas não consegui descobrir a sintaxe e como colocar os filtros e tags.

Por favor, alguém poderia me mostrar como marcar volumes por sal. Obrigado, Roger

    
por Roger 27.02.2017 / 02:52

1 resposta

2

Problema resolvido. Basta postar a solução aqui, caso alguém tenha a mesma pergunta:

Ele está usando boto_ec2.volumes_tagged state bastante semelhante ao meu estado original. No entanto, o formato é um pouco incomum do que os estados normais de sal:

/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'
    
por 28.02.2017 / 06:46