2016-08-10 3 views
4

ich die Dokumentation bin nach einer Instanz http://docs.ansible.com/ansible/guide_gce.htmlerstellen GCE-Instanz ansible verwenden, Berechtigungen erteilt

jedoch mit ansible für das Erstellen, wenn ich das laufen erhalte ich:

Required 'compute.zones.list' permission for 'projects/quick-line-137923' 

Ich weiß nicht, wo ich diese Berechtigungen für ein Dienstkonto konfigurieren soll, da die Dokumentation darauf hinweist, dass Sie nur Berechtigungen für ein Dienstkonto für eine bereits erstellte Instanz konfigurieren können: "Sie können Bereiche nur beim Erstellen eines neuen Bereichs festlegen Instanz "

Wenn ich versuche, IAM-Berechtigungen für dieses Dienstkonto (admin) zu erteilen, ist es nicht in der Liste und wenn ich das Dienstkonto in 'Dienstkonten' auswähle, werde ich aufgefordert, ein Mitglied für domänenweite Berechtigungen hinzuzufügen. Nirgendwo Berechtigungen diesem Dienstkonto für die compute.zones.list zuweisen

Hilfe?

Mein Textbuch sieht aus wie so

- name: Create instance(s) 
    hosts: localhost 
    gather_facts: no 
    connection: local 

    vars: 
    machine_type: n1-standard-1 # default 
    image: ubuntu-1404-lts 
    service_account_email: [email protected] 
    credentials_file: /Users/Mike/Downloads/project.json 
    project_id: quick-line-137923 

    tasks: 
    - name: Launch instances 
     gce: 
      instance_names: dev 
      machine_type: "{{ machine_type }}" 
      image: "{{ image }}" 
      service_account_email: "{{ service_account_email }}" 
      credentials_file: "{{ credentials_file }}" 
      project_id: "{{ project_id }}" 
      tags: webserver 
     register: gce 

    - name: Wait for SSH to come up 
     wait_for: host={{ item.public_ip }} port=22 delay=10 timeout=60 
     with_items: gce.instance_data 

    - name: Add host to groupname 
     add_host: hostname={{ item.public_ip }} groupname=new_instances 
     with_items: gce.instance_data 

    - name: Manage new instances 
     vars_files: 
     - "vars/webserver.yml" 
     hosts: new_instances 
     connection: ssh 
     sudo: True 
     roles: 
     - geerlingguy.apache 
     - geerlingguy.php 
     - geerlingguy.drush 
     - geerlingguy.mysql 

Antwort

3

Fügen Sie die Compute Instanz Admin und Service Account Schauspieler Rollen das Dienstkonto.

Sie müssen auch das Dienstkonto aktivieren. Das gcloud Werkzeug kann verwendet werden: https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account.

+0

Entschuldigung für die Verzögerung bei der Annahme dieser, ich habe es tatsächlich herausgefunden und vergessen, es zu meiner Frage hinzuzufügen, aber Ihre Antwort ist, was ich getan habe. Vielen Dank! –

Verwandte Themen