2016-07-28 2 views
1

Ich versuche, eine AWS-Instanz von ansible zu ändern.Wie benutzt man den Befehl ec2-modify-instance-attribute von Ansible?

Mein Playbook wurde entwickelt, um den ixgbevf-Treiber auf einer laufenden AWS-Instanz zu kompilieren und zu installieren, dann wird er heruntergefahren, so dass ein Befehl ec2-modify-instance-attribute ausgeführt werden kann.

Alles bis zum letzten Teil der Gleichung funktioniert.

Meine letzte Rolle Strophe sieht wie folgt aus:

- name: Turn on enhanced networking on on the AMI host 
    local_action: ec2-modify-instance-attribute the_instance_id={{ my_instance_id }} --sriov simple --region us-west-2 
    with_items: ec2_info.instances 
    ignore_errors: yes 

Wenn die Rolle läuft ich folgende errror erhalten:

fatal: [10.11.31.48 -> 127.0.0.1] => module ec2-modify-instance-attribute not found in configured module paths 
FATAL: all hosts have already failed -- aborting 

Gibt es eigentlich eine Möglichkeit, die EC2-Modifikations-instanz zu verwenden Attribut Befehl von innerhalb Ansible?

Antwort

1

Versuchen Sie, diese CLI Abhilfe mit

local_action: 
    module: > 
    shell 
     aws ec2 modify-instance-attribute --instance-id "{{ ec2_id }}" 
     --groups "{{ec2_security_group_ids}}" "{{newgroup.group_id}}" 
    when: newgroup.group_id not in ec2_security_group_ids 
0

ich mit der folgenden endete die bearbeitetem

- name: "Stop the AWS instance" 
    local_action: 
    module: ec2 
    state: stopped 
    aws_access_key: "{{ aws.ec2.access_key_id }}" 
    aws_secret_key: "{{ aws.ec2.secret_access_key }}" 
    instance_ids: "{{ ansible_ec2_instance_id }}" 
    region: "{{ ansible_ec2_placement_region }}" 
    wait: True