ใช้ตัวเลือก“ OpenStack Beta” ของ Landscape ปัจจุบันเพื่อปรับใช้ OpenStack ในการตั้งค่า MAAS ของฉัน ฉันได้รับความสำเร็จถึง 98% โดยที่ 1 ล้มเหลวใน "กำหนดค่าความพร้อมใช้งานของโซน" การตั้งค่าของฉันใช้ KVM, Open vSwitch และตอนนี้ฉันใช้ Ceph สำหรับทั้งที่เก็บวัตถุและบล็อก เมื่อฉันดู/var/log/landscape/job-handler-1.logบนเครื่องแนวนอนจะเห็นข้อผิดพลาดมากกว่า 100 ข้อเกี่ยวกับ:
2015-03-05 21:18:38 INFO Root RetryingCall สำหรับ '_get_nova_info' ล้มเหลวลองอีก 103 ครั้ง: 2015-03-05 21:18:38 INFO รูทข้อมูลการติดตามย้อนหลัง:: หายไป 4 หน่วย 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
--- < มีข้อยกเว้นที่นี่> ---
/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
หมายเหตุ : หมายเลขบรรทัดใน jobs.py ถูกปิดเนื่องจากฉันได้เพิ่มคำสั่งการพิมพ์บางอย่างสำหรับการแก้ไขข้อบกพร่อง มันเป็นการยืนยันในฟังก์ชัน _get_nova_info () ใกล้กับบรรทัดที่ # 741 (ถ้าใช้หน่วยความจำ) และใช่ฉันใช้ภูมิทัศน์เวอร์ชันล่าสุดตั้งแต่วันนี้จาก ppa สำหรับความไว้วางใจ
ดังนั้นผมจึงมีการปรับเปลี่ยน/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py 's _get_nova_info ()ฟังก์ชั่นที่จะพิมพ์ออกยาวของnova_compute_hostnamesและฉันได้เป็นศูนย์ ดังนั้นผมจึงไล่ที่เป็น/opt/canonical/landscape/canonical/landscape/model/openstack/region.py 's get_nova_compute_hostnames ()และพบว่าself.juju_environment.get_computer_ids (). count ()ยังเป็นศูนย์ ดังนั้นผมจึงเพิ่มการเรียกร้องให้self.juju_environment.has_computers ()และได้เป็นเท็จ จากนั้นฉันก็วิ่งself.juju_environment.get_juju_home ()และได้รับ/ var / lib / ภูมิทัศน์ / Juju-บ้าน / 20 (ใช่นี่คือความพยายามครั้งที่ 20 ของฉันในการสร้างกล่องภูมิทัศน์ครั้งที่ 2 ของฉันฉันมาที่นี่นานแล้ว) ดังนั้นฉันจึงวิ่งสถานะ jujuโดยใช้บ้าน juju ดังกล่าวข้างต้นและทุกอย่างดูดี เครื่องจักรและบริการทั้งหมด 5 รายการเริ่มทำงานไม่มีสถานะค้างอยู่หรือสถานะข้อผิดพลาด (รวมถึงโหนดประมวลผล 4 รายการ) มีแนวคิดใดบ้าง ฉันค่อนข้างใหม่กับภูมิประเทศ, MAAS, JUJU, & python ดังนั้นการดีบักของฉันจึงค่อนข้างช้า
อัปเดต 1:
ต่อคำขอที่ผมได้มี 2 บันทึก (แม้ว่าบ้านของฉันอยู่ในขณะนี้ # 23) สถานะ Jujuและbroker.log ฉันคิดว่าตอนนี้ฉันรู้ว่าปัญหาของฉันคืออะไรตัวอย่างของโบรคเกอร์ blog.log ด้านล่าง (ขอบคุณ dpb สำหรับการชี้ให้ฉันเห็น) เครื่อง MAAS ของฉันกำลังแจกที่อยู่ DHCP ให้กับแนวนอนของฉัน LXC แต่แนวนอนของฉัน LXC ไม่ได้อยู่ใน DNS ที่ควบคุม MAAS เนื่องจากไม่ได้กำหนดไว้โดย MAAS ดังนั้นเครื่องที่เตรียมไว้ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์แนวนอนได้ตามชื่อ
ดังนั้นสิ่งที่นำฉันไปสู่คำถามที่เกี่ยวข้องมีวิธีที่ดีที่จะให้ MAAS อัปเดต DNS อัตโนมัติด้วยเครื่องที่ไม่ได้จัดเตรียมไว้ (หรือภายใต้การควบคุม MAAS) ถ้าไม่ใช่ฉันจะต้องให้ IP แบบคงที่อยู่นอกช่วง DHCP ของฉันและตั้งค่า DNS ด้วยตนเอง
2015-03-06 17: 09: 50,665 INFO [MainThread] นายหน้าเริ่มต้นด้วย config /etc/landscape/client.conf
2015-03-06 17: 09: 52: 382 INFO [MainThread] เริ่มต้นการแลกเปลี่ยนข้อความด่วนด้วยhttps: // landscape /
2015/03/06 17: 09: 52,389 ข้อผิดพลาด [PoolThread-twisted.internet.reactor-1] ข้อผิดพลาดการติดต่อกับเซิร์ฟเวอร์ที่https: // ภูมิทัศน์ / ข้อความระบบ
Traceback (การโทรล่าสุดครั้งล่าสุด):
ไฟล์ "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", บรรทัดที่ 71, ในการแลกเปลี่ยน
message_api)
ไฟล์ "/usr/lib/python2.7/ dist-packages / landscape / broker / transport.py ", บรรทัดที่ 45, ใน _curl
header = ส่วนหัว, cainfo = self._pubkey, curl = curl))
ไฟล์ "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", บรรทัดที่ 109, ในการดึงข้อมูล
เพิ่ม PyCurlError (e.args [0], e.args 1 )
PyCurlError: ข้อผิดพลาด 6: ไม่แก้ไขโฮสต์: แนวนอน
2015-03-06 17: 09: 52,390 INFO [MainThread] การแลกเปลี่ยนข้อความล้มเหลว
2015-03-06 17: 09: 52,391 INFO [MainThread] การแลกเปลี่ยนข้อความเสร็จสิ้นใน 0.01 วินาที
อัปเดต 2:
การตั้งค่าของฉันค่อนข้าง จำกัด เนื่องจากฉันได้รับเครื่องเพียง 6 เครื่อง (5 โหนดและ 1 คอนโทรลเลอร์) เพื่อแสดงความสามารถของ OpenStack / Landscape ดังนั้นฉันจึงไม่สามารถใช้เครื่องเฉพาะสำหรับทิวทัศน์ได้ ฉันใช้Landscape-server-quickstartในLXCบนตัวควบคุม MAAS ของฉันดังนั้นฉันจึงสามารถระเบิดได้อย่างรวดเร็วและเริ่มต้นใหม่
ดังนั้นฉันจึงเป่าการตั้งค่าแนวนอนและตั้ง LXC เป็น IP แบบคงที่จากนั้นแก้ไข DNS (ควบคุมโดย MAAS) เพื่อให้มีรายการ DNS แบบคงที่สำหรับเซิร์ฟเวอร์แนวนอนของฉัน จากนั้นฉันติดตั้ง Landscape Dedicated Server บน LXC โดยใช้วิธี Landscape-server-quickstart ที่กล่าวถึงข้างต้น
หลังจากนี้ติดตั้งใหม่ (ส่วนใหญ่เพื่อล้างระเบียบ debug ทั้งหมดของฉัน) ในที่สุดฉันก็สามารถติดตั้ง OpenStack แม้ว่าแนวนอน ขอบคุณ