[ English | English (United Kingdom) | español | Indonesia | русский | Deutsch ]

Menggunakan OpenStack-Ansible dalam proyek Anda

Termasuk OpenStack-Ansible dalam proyek Anda

Termasuk repositori openstack-ansible dalam proyek lain dapat dilakukan dengan beberapa cara:

  • Git submodule menunjuk ke tag yang dirilis.

  • Sebuah skrip untuk secara otomatis melakukan checkout git dari OpenStack-Ansible.

Ketika memasukkan OpenStack-Ansible dalam proyek, pertimbangkan untuk menggunakan struktur direktori paralel seperti yang ditunjukkan pada bagian file ansible.cfg.

Juga perhatikan bahwa menyalin file ke direktori seperti env.d atau conf.d harus ditangani melalui semacam skrip dalam proyek ekstensi.

Termasuk OpenStack-Ansible dengan struktur Ansible Anda

Anda dapat membuat playbook, variabel, dan struktur peran Anda sendiri sambil tetap menyertakan peran dan pustaka yang dimungkinkan OpenStack dengan mengatur variabel lingkungan atau dengan menyesuaikan /usr/local/bin/openstack-ansible.rc.

Variabel lingkungan yang relevan untuk OpenStack-Ansible adalah sebagai berikut:

ANSIBLE_LIBRARY

Variabel ini harus mengarah ke /etc/ansible/plugins/library. Melakukan hal itu memungkinkan peran dan playbook untuk mengakses modul Ansible yang disertakan OpenStack-Ansible.

ANSIBLE_ROLES_PATH

Variabel ini harus menunjuk ke /etc/ansible/roles secara default. Hal ini memungkinkan Ansible untuk mencari peran OpenStack-Ansible yang dapat direferensikan oleh peran ekstensi.

ANSIBLE_INVENTORY

Variabel ini harus mengarah ke openstack-ansible/inventory/dynamic_inventory.py. Dengan pengaturan ini, ekstensi memiliki akses ke inventaris dinamis yang sama yang menggunakan OpenStack-Ansible.

Path ke direktori level atas openstack-ansible dapat bersifat relatif dalam file ini.

Pertimbangkan struktur direktori ini

my_project
|
|- custom_stuff
|  |
|  |- playbooks
|- openstack-ansible
|  |
|  |- playbooks

Variabel lingkungan yang ditetapkan akan digunakan ../openstack-ansible/playbooks/<directory>.

Menambahkan peran baru atau utama dalam instalasi OpenStack-Ansible Anda

Secara default, OpenStack-Ansible menggunakan file ansible-role-requirement untuk mengambil peran yang diperlukan untuk proses instalasi.

Peran akan diambil ke standar ANSIBLE_ROLES_PATH, yang standarnya adalah /etc/ansible/roles.

ANSIBLE_ROLE_FILE adalah variabel lingkungan yang menunjuk ke lokasi file YAML dimana ansible-galaxy dapat mengkonsumsi, menentukan dimana peran mengunduh dan menginstal. Nilai default untuk ini adalah ansible-role-requirements.yml.

Anda dapat mengganti file ansible-role-requirement yang digunakan dengan mendefinisikan variabel lingkungan ANSIBLE_ROLE_FILE sebelum menjalankan skrip bootstrap-ansible.sh.

Sekarang menjadi tanggung jawab sang penyebar untuk mempertahankan pin versi yang sesuai dari ansible roles jika diperlukan peningkatan.

Adding new collections in your OpenStack-Ansible installation

The Victoria release of openstack-ansible adds an optional new config file which defaults to /etc/openstack_deploy/user-collection-requirements.yml. It should be in the native format of the ansible-galaxy requirements file and can be used to add new collections to the deploy host. You can override location of the user-collection-requirements.yml by setting USER_COLLECTION_FILE environment variable before running the bootstrap-ansible.sh script.

Memelihara local forks dari ansible roles

Rilis Train openstack-ansible menambahkan file konfigurasi baru opsional yang secara default ke /etc/openstack_deploy/user-role-requirements.yml. Itu dalam format yang sama dengan ansible-role-requirement.yml dan dapat digunakan untuk menambahkan peran baru atau secara selektif menimpa yang sudah ada. Peran baru yang tercantum dalam user-role-needs.yml akan digabungkan dengan yang ada di ansible-role-requirement.yml, dan peran dengan nama yang cocok akan menggantikan yang ada di ansible-role-requirements.yml. Mudah bagi seorang penggelar untuk menjaga file ini di bawah kendali versi mereka sendiri dan keluar dari openstack-ansible tree.

Ini memungkinkan penyebar untuk menambahkan ansible roles baru, atau menimpa lokasi atau SHA dari peran individu yang ada tanpa mengganti file asli seluruhnya. Ini juga mudah untuk memasukkan