|
|
# 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
2 z' s, z8 L# @& e返回结果:8 M" i K$ ?9 A0 |6 o
HttpException: 500: Server Error for url: http://controller:9292/v2/images, Internal Server Error
8 B! v- Y, X9 g% W) c) q
) o! m0 R5 t+ c- V9 F5 j' s8 A8 v. V4 a7 n; P
api日志:
/ U5 q: `1 r5 H# s6 g2025-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.001204
3 Y/ X* v1 J: A. t3 n$ e4 _2025-10-13 20:19:43.410 96012 INFO eventlet.wsgi.server [-] Traceback (most recent call last):& g/ G4 V2 H2 o. P1 a3 _4 f
File "/usr/lib/python3.11/site-packages/eventlet/wsgi.py", line 569, in handle_one_response
: _8 j* ^. l- P5 Q/ s result = self.application(self.environ, start_response)7 W$ A u3 `# h2 o. V
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^, q9 f2 _) U, E; Q& s$ I2 m
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__7 ?7 g3 k* O/ i$ ^4 A% K
resp = self.call_func(req, *args, **kw)" C2 w* |$ ]) |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
& C8 D+ l: } O8 M r& _7 K File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
9 z7 g8 \/ l+ F% {0 {9 S return self.func(req, *args, **kwargs)4 j4 Z$ `, {% @/ k' m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 n4 r7 Q6 e3 \( k) p File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__
5 Z2 I, h7 h/ o g: q% ^ h response = req.get_response(self.application) h: f! D+ s4 a, [/ _1 v
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
) o5 C! v) m% {/ ?0 U" [ File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send
1 q. c+ W8 C5 r+ r5 i status, headers, app_iter = self.call_application(
+ a; d- h7 U9 F1 z. t ^^^^^^^^^^^^^^^^^^^^^^0 U6 i6 X# ?8 Z
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
5 H8 F/ P4 ~5 F1 M" z6 i. \ H app_iter = application(self.environ, start_response)( z% d: I+ Z& x- {9 j7 U1 G8 }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^5 u2 c0 Z' d* @" W- G7 W3 A
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__3 @, O$ }& A% V, I" g( x' U
resp = self.call_func(req, *args, **kw)2 l7 @! K4 {0 k7 H( o$ v4 ?4 N
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: L0 B) ]! g- e9 }9 K File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
- v; Y8 _4 t0 K$ j& R return self.func(req, *args, **kwargs)) Y" K, |2 b4 V
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$ [' ]! u+ e9 g File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__
4 P, }5 }) }0 X4 Y0 u! o response = req.get_response(self.application)( V6 y+ }9 G( W
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# L8 s$ B# C; s' I' \4 z4 `! A File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send. }3 H5 ^9 t r/ f' Q7 m) r
status, headers, app_iter = self.call_application(
* H! H7 _) O8 T6 t5 q l ^^^^^^^^^^^^^^^^^^^^^^
d4 P6 ]3 p; x z* [7 s H File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
& {1 a4 @) M: s8 N3 I3 I0 R app_iter = application(self.environ, start_response): G2 _1 W4 r4 j, ~ O
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^( x9 ^ j& ]; g
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__
v0 r! \! L/ C resp = self.call_func(req, *args, **kw)
* Y: c6 @ V4 x( o1 t: J ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^# B. ?5 n$ I% n; _3 e* ]8 O1 w# O
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func. j. f5 f% D }& e
return self.func(req, *args, **kwargs)
$ x S$ x" ^$ X' Z" \+ b ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
. {0 Y" z( e5 e3 f w File "/usr/lib/python3.11/site-packages/oslo_middleware/base.py", line 124, in __call__1 k0 P* _: q/ o
response = req.get_response(self.application)" A& {0 Y+ u/ k* A0 ?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 u. A/ ]/ x- V! H \ File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send
: ]$ O/ o' t' I: f; h6 p$ r4 W status, headers, app_iter = self.call_application(
) P3 r; }/ L) Z; G Q; R0 @/ E, ] ^^^^^^^^^^^^^^^^^^^^^^
( F- G$ o" J. O1 O( k! { File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
8 W& h$ Y" r' M u& ^9 c+ U5 a app_iter = application(self.environ, start_response)* T. y2 S v; f: x' _ i0 }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
" H+ e, x, v8 Z& ^ File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__5 W* x7 p- y6 W- i
resp = self.call_func(req, *args, **kw)6 r; n9 \2 Y6 @! @8 y
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
% F# e& P1 R7 T1 [3 }- r, c File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
' v4 o( i; w7 F return self.func(req, *args, **kwargs)
4 ]# M, i6 s" \& H( O' j5 K7 O8 J ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^: t- F3 l1 s- y# C% m8 }' D% b3 w
File "/usr/lib/python3.11/site-packages/glance/common/wsgi.py", line 885, in __call__, P: h: I" O7 M: F
response = req.get_response(self.application)
' R# w; [* q3 }* P, i3 O$ k ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^( }( k4 C. ]9 {, n4 [. |: v: H1 K
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send5 V0 Z% Y8 G. \$ h& i" s* k
status, headers, app_iter = self.call_application(
8 N! r" d, |9 Z: r5 j0 F O ^^^^^^^^^^^^^^^^^^^^^^5 ~! K0 k. f; G. Q7 ~
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
/ w5 O" x6 L6 L9 @3 h+ R0 n, z; ^ app_iter = application(self.environ, start_response) r( h1 o; Q/ w6 `+ T
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0 w1 n+ p. r7 Z* k, U8 v File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__
1 K& Q" D; [6 X5 R4 q6 t resp = self.call_func(req, *args, **kw)
+ r: [$ G5 W0 V }% H ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
" O4 y1 l- M' ]( t File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func2 a7 W; f7 y! ]! n8 A% {- T) |( [) @
return self.func(req, *args, **kwargs)
: ]+ I' ]4 R6 ^( J# ?+ q! b' q ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^* Y) E- R8 q, E: A
File "/usr/lib/python3.11/site-packages/osprofiler/web.py", line 111, in __call__
& a a2 d. Y( @" E4 Q; S' p6 O( b return request.get_response(self.application)) b7 t3 g! y$ h9 F2 G" n, c
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^( C. T9 Q0 a5 K1 s8 m8 g# ~" |
File "/usr/lib/python3.11/site-packages/webob/request.py", line 1313, in send) D( D0 `1 x6 p, s/ g$ |4 s
status, headers, app_iter = self.call_application(
7 c9 H4 I$ [6 p ^^^^^^^^^^^^^^^^^^^^^^
+ |' `9 A @) i% ?( Z' S% V File "/usr/lib/python3.11/site-packages/webob/request.py", line 1278, in call_application
- { x' u) J& ]" t# f5 h/ j app_iter = application(self.environ, start_response)/ [" T) y0 V/ W- m; ?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 s: S1 i& m' m+ ]& Z$ ^ File "/usr/lib/python3.11/site-packages/webob/dec.py", line 129, in __call__ F0 ~+ r: _0 L% B' N# d2 O; r
resp = self.call_func(req, *args, **kw)" X) b, ?/ ^! o2 e/ ?+ B4 d1 i0 h
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! `7 k- _ W1 x2 V: Q
File "/usr/lib/python3.11/site-packages/webob/dec.py", line 193, in call_func
! g; o1 m+ Z( [$ k6 A return self.func(req, *args, **kwargs)2 `& E8 a0 S/ X1 t4 e
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^* c( R+ U$ d) F1 k' n) V
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 337, in __call__
8 ?9 D1 n: l0 ]* L& _4 h. I response = self.process_request(req)
' u7 r; H4 E; ~8 ?) R' z$ S8 g ^^^^^^^^^^^^^^^^^^^^^^^^^
5 g2 t! _2 e' f File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 658, in process_request
! v' I+ v) ?1 v% u+ G resp = super(AuthProtocol, self).process_request(request)
& H6 l% s, n- L) h: o ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^* J5 T' H9 X3 F& E( u
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 408, in process_request
- b8 M/ |/ r- Z# p+ c; b1 H data, user_auth_ref = self._do_fetch_token(1 F' }8 G2 R& W) n4 W: g
^^^^^^^^^^^^^^^^^^^^^9 M5 i' I9 P/ E7 L
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 444, in _do_fetch_token& h# s5 U$ ^1 p: l' R( \7 D6 [" W( Y' j
data = self.fetch_token(token, **kwargs)
( @* |5 U9 r4 I ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$ I( ~2 Z E' o; J1 Z# ` File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/__init__.py", line 747, in fetch_token
. t- h$ `& }* `. [7 g1 U; l data = self._identity_server.verify_token(: |7 ?0 O3 G0 I
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^& C( v+ o" ?; q9 {$ l7 x j! n
File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 157, in verify_token5 H% F3 V) F/ Q" l6 s d
auth_ref = self._request_strategy.verify_token(
7 G1 [! v- k& v+ Q ^^^^^^^^^^^^^^^^^^^^^^
# Q; [4 Q- H' P9 \ File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 108, in _request_strategy" Z L! k( k f% O
strategy_class = self._get_strategy_class()
. v7 p$ n+ k1 h# b) ^5 t* @5 U ^^^^^^^^^^^^^^^^^^^^^^^^^^
$ C2 P6 w4 l; N" ~. R6 a7 _. j File "/usr/lib/python3.11/site-packages/keystonemiddleware/auth_token/_identity.py", line 130, in _get_strategy_class" C% {+ `* {* y6 N
if self._adapter.get_endpoint(version=klass.AUTH_VERSION):% o7 _% T6 a, O; d- H
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: L W. K3 F+ K5 P0 p, ~6 i File "/usr/lib/python3.11/site-packages/keystoneauth1/adapter.py", line 291, in get_endpoint, b% C- c: D6 T( }$ ?
return self.session.get_endpoint(auth or self.auth, **kwargs)5 ? F' q; \1 Q6 x7 J# {/ u6 I' I- ^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^* ^, Q9 G& L: x
File "/usr/lib/python3.11/site-packages/keystoneauth1/session.py", line 1243, in get_endpoint
* G% x# i. ~, I: \' v9 Q return auth.get_endpoint(self, **kwargs)8 M$ ]! c1 d9 T" @
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1 K( ^9 S$ c- I7 p% n( x! T. e
File "/usr/lib/python3.11/site-packages/keystoneauth1/identity/base.py", line 375, in get_endpoint
1 j; F/ r5 O8 K endpoint_data = self.get_endpoint_data(
+ z E! ?: A( Z ^^^^^^^^^^^^^^^^^^^^^^^7 f! ]; K* L3 C. Z# O
File "/usr/lib/python3.11/site-packages/keystoneauth1/identity/base.py", line 275, in get_endpoint_data* M, M. D5 I9 {9 r2 v4 l: \( j1 ^
endpoint_data = service_catalog.endpoint_data_for(* k1 ~0 Y- @' c8 _7 ^1 N
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0 x+ Z7 _$ @5 l a File "/usr/lib/python3.11/site-packages/keystoneauth1/access/service_catalog.py", line 425, in endpoint_data_for" G) l0 p7 A. ^7 ?; ~0 P/ J
raise exceptions.EmptyCatalog('The service catalog is empty.')7 B) m/ a4 C! ^. p# p# n
keystoneauth1.exceptions.catalog.EmptyCatalog: The service catalog is empty.# b6 S" A- e! |+ J$ J2 r+ e
+ a- I* b' ~5 X) s
是因为keystone_authtoken没有添加认证:
$ e3 e. p( o$ ~% j( v" @[keystone_authtoken]
0 _! z, }. n6 U/ c! Xproject_name = service; G& q6 Y0 |) \& h+ W% _: o1 c
auth_region = RegionOne# C3 f6 S# U+ x8 X" ] M+ o
% a7 M2 X8 W% K6 c( e: _! d5 z$ `$ O
添加好之后,重启glance-api服务,重新上传即可
" O. ?/ V0 d3 p# j2 w( m9 y: p) K6 w# q& i
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
0 P; [1 E4 X: B% @0 B! E+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+* E- i4 c* `6 K. @
| Field | Value |. t8 l9 U7 C% u2 Z+ p8 f6 o1 b/ g
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- g p3 r! f! v N, E0 [1 v| container_format | bare |
$ ?2 {$ `' U( b| created_at | 2025-10-13T12:20:59Z |
' ~" T. T+ h, e$ W4 ]( S| disk_format | qcow2 |
5 T& C, M, ]3 X' }. k' y| file | /v2/images/41de7d8f-c038-4846-b9ff-54766f8ec557/file |4 k6 H, ?# ~5 _ l
| id | 41de7d8f-c038-4846-b9ff-54766f8ec557 |
) C; Z/ l3 k" S) ]| min_disk | 0 |! q% D- e; x: l" A
| min_ram | 0 |
1 l3 B+ B' p: w| name | image |
+ X& X: c: `/ r' t| owner | 1d65225e272d4677b60eeec353674612 |
" M& n' b( R7 L* e; }| 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='' |7 L* o# G5 R/ t3 b# _
| protected | False |
. q! Y) [7 p6 k6 z| schema | /v2/schemas/image |
/ W( f: _' H% W: V5 [5 y% H3 n0 J; G2 u4 G| status | queued |
& R) a; a7 N# o' ]. @8 i) ~3 A/ }| tags | |2 _8 ^0 f9 J. F& A( ] @$ K
| updated_at | 2025-10-13T12:20:59Z |3 s$ W% E; j: {- B( U/ Z, g: \
| visibility | public |" k9 E+ [. N9 E# {) x' G' R1 H
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+4 V0 {5 Z, ?# V: y, w
7 L* C. O7 B/ N; G3 i问题解决。" m9 X# D* _& n+ M
" B3 U" m, U" d" e" U) u J |
|