|
|
# openstack image create "imagename" --file imagefile --disk-format qcow2 --container-format bare --property hw_qemu_guest_agent=yes --property hw_ovirt_guest_agent=yes --public & V; }& E* m/ o+ v; i
返回结果:" h$ L9 y: G, b% m
HttpException: 500: Server Error for url: http://controller:9292/v2/images, Internal Server Error* d: P8 }4 M8 K3 j
: H f/ z9 h3 H% C! e
T9 j8 Z) C+ _" s5 l1 k* C
api日志:4 C" q) t5 _+ p- n+ E
2025-10-13 20:19:42.999 96012 INFO eventlet.wsgi.server [-] 192.168.16.70 - - [13/Oct/2025 20:19:42] "GET / HTTP/1.1" 300 1211 0.0012048 }! B$ H1 a$ N1 O+ K0 L
2025-10-13 20:19:43.410 96012 INFO eventlet.wsgi.server [-] Traceback (most recent call last):* |0 ^9 u2 F3 z3 d* M3 s, o
File "/usr/lib/python3.11/site-packages/eventlet/wsgi.py", line 569, in handle_one_response
: H+ m; }; O5 }- U% N7 C7 r8 P7 l result = self.application(self.environ, start_response)
4 g! V0 `& F- {9 a ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^& B: m8 u; X- }- e8 r# R: U
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__
) v) J( [$ @' X: u3 U& q resp = self.call_func(req, *args, **kw)' e4 p* R( k% x) Z* {' \- ~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
% R4 y( {, m* e( ~ File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func4 _- {4 g0 V* ]7 c9 l
return self.func(req, *args, **kwargs)
2 O3 Z! s" g0 m2 g) r2 n8 q ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 {) e' J, o$ y3 a9 V* p File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__ I9 I% `! ]( z* y0 Q, I, V
response = req.get_response(self.application)1 I7 e$ v+ Q/ d4 W; [
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^0 ]6 ` B# v+ Z. D9 T' L8 L. O% b8 N
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send
5 t( [& @* w+ J status, headers, app_iter = self.call_application(
7 n' ?3 T% a3 Q' u4 y$ S5 v2 z! l" Z; T ^^^^^^^^^^^^^^^^^^^^^^" G: X0 K* k- ~# |
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application% W" @$ I3 |6 x+ x6 e8 p
app_iter = application(self.environ, start_response)1 B( ]* H; Y- z) g' k4 r5 s
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6 p: c' l- r; \; c% s File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__
+ W6 U3 K( k3 K6 O% ] resp = self.call_func(req, *args, **kw)
$ Y* w a/ D3 i( C. Y1 t# F ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
d o& Z! L H# e File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
/ D6 p1 g: t5 n N$ R5 x2 k return self.func(req, *args, **kwargs)
1 Z6 ?$ \ O" l6 n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^7 B' l7 E# }+ v+ \5 o- K
File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__% r }3 U! N& b- X6 d5 T2 I& N5 P$ |
response = req.get_response(self.application)$ q$ O! c, q) f4 z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- i/ L0 ]: o0 Y! j9 X, s0 s
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send' Q& ?! H$ ?) V2 a" y
status, headers, app_iter = self.call_application(/ Y$ o& U& ]( k- e/ |" N g5 a9 |
^^^^^^^^^^^^^^^^^^^^^^
4 d4 Q; M; s9 }) F! C* Y2 l% p File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application/ G5 @: L7 i3 _: p* s0 h
app_iter = application(self.environ, start_response)
% \' a2 n- w- G; o4 Y' K& l* x ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^7 f& j. _7 H( {2 Z) F
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__) p) b& V7 J3 [2 E- B' W
resp = self.call_func(req, *args, **kw)
& m; k3 m& N' F3 f ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
) G R$ I: V7 D File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
8 l) b0 a2 I5 r: }/ h4 z; U# ^, L return self.func(req, *args, **kwargs)
4 X8 O0 T2 \" [ V# ~4 i" ] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
& W0 s$ \ z* M. j# f" I File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__
# J* D, j* w1 `. w& O* J response = req.get_response(self.application), j4 `% ?' R2 k4 F a' K* J
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+ @9 J! Y# w8 k; p6 l
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send" e) `8 l8 S, b
status, headers, app_iter = self.call_application(
: j" M1 z1 Y/ w& X4 t+ v ^^^^^^^^^^^^^^^^^^^^^^! ]7 {9 e8 n) z: m* @# e g( u
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application% ~0 q9 G$ b" F! ^4 z) ^6 k
app_iter = application(self.environ, start_response)
% c3 k) J! j: N: j ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! [- o- t6 e; l C
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__$ W9 u' H$ i# V5 ]! l1 r! S3 P* E
resp = self.call_func(req, *args, **kw)* O2 Y8 R6 j+ v& Y' I9 h. b, R6 r
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^( o# P+ [! t/ F; U" x5 H
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func& U/ g* ?* f) w; Y
return self.func(req, *args, **kwargs)
9 y' n1 S$ f7 i/ } x4 r! E; L ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^8 r/ e" c7 |) K* M3 N$ ~$ q
File "/usr/lib/python3.11/site-packages/glance/common/wsgi.py", line 885, in __call__! k% M& H4 k: F0 O* T$ K; U
response = req.get_response(self.application)
, p6 B2 O+ [: J% ?2 g ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
( n% ~1 | W/ j7 ~# e4 n+ j File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send
0 p2 L1 ^8 ]( @4 k2 m& ] status, headers, app_iter = self.call_application(
" M$ C0 B4 V& x) r3 H5 ~ ^^^^^^^^^^^^^^^^^^^^^^. }$ ^; [2 S; W
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
, G) j8 k% x& q- Z+ S6 a5 o0 U app_iter = application(self.environ, start_response). X2 Y9 A; o0 V/ Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
% [, Q- K9 u" O! d7 n File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__
* c0 x" O' P$ O resp = self.call_func(req, *args, **kw)
" ~+ L/ s* t, I ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1 g5 N7 y! ]/ d8 B8 m T7 y& f File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
9 q- }, n/ f6 x3 ` B% H: K return self.func(req, *args, **kwargs)
. }. m9 `5 B( u ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 H1 d" @ F4 P: O# ~ File "/usr/lib/python3.11/site-packages/osprofiler/web.py", line 111, in __call__) Y& |# c% ?% i$ x- v( Y+ Y
return request.get_response(self.application)
- z5 ~8 n+ ?# ?+ V$ z. N ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^# I3 j6 Q; o" q! S
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send4 d- x2 |1 T6 H8 C0 j; C
status, headers, app_iter = self.call_application(
3 a+ q& K0 b9 q' f ^^^^^^^^^^^^^^^^^^^^^^/ M. O: |/ I7 R7 u: Z) J- q
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
8 e7 F* s" O2 t7 k: y- l9 Y' F app_iter = application(self.environ, start_response)
& z. U5 I9 n0 z2 A+ a6 j [ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0 k6 T) h/ ?& k0 ` File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__) K, i# k7 C* ?2 r: O# K! r1 ^
resp = self.call_func(req, *args, **kw)
- l6 I& d6 d( m! y b: Q4 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^( ^" r) @: [% `! ^
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
) X! G. u- \. }% S7 @ return self.func(req, *args, **kwargs)/ L. y; W7 \" B$ S8 c, L
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6 r+ ^- k" Z, E+ z File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 337, in __call__
( x T( Y* C/ Z7 M+ ~( R1 h response = self.process_request(req)
1 H! X& f+ M5 j7 W$ _+ l/ ?3 y ^^^^^^^^^^^^^^^^^^^^^^^^^& s$ P, C# a2 V- l; l, e8 F
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 658, in process_request
+ V* L& ~5 z- s' F resp = super(AuthProtocol, self).process_request(request)9 G) w* `2 b+ j% z& E) r5 g8 b& @7 J
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/ c' N& o8 h" W- V4 A0 b2 P File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 408, in process_request) T# y' W. i% i6 o, _; i
data, user_auth_ref = self._do_fetch_token(. x# S w% ~2 a; r8 M# ?
^^^^^^^^^^^^^^^^^^^^^
L! M+ N: p. Z6 _2 ^ File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 444, in _do_fetch_token
" N6 P- o$ |. I9 l. Z data = self.fetch_token(token, **kwargs)' {, N0 S8 [/ E# u
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^. S& c2 l! K% j0 W& I
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 747, in fetch_token5 K u% W3 U: Z3 A/ h
data = self._identity_server.verify_token(
. v% H0 y$ o. z; g: d" f% F2 @6 z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5 B+ }, i; s8 J+ D. C File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 157, in verify_token
|1 U0 p/ g) B. _ auth_ref = self._request_strategy.verify_token(
4 P* |0 L* x r1 d) C ^^^^^^^^^^^^^^^^^^^^^^
; m7 u( g9 T% }: X# N1 ~. f" r File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 108, in _request_strategy, o' A" E) \! K5 Z. s
strategy_class = self._get_strategy_class()6 ?2 L: D x9 l
^^^^^^^^^^^^^^^^^^^^^^^^^^
0 s( x- |% h* n6 Y+ | File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 130, in _get_strategy_class% P% b! B. p* n9 g8 P* h
if self._adapter.get_endpoint(version=klass.AUTH_VERSION):% S9 ^" M' r: M ]; {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^: d! u9 o" R8 c: |* \
File "/usr/lib/python3.11/site-packages/keystoneauth1/adapter.py", line 291, in get_endpoint! j( `1 D2 T+ t
return self.session.get_endpoint(auth or self.auth, **kwargs)
8 Z# a) p+ d9 j' c& V$ [- |( S ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5 ^ U! e7 o* m" f File "/usr/lib/python3.11/site-packages/keystoneauth1/session.py", line 1243, in get_endpoint
+ p' j; e; R9 z4 \# J return auth.get_endpoint(self, **kwargs)3 t0 y) c5 C, m$ _& s* l! p
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^# j5 T+ b& O3 c0 ?* e) ?# M# ]
File "/usr/lib/python3.11/site-packages/keystoneauth1/identity/base.py", line 375, in get_endpoint2 x* e3 |& c& A
endpoint_data = self.get_endpoint_data(- [- L, ? }( z" z, \ s) K
^^^^^^^^^^^^^^^^^^^^^^^ x0 N4 L( z# Z- ?0 d3 p9 X0 L
File "/usr/lib/python3.11/site-packages/keystoneauth1/identity/base.py", line 275, in get_endpoint_data' o8 i# S' o0 u4 N
endpoint_data = service_catalog.endpoint_data_for(
% C, Q. {8 @* U5 }) x ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8 a7 x8 Q/ K! y& `7 l9 R File "/usr/lib/python3.11/site-packages/keystoneauth1/access/service_catalog.py", line 425, in endpoint_data_for$ e- S+ S4 A, K4 Z& r o
raise exceptions.EmptyCatalog('The service catalog is empty.')
9 _# G, L" m9 t5 J5 j, tkeystoneauth1.exceptions.catalog.EmptyCatalog: The service catalog is empty.
, ^- D# @/ H. N( a# U9 x9 c; r. G+ V, i! W- v, l
是因为keystone_authtoken没有添加认证:; a; H$ H( j/ E6 ?3 H
[keystone_authtoken]
# G( w$ |3 c$ N/ i t6 qproject_name = service! l8 q5 E, i: ?- {3 c
auth_region = RegionOne
; t8 F! V A/ G
4 k. m0 q* |5 w6 b0 G: N2 N7 P4 F0 g+ q I) a3 q
添加好之后,重启glance-api服务,重新上传即可
3 H8 \$ t* ^5 \6 e8 e* I3 z# O
; p3 D% ]5 A# q! E7 H. m) u openstack image create "image" --file cirros-disk.img --disk-format qcow2 --container-format bare --property hw_qemu_guest_agent=yes --property hw_ovirt_guest_agent=yes --public
+ i! ?4 Y$ d% _' } A/ U5 ]/ l+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
' g7 A5 i! d+ U$ W1 F1 H| Field | Value |/ ~ B2 e5 R6 |9 A( d t
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
/ L) K) s C. ?8 U, ~| container_format | bare |" q! i6 U3 k/ K: X6 k6 K/ Y* p
| created_at | 2025-10-13T12:20:59Z |
) Y0 @ C( A+ U| disk_format | qcow2 |
9 d* F8 N4 a U4 _/ h/ `4 s) ]| file | /v2/images/41de7d8f-c038-4846-b9ff-54766f8ec557/file |: _2 _1 L7 d/ k* A- e" c$ d! t
| id | 41de7d8f-c038-4846-b9ff-54766f8ec557 |/ D6 i4 P" b. F. Z5 u7 H
| min_disk | 0 |0 B* e) t8 ^/ [0 w: h# D$ N7 |- z2 `
| min_ram | 0 |
* O! u! Q/ ?1 f# n0 Z4 O5 g| name | image |
* p2 R( P0 s0 W) V6 V| owner | 1d65225e272d4677b60eeec353674612 |
K8 [$ x$ K/ [) n& b+ M4 C| properties | hw_ovirt_guest_agent='yes', hw_qemu_guest_agent='yes', os_hidden='False', owner_specified.openstack.md5='', owner_specified.openstack.object='images/cirros-0.5.2', owner_specified.openstack.sha256='' |! Q( U6 [0 h1 y- p
| protected | False |# I2 t* l( j' R8 G1 ^: C
| schema | /v2/schemas/image |7 @( H. u! ~* {4 M, Q p) C
| status | queued |
- f# w* R1 U" I& e1 R% f| tags | |
5 c$ g1 E/ j* ~( e- w| updated_at | 2025-10-13T12:20:59Z |/ Y6 M' s# [* W' Y! i8 v& j% c
| visibility | public |
/ Z0 ^$ F- Y) O- o/ F) H+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+% r( [) g' x" w' W
$ `5 m Z! u9 B* k" c; f& _. I问题解决。
! l ] @3 R5 J4 B# y( f
9 v1 o: i2 {3 ? |
|