Score:0

MAAS ล้มเหลวในการจัดการกับที่อยู่ MAC ยาว 20 octet ของ infiniband

ธง ug

ฉันกำลังติดตั้ง 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

ขอบคุณ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา