2014-12-22 51 views
2

我試圖從Ansible中的gce模塊創建一個Ubuntu機器, 我能夠在沒有任何問題的情況下創建一個debian-7機器,將以下操作手冊(將圖像更改爲「debian- 7" :Ansible和GCE中的其他圖像

- name: Create Compute Engine instances 
    hosts: local 
    gather_facts: no 
    connection: local 
vars: 
    names: webserver-sr01 
    machine_type: n1-standard-1 
    image: ubuntu-1404 
    zone: us-central1-a 
    email: [email protected] 
    pid: fakeproj 
pem: ~/Certs/somthing.pem 
tasks: 
    - name: Launch instances 
    gce: 
     instance_names: "{{ names }}" 
     machine_type: "{{ machine_type }}" 
     image: "{{ image }}" 
     service_account_email: "{{ email }}" 
     pem_file: "{{ pem }}" 
     project_id: "{{ pid }}" 
     tags: docker-pubzilla-ws 
    register: gce 

回答

3

我真的遇到了同樣的問題大約3星期前,我猜你安裝了libcloud庫,該庫的發行版本,其中的問題是,這是因爲發行版本沒有按。對Ubuntu的支持還沒有像開發版本那樣:

https://github.com/apache/libcloud/blob/trunk/libcloud/compute/drivers/gce.py

在上面的文件中搜索「ubuntu」,您會看到檢查它的條件。如果您將它與本地的gce.py文件進行比較,那麼您將看到ubuntu不在那裏。

爲了解決這個問題,你需要安裝開發版本詳見這裏:

https://libcloud.apache.org/getting-started.html

這幾乎涉及到這樣做的:

pip install git+https://git-wip-us.apache.org/repos/asf/[email protected]#egg=apache-libcloud 

這可能是因爲PIP會檢測到您已經安裝了libcloud,因此您可能需要先刪除當前版本。

+0

感謝的人,我應該已經猜到了它的libcloud –

+0

沒問題,樂意幫忙! –

+0

也檢查圖像名稱。我遇到過使用ubuntu-1404的問題,因爲它是我在某處看到的別名,但如果您執行gcloud計算實例列表,則會看到別名爲ubuntu-14-04。 – darKoram

1

而不是提供圖像的名稱,提供完整的網址到圖像。您有:

image: ubuntu-1404 

將其更改爲:

image: https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-1404-trusty-v20150128 
+0

歡迎來到堆棧溢出!雖然這可能會回答這個問題,[這將是可取的](http://meta.stackoverflow.com/q/8259)在這裏包括更多的解釋。 –

+1

Nathan,這不是一個鏈接,而是一個'gce' Ansible任務的代碼行。完全有效的答案恕我直言。其實質是,你可以添加一個URL,而不僅僅是一個'image'的名字。 – udondan

1

可以使用在cloud sdk提到的圖像名稱,它們是:

  1. 的CentOS-6
  2. 的CentOS-7
  3. container-vm
  4. coreos穩定
  5. 的Debian -7-喘息
  6. backports中-的Debian -7-喘息
  7. 的Debian -8-傑西
  8. opensuse的-13
  9. RHEL-6
  10. RHEL-7
  11. SLES-11
  12. SLES-12
  13. 的ubuntu-1204-精確
  14. 的ubuntu-1404-可信任
  15. 的ubuntu-1410-烏托邦
  16. 的ubuntu-1504-生動
  17. Windows的服務器-2008-R2
  18. Windows的服務器-2012-R2