Awx-operator: Auf die Instanzgruppe kann nicht über das Administrationsmenü zugegriffen werden

Erstellt am 30. Apr. 2021  ·  11Kommentare  ·  Quelle: ansible/awx-operator

Hallo,
Ich habe awx-operator auf Openshift 4.6.13 installiert. Wenn ich versuche, auf "Instanzgruppen" zuzugreifen, erhalte ich eine Fehlermeldung im Browser:

Etwas ist schief gelaufen ...
Beim Laden dieses Inhalts ist ein Fehler aufgetreten. Zurück zum Dashboard.
Details >>>OPTIONEN /api/v2/instance_groups/ 500Ein Serverfehler ist aufgetreten.

Wenn ich das Protokoll im „awx“-Pod überprüfe, erhalte ich den Fehler:

2021-04-30 04:42:58,023 INFO [8da8604176834ab29675faf0f1f4ea61] awx.analytics.performance-Anfrage:, Antwortzeit: 0,213 s
10.131.2.1 - - [30/Apr/2021:04:42:58 +0000] "GET /api/v2/config/ HTTP/1.1" 200 2002 "http://awx.apps.ocp.domain/" " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/90.0.4430.85 Safari/537.36" "172.20.27.100"
[pid: 20212|app: 0|req: 481/8212] 10.131.2.1 () {64 vars in 2951 bytes} [Fr Apr 30 04:42:57 2021] GET /api/v2/config/ => generiert 2002 Bytes in 217 ms (HTTP/1.1 200) 14 Header in 584 Bytes (1 Schalter auf Kern 0)
2021-04-30 04:42:58,088 INFO [6901c7e48f1a4054bf60ae8d0740f9d7] awx.analytics.performance-Anfrage:, Antwortzeit: 0,288 s
10.131.2.1 - - [30/Apr/2021:04:42:58 +0000] "GET /api/v2/instance_groups/?order_by=name&page=1&page_size=20 HTTP/1.1" 200 737 "http://awx. apps.ocp.domain/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/90.0.4430.85 Safari/537.36" "172.20.27.100"
[pid: 25187|app: 0|req: 143/8213] 10.131.2.1 () {64 vars in 3037 bytes} [Fr Apr 30 04:42:57 2021] GET /api/v2/instance_groups/?order_by=name&page =1&page_size=20 => generiert 737 Bytes in 290 ms (HTTP/1.1 200) 14 Header in 575 Bytes (1 Schalter auf Core 0)
2021-04-30 04:42:58,322 INFO [3a1669b00856485e9d3f4a1527995ef2] awx.analytics.performance-Anfrage:, Antwortzeit: 0,455 s
[pid: 17827|app: 0|req: 783/8214] 10.131.2.1 () {64 vars in 2942 bytes} [Fr Apr 30 04:42:57 2021] GET /api/v2/me/ => generiert 955 Bytes in 457 ms (HTTP/1.1 200) 14 Header in 569 Bytes (1 Schalter auf Kern 0)
10.131.2.1 - - [30/Apr/2021:04:42:58 +0000] "GET /api/v2/me/ HTTP/1.1" 200 955 " http://awx.apps.ocp.domain/ " " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/90.0.4430.85 Safari/537.36" "172.20.27.100"
2021-04-30 04:42:58,368 FEHLER [9665f945a9954d26be025d98d85c0ea6] django.request Interner Serverfehler: /api/v2/instance_groups/
Traceback (letzter Aufruf zuletzt):
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/exception.py“, Zeile 34, in inner
Antwort = get_response(Anfrage)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/base.py“, Zeile 115, in _get_response
Antwort = self.process_exception_by_middleware(e, Anfrage)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/base.py“, Zeile 113, in _get_response
Antwort = wraped_callback(request, callback_args, * callback_kwargs)
Datei "/usr/lib64/python3.8/contextlib.py", Zeile 75, in inner
Rückgabefunktion ( args, * kwds)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/views/decorators/csrf.py“, Zeile 54, in wrap_view
return view_func( args, * kwargs)
Datei "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/views/generic/base.py", Zeile 71, im Blick
return self.dispatch(request, args, * kwargs)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/generics.py“, Zeile 324, im Versand
return super(APIView, self).dispatch(request, args, * kwargs)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 509, im Versand
Antwort = self.handle_exception (exc)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 469, in handle_exception
self.raise_uncaught_exception (exc)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 480, in raise_uncaught_exception
erhöhen exkl
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 506, im Versand
Antwort = Handler (Anfrage, Argumente, * Kwargs)
Datei "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py", Zeile 520, in Optionen
data = self.metadata_class().determine_metadata(request, self)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/metadata.py“, Zeile 245, in „determinate_metadata
metadata = super(Metadata, self).determine_metadata(request, view)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/metadata.py“, Zeile 68, in „determinate_metadata
Aktionen = self.determine_actions (Anfrage, Ansicht)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/metadata.py“, Zeile 209, in „determinate_actions
meta['default'] = AWXReceptorJob().pod_definition
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py“, Zeile 3081, in pod_definition
default_pod_spec = get_default_pod_spec()
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/utils/execution_environments.py“, Zeile 21, in get_default_pod_spec
"Bild": get_default_execution_environment().image,
AttributeError: 'NoneType'-Objekt hat kein Attribut 'image'
2021-04-30 04:42:58,368 FEHLER [9665f945a9954d26be025d98d85c0ea6] django.request Interner Serverfehler: /api/v2/instance_groups/
Traceback (letzter Aufruf zuletzt):
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/exception.py“, Zeile 34, in inner
Antwort = get_response(Anfrage)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/base.py“, Zeile 115, in _get_response
Antwort = self.process_exception_by_middleware(e, Anfrage)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/core/handlers/base.py“, Zeile 113, in _get_response
Antwort = wraped_callback(request, callback_args, * callback_kwargs)
Datei "/usr/lib64/python3.8/contextlib.py", Zeile 75, in inner
Rückgabefunktion ( args, * kwds)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/views/decorators/csrf.py“, Zeile 54, in wrap_view
return view_func( args, * kwargs)
Datei "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/views/generic/base.py", Zeile 71, im Blick
return self.dispatch(request, args, * kwargs)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/generics.py“, Zeile 324, im Versand
return super(APIView, self).dispatch(request, args, * kwargs)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 509, im Versand
Antwort = self.handle_exception (exc)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 469, in handle_exception
self.raise_uncaught_exception (exc)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 480, in raise_uncaught_exception
erhöhen exkl
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py“, Zeile 506, im Versand
Antwort = Handler (Anfrage, Argumente, * Kwargs)
Datei "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/views.py", Zeile 520, in Optionen
data = self.metadata_class().determine_metadata(request, self)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/metadata.py“, Zeile 245, in „determinate_metadata
metadata = super(Metadata, self).determine_metadata(request, view)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/rest_framework/metadata.py“, Zeile 68, in „determinate_metadata
Aktionen = self.determine_actions (Anfrage, Ansicht)
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/api/metadata.py“, Zeile 209, in „determinate_actions
meta['default'] = AWXReceptorJob().pod_definition
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/tasks.py“, Zeile 3081, in pod_definition
default_pod_spec = get_default_pod_spec()
Datei „/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/main/utils/execution_environments.py“, Zeile 21, in get_default_pod_spec
"Bild": get_default_execution_environment().image,
AttributeError: 'NoneType'-Objekt hat kein Attribut 'image'
2021-04-30 04:42:58,372 INFO [9665f945a9954d26be025d98d85c0ea6] awx.analytics.performance-Anfrage:, Antwortzeit: 0,568 s
[pid: 15951|app: 0|req: 683/8215] 10.131.2.1 () {66 vars in 3017 bytes} [Fr Apr 30 04:42:57 2021] OPTIONS /api/v2/instance_groups/ => generiert 41 Bytes in 570 ms (HTTP/1.1 500) 8 Header in 309 Bytes (1 Schalter auf Core 0)
10.131.2.1 - - [30/Apr/2021:04:42:58 +0000] "OPTIONS /api/v2/instance_groups/ HTTP/1.1" 500 41 " http://awx.apps.ocp.domain/ " " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/90.0.4430.85 Safari/537.36" "172.20.27.100"
ERGEBNIS 2
OKAY BEREIT

image

Hilfreichster Kommentar

Ich erlebe das auch.

Alle 11 Kommentare

Ich erlebe das auch.

Ich denke, es gibt hier 2 Fehler, der erste ist, dass der Code nach dem Konfigurationsnamen DEFAULT_EXECUTION_ENVIRONMENT sucht, aber der awx-Operator erstellt, DEFAULT_EXECUTION_ENVIRONMENTS
https://github.com/ansible/awx/blob/f5c176701b0551e179bb4ef663b57fd3a6ba6f0a/awx/main/utils/execution_environments.py#L7
https://github.com/ansible/awx-operator/blob/8656ee1a1dc9593b2fe9615b390aaad3f852a4f8/roles/installer/templates/execution_environments.py.j2#L1

Die zweite Sache ist, dass es eine bessere Typ-/Fehlerprüfung geben muss, wenn get_default_execution_environment() None $ zurückgibt
https://github.com/ansible/awx/blob/f5c176701b0551e179bb4ef663b57fd3a6ba6f0a/awx/main/utils/execution_environments.py#L21

Das ist nicht ideal, aber ich habe es umgangen, indem ich managed_by_tower = 't' direkt in der DB gesetzt habe

awx=> update main_executionenvironment set managed_by_tower = 't' where id = 1;

Hatte das gleiche Problem und fand das Problem hier oder auf awx gh - nicht sicher, wo jetzt das stand:

tower_create_preload_data: 

muss wahr sein.

Ich habe es als falsch gehalten, da es in der Vergangenheit Demo-Vorlagen erstellt hat, aber es scheint, dass es das nicht mehr tut.

Danke @dacosta89 !

@endriu0 wo und wie kann ich ändern, dass es "true" ist? Danke!

Hey @eniomachado hängt davon ab, wie Sie es installiert haben, aber ich gehe davon aus, dass Sie den Operator installiert und dann kubectl für eine awx yaml-Datei ohne Überschreibungen verwendet haben. Wenn dies der Fall ist, müssen Sie diese Zeile unter spec zu Ihrer my-awx.yaml hinzufügen und erneut anwenden:

tower_create_preload_data: wahr

Und dann kubectl apply -f my-awx.yaml

Beispiel einer my-awx.yaml-Datei:

---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: funhouse
spec:
...
  tower_create_preload_data: true

Hallo @endriu0 , diese Lösung funktioniert bei mir, danke für deine Hilfe.

@dacosta89 schau mal, was @endriu0 über "tower_create_preload_data: true" gesagt hat, sollte eine bessere Lösung sein.

image

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen