ฉันกำลังติดตั้ง MAAS 3.0 (region+rackd) บนโหนดการจัดการ HPC (Ubuntu 18.04ï¼ อินเทอร์เฟซเครือข่าย infiniband ทำให้เกิดปัญหาทันทีเนื่องจากที่อยู่ MAC ของมันคือ 20-ออกเตต ยาวไม่ 6-ออกเตต ยาว. แต่ MAAS DB ใช้ประเภท แมคคาด สำหรับคอลัมน์ mac_address ในตาราง maasserver_interface ซึ่งถือว่า 6-octet
2021-07-21 07:37:31 maassserver.start_up: [ข้อผิดพลาด] ข้อผิดพลาดของฐานข้อมูลระหว่างการเริ่มต้น
Traceback (การโทรครั้งล่าสุดล่าสุด):
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py", บรรทัด 84 ใน _execute
ส่งคืน self.cursor.execute (sql, params)
psycopg2.errors.InvalidTextRepresentation: ไวยากรณ์อินพุตไม่ถูกต้องสำหรับประเภท macaddr: "20:00:19:07:fe:80:00:00:00:00:00:00:b8:83:03:ff:ff:7f: 31:d5"
LINE 1: ...15:fe', '00:11:0a:6c:25:4d', '14:02:ec:33:2b:75', '20:00:19:...
^
ข้อยกเว้นข้างต้นเป็นสาเหตุโดยตรงของข้อยกเว้นต่อไปนี้:
Traceback (การโทรครั้งล่าสุดล่าสุด):
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/start_up.py" บรรทัดที่ 68 ใน start_up
ให้ผลตอบแทน deferToDatabase (inner_start_up, master = master)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/threadpool.py" บรรทัดที่ 250 ในบริบท
ผลลัพธ์ = inContext.theWork()
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/threadpool.py", บรรทัด 266 ใน <lambda>
inContext.theWork = แลมบ์ดา: context.call(ctx, func, *args, **kw)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/context.py", บรรทัด 122 ใน callWithContext
ส่งคืน self.currentContext().callWithContext(ctx, func, *args, **kw)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/context.py", บรรทัด 85 ใน callWithContext
ส่งคืนฟังก์ชัน (* args, ** กิโลวัตต์)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", บรรทัด 870 ใน callInContext
return func(*args, **kwargs)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", บรรทัด 202 ใน wrapper
ผลลัพธ์ = func(*args, **kwargs)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py", บรรทัด 706 ใน call_with_connection
return func(*args, **kwargs)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/__init__.py", บรรทัด 194 ใน call_with_lock
return func(*args, **kwargs)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py", บรรทัด 751 ใน call_within_transaction
ส่งคืน func_outside_txn(*args, **kwargs)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py", บรรทัด 554 ใน retrier
return func(*args, **kwargs)
ไฟล์ "/usr/lib/python3.8/contextlib.py", บรรทัดที่ 75 ด้านใน
ส่งคืนฟังก์ชัน (*args, **kwds)
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/start_up.py", บรรทัด 121 ใน inner_start_up
โหนด = RegionController.objects.get_or_create_running_controller()
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py", บรรทัด 741 ใน get_or_create_running_controller
โหนด = self._find_or_create_running_controller()
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py", บรรทัด 778 ใน _find_or_create_running_controller
โหนด = self._find_running_node()
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py", บรรทัด 798 ใน _find_running_node
ส่งคืน get_one (nodes.distinct ())
ไฟล์ "/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py", บรรทัด 112 ใน get_one
retrieved_items = tuple(islice(รายการ, 0, 2))
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py", บรรทัด 274 ใน __iter__
ตัวเอง._fetch_all()
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py", บรรทัด 1242 ใน _fetch_all
self._result_cache = รายการ (self._iterable_class (ตัวเอง))
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py", บรรทัด 55 ใน __iter__
ผลลัพธ์ = compiler.execute_sql (chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py", บรรทัด 1140 ใน execute_sql
cursor.execute(sql, พารามิเตอร์)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py", บรรทัด 67 ในการดำเนินการ
ส่งคืน self._execute_with_wrappers (sql, params, many=False, executor=self._execute)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py", บรรทัด 76 ใน _execute_with_wrappers
ตัวดำเนินการส่งคืน (sql, params, many, บริบท)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py", บรรทัด 84 ใน _execute
ส่งคืน self.cursor.execute (sql, params)
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/utils.py", บรรทัด 89 ใน __exit__
เพิ่ม dj_exc_value.with_traceback(traceback) จาก exc_value
ไฟล์ "/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py", บรรทัด 84 ใน _execute
ส่งคืน self.cursor.execute (sql, params)
django.db.utils.DataError: ไวยากรณ์อินพุตไม่ถูกต้องสำหรับประเภท macaddr: "20:00:19:07:fe:80:00:00:00:00:00:00:b8:83:03:ff:ff: 7f:31:d5"
LINE 1: ...15:fe', '00:11:0a:6c:25:4d', '14:02:ec:33:2b:75', '20:00:19:...
^
มีวิธีจำกัดอินเทอร์เฟซเครือข่ายที่ maas จะอ่านหรือไม่ หากต้องการยกเว้น infiniband intefaces (ib0 & ib1 ในกรณีของฉัน) ตัวอย่างเช่น
หรือฉันแนะนำให้นักพัฒนา MAAS ใช้ประเภทอื่น (อักขระที่แตกต่างกัน) สำหรับคอลัมน์ mac_address
ขอบคุณ