Menggunakan opsi Landscape "OpenStack Beta" saat ini untuk menyebarkan OpenStack pada pengaturan MAAS saya. Saya mendapatkan penyelesaian 98%, dengan 1 kegagalan pada "Konfigurasikan zona ketersediaan". Pengaturan saya menggunakan KVM, Open vSwitch, dan saat ini saya menggunakan Ceph untuk penyimpanan objek dan blok. Ketika saya melihat /var/log/landscape/job-handler-1.log pada mesin landscape adalah melihat lebih dari 100 kesalahan tentang:
2015-03-05 21:18:38 INFO root RetryingCall untuk '_get_nova_info' gagal, mencoba 103 lebih banyak waktu: 2015-03-05 21:18:38 INFO root Traceback:: Hilang 4 unit nova-compute
/ usr /lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- < pengecualian tertangkap di sini> ---
/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py:191:_worker
/usr/lib/python2.7/dist-packages/twisted/python/context. py: 118: callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76: _wrap
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info
CATATAN : Nomor baris di jobs.py tidak aktif karena saya telah menambahkan beberapa pernyataan cetak untuk debugging. Ini adalah pernyataan dalam fungsi _get_nova_info () di dekat baris # 741 (jika memori berfungsi), dan ya saya menggunakan versi lansekap terbaru pada hari ini dari ppa lanskap untuk dipercaya.
Jadi saya dimodifikasi /opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py 's _get_nova_info () fungsi untuk mencetak panjang nova_compute_hostnames dan aku nol . Jadi saya dikejar itu menjadi /opt/canonical/landscape/canonical/landscape/model/openstack/region.py 's get_nova_compute_hostnames () dan menemukan bahwa self.juju_environment.get_computer_ids (). Count () juga nol . Jadi saya menambahkan panggilan ke self.juju_environment.has_computers () dan mendapat false . Lalu saya berlari self.juju_environment.get_juju_home () dan mendapat/ var / lib / landscape / juju-homes / 20 . (Ya ini adalah upaya saya yang ke-20 pada rekondisi ke-2 saya dari kotak lansekap, saya sudah melakukan ini untuk sementara waktu). Jadi saya menjalankan status juju menggunakan rumah juju yang disebutkan di atas dan semuanya terlihat baik. Semua 5 mesin dan layanan dimulai, tidak ada status tertunda atau kesalahan. (termasuk 4 node nova-compute) Ada ide? Saya agak baru untuk landscape, MAAS, JUJU, & python sehingga debugging saya agak lambat.
PEMBARUAN 1:
Sesuai permintaan, saya mendapat 2 log (walaupun rumah saya sekarang # 23) status juju dan broker.log . Saya pikir saya sekarang tahu apa masalah saya per potongan dari broker.log di bawah ini. (Terima kasih dpb untuk menunjuk saya ke sana) Mesin MAAS saya memberikan alamat DHCP ke LXC lansekap saya, tetapi lansekap LXC saya tidak ada dalam DNS yang dikendalikan MAAS karena tidak disediakan oleh MAAS. Oleh karena itu mesin yang disediakan tidak dapat terhubung ke server lanskap dengan nama.
Jadi itu mengarahkan saya ke pertanyaan terkait, apakah ada cara yang baik untuk membuat MAAS memperbarui DNS secara otomatis dengan mesin yang tidak disediakan (atau di bawah kendali MAAS)? Jika tidak, saya harus memberikannya IP statis di luar rentang DHCP saya dan secara manual mengatur DNS.
2015-03-06 17: 09: 50.665 INFO [MainThread] Broker memulai dengan config /etc/landscape/client.conf
2015-03-06 17: 09: 52.382 INFO [MainThread] Memulai pertukaran pesan mendesak dengan https: // landscape / sistem pesan .
2015-03-06 17: 09: 52.389 ERROR [PoolThread-twisted.internet.reactor-1] Kesalahan menghubungi server di https: // landscape / message-system .
Traceback (panggilan terakhir terakhir):
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", baris 71, dalam pertukaran
message_api)
File "/usr/lib/python2.7/ dist-package / landscape / broker / transport.py ", baris 45, dalam _curl
header = header, cainfo = self._pubkey, curl = curl))
File "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", baris 109, dalam pengambilan
meningkatkan PyCurlError (e.args [0], e.args 1 )
PyCurlError: Kesalahan 6: Bisa tidak menyelesaikan host: landscape
2015-03-06 17: 09: 52.390 INFO [MainThread] Pertukaran pesan gagal.
2015-03-06 17: 09: 52.391 INFO [MainThread] Pertukaran pesan selesai dalam 0.01s.
PEMBARUAN 2:
Setup saya agak terbatas karena saya hanya diberi 6 mesin (5 node dan 1 controller) untuk menunjukkan kemampuan OpenStack / Landscape jadi saya tidak bisa menggunakan mesin khusus untuk landscape. Saya menggunakan landscape-server-quickstart dalam LXC pada kontroler MAAS saya sehingga saya dapat dengan cepat meniupnya dan memulai dari awal.
jadi saya menghapus pengaturan lanskap dan mengatur LXC ke IP statis, kemudian memodifikasi DNS (dikontrol oleh MAAS) untuk memiliki entri DNS statis untuk server lanskap saya. Kemudian saya menginstal Landscape Dedicated Server pada LXC menggunakan metode landscape-server-quickstart yang disebutkan di atas.
Setelah menginstal ulang ini (terutama untuk membersihkan semua kekacauan debug saya) saya akhirnya dapat menginstal OpenStack meskipun landscape. Terima kasih.