Puncte:0

MAAS nu a reușit să se ocupe de adresele MAC lungi de 20 de octeți infiniband

drapel ug

Instalez MAAS 3.0 (regiond+rackd) pe un nod de management HPC (Ubuntu 18.04ï¼. Interfețele de rețea infiniband au cauzat imediat unele probleme, deoarece adresa MAC este 20-octet lung, nu 6-octet lung. Dar MAAS DB folosește tip macaddr pentru coloana mac_address din tabelul maasserver_interface, care presupune 6-octeți.

2021-07-21 07:37:31 maasserver.start_up: [eroare] Eroare baza de date la pornire
Traceback (cel mai recent apel ultimul):
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py”, linia 84, în _execute
    returnează self.cursor.execute(sql, params)
psycopg2.errors.InvalidTextRepresentation: sintaxă de intrare nevalidă pentru tipul macaddr: "20:00:19:07:fe:80:00:00:00:00:00:00:b8:83:03:ff:ff:7f: 31:d5"
LINIA 1: ...15:fe', '00:11:0a:6c:25:4d', '14:02:ec:33:2b:75', '20:00:19:...
                                                             ^


Excepția de mai sus a fost cauza directă a următoarei excepții:

Traceback (cel mai recent apel ultimul):
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/start_up.py”, linia 68, în start_up
    randament deferToDatabase(inner_start_up, master=master)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/threadpool.py”, rândul 250, în inContext
   rezultat = inContext.theWork()
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/threadpool.py”, linia 266, în <lambda>
    inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/context.py”, linia 122, în callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/twisted/python/context.py”, linia 85, în callWithContext
    return func(*args,**kw)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/provisioningserver/utils/twisted.py”, linia 870, în callInContext
    return func(*args, **kwargs)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/provisioningserver/utils/twisted.py”, linia 202, în wrapper
    rezultat = func(*args, **kwargs)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py”, linia 706, în call_with_connection
    return func(*args, **kwargs)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/__init__.py”, linia 194, în call_with_lock
    return func(*args, **kwargs)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py”, linia 751, în call_within_transaction
    return func_outside_txn(*args, **kwargs)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py”, linia 554, în retrier
    return func(*args, **kwargs)
  Fișierul „/usr/lib/python3.8/contextlib.py”, linia 75, în interior
    return func(*args, **kwds)
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/start_up.py”, linia 121, în inner_start_up
    nod = RegionController.objects.get_or_create_running_controller()
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py”, linia 741, în get_or_create_running_controller
    nod = self._find_or_create_running_controller()
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py”, linia 778, în _find_or_create_running_controller
    nod = self._find_running_node()
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/models/node.py”, linia 798, în _find_running_node
    returnează get_one(noduri.distinct())
  Fișierul „/snap/maas/15003/lib/python3.8/site-packages/maasserver/utils/orm.py”, linia 112, în get_one
    elemente_recuperate = tuplu(islice(articole, 0, 2))
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py”, linia 274, în __iter__
    self._fetch_all()
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py”, linia 1242, în _fetch_all
    self._result_cache = list(self._iterable_class(self))
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/query.py”, linia 55, în __iter__
    rezultate = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py”, linia 1140, în execute_sql
    cursor.execute(sql, parametri)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py”, linia 67, în execuție
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py”, linia 76, în _execute_with_wrappers
    return executor (sql, params, many, context)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py”, linia 84, în _execute
    returnează self.cursor.execute(sql, params)
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/utils.py”, linia 89, în __exit__
    ridicați dj_exc_value.with_traceback(traceback) de la exc_value
  Fișierul „/snap/maas/15003/usr/lib/python3/dist-packages/django/db/backends/utils.py”, linia 84, în _execute
    return self.cursor.execute(sql, params)
django.db.utils.DataError: sintaxă de intrare nevalidă pentru tipul macaddr: "20:00:19:07:fe:80:00:00:00:00:00:00:b8:83:03:ff:ff: 7f:31:d5"
LINIA 1: ...15:fe', '00:11:0a:6c:25:4d', '14:02:ec:33:2b:75', '20:00:19:...
                                                             ^

Există vreo modalitate de a restricționa interfețele de rețea pe care maas le va citi? Pentru a exclude interfețele infinite (ib0 și ib1 în cazul meu), de exemplu.

Sau sugerez dezvoltatorilor MAAS să folosească un tip diferit (variabil de caractere) pentru coloana mac_address.

Mulțumiri

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.