Message ID | 20210224123419.786-4-changzihao1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vnc: support reload x509 certificates | expand |
Sorry for the delay, I missed this one. Zihao Chang <changzihao1@huawei.com> writes: > This patch provides a new qmp to reload display configuration > without restart VM, but only reloading the vnc tls certificates > is implemented. > Example: > {"execute": "display-reload", "arguments":{"vnc-tls-certs": true}} > > Signed-off-by: Zihao Chang <changzihao1@huawei.com> > --- > monitor/qmp-cmds.c | 12 ++++++++++++ > qapi/ui.json | 32 ++++++++++++++++++++++++++++++++ > 2 files changed, 44 insertions(+) > > diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c > index c7df8c0ee268..02ac2fdb1a47 100644 > --- a/monitor/qmp-cmds.c > +++ b/monitor/qmp-cmds.c > @@ -334,3 +334,15 @@ MemoryInfo *qmp_query_memory_size_summary(Error **errp) > > return mem_info; > } > + > +void qmp_display_reload(DisplayReloadInfo *arg, Error **errp) > +{ > + Error *local_err = NULL; > + > + if (arg->has_vnc_tls_certs && arg->vnc_tls_certs) { > + if (!vnc_display_reload_certs(NULL, &local_err)) { > + error_propagate(errp, local_err); > + return; > + } > + } > +} > diff --git a/qapi/ui.json b/qapi/ui.json > index d08d72b43923..922d9ae0772e 100644 > --- a/qapi/ui.json > +++ b/qapi/ui.json > @@ -1179,3 +1179,35 @@ > ## > { 'command': 'query-display-options', > 'returns': 'DisplayOptions' } > + > +## > +# @DisplayReloadInfo: > +# > +# The basic information for reload Display configuration > +# > +# @vnc-tls-certs: whether to reload tls certs > +# > +# Since: 6.0 > +## > +{ 'struct': 'DisplayReloadInfo', > + 'data': { '*vnc-tls-certs': 'bool' } } > + > +## > +# @display-reload: > +# > +# Reload display configuration > +# > +# Returns: Nothing on success > +# > +# Since: 6.0 > +# > +# Example: > +# > +# -> { "execute": "display-reload", > +# "arguments": { "vnc-tls-certs": true } } > +# <- { "return": {} } > +# > +## > +{ 'command': 'display-reload', > + 'data': 'DisplayReloadInfo', > + 'boxed' : true } Why 'boxed': true? What about: ## # @display-reload: # # Reload display configuration # # Returns: Nothing on success # # Since: 6.0 # # Example: # # -> { "execute": "display-reload", # "arguments": { "vnc-tls-certs": true } } # <- { "return": {} } # ## { 'command': 'display-reload', 'data': { '*vnc-tls-certs': 'bool' } }
On 2021/3/9 17:35, Markus Armbruster wrote: > Sorry for the delay, I missed this one. > > Zihao Chang <changzihao1@huawei.com> writes: > >> This patch provides a new qmp to reload display configuration >> without restart VM, but only reloading the vnc tls certificates >> is implemented. >> Example: >> {"execute": "display-reload", "arguments":{"vnc-tls-certs": true}} >> >> Signed-off-by: Zihao Chang <changzihao1@huawei.com> >> --- >> monitor/qmp-cmds.c | 12 ++++++++++++ >> qapi/ui.json | 32 ++++++++++++++++++++++++++++++++ >> 2 files changed, 44 insertions(+) >> >> diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c >> index c7df8c0ee268..02ac2fdb1a47 100644 >> --- a/monitor/qmp-cmds.c >> +++ b/monitor/qmp-cmds.c >> @@ -334,3 +334,15 @@ MemoryInfo *qmp_query_memory_size_summary(Error **errp) >> >> return mem_info; >> } >> + >> +void qmp_display_reload(DisplayReloadInfo *arg, Error **errp) >> +{ >> + Error *local_err = NULL; >> + >> + if (arg->has_vnc_tls_certs && arg->vnc_tls_certs) { >> + if (!vnc_display_reload_certs(NULL, &local_err)) { >> + error_propagate(errp, local_err); >> + return; >> + } >> + } >> +} >> diff --git a/qapi/ui.json b/qapi/ui.json >> index d08d72b43923..922d9ae0772e 100644 >> --- a/qapi/ui.json >> +++ b/qapi/ui.json >> @@ -1179,3 +1179,35 @@ >> ## >> { 'command': 'query-display-options', >> 'returns': 'DisplayOptions' } >> + >> +## >> +# @DisplayReloadInfo: >> +# >> +# The basic information for reload Display configuration >> +# >> +# @vnc-tls-certs: whether to reload tls certs >> +# >> +# Since: 6.0 >> +## >> +{ 'struct': 'DisplayReloadInfo', >> + 'data': { '*vnc-tls-certs': 'bool' } } >> + >> +## >> +# @display-reload: >> +# >> +# Reload display configuration >> +# >> +# Returns: Nothing on success >> +# >> +# Since: 6.0 >> +# >> +# Example: >> +# >> +# -> { "execute": "display-reload", >> +# "arguments": { "vnc-tls-certs": true } } >> +# <- { "return": {} } >> +# >> +## >> +{ 'command': 'display-reload', >> + 'data': 'DisplayReloadInfo', >> + 'boxed' : true } > > Why 'boxed': true? > Completed the modification. And patch set v5 has been sent. > What about: > > ## > # @display-reload: > # > # Reload display configuration > # > # Returns: Nothing on success > # > # Since: 6.0 > # > # Example: > # > # -> { "execute": "display-reload", > # "arguments": { "vnc-tls-certs": true } } > # <- { "return": {} } > # > ## > { 'command': 'display-reload', > 'data': { '*vnc-tls-certs': 'bool' } } > > . >
diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c index c7df8c0ee268..02ac2fdb1a47 100644 --- a/monitor/qmp-cmds.c +++ b/monitor/qmp-cmds.c @@ -334,3 +334,15 @@ MemoryInfo *qmp_query_memory_size_summary(Error **errp) return mem_info; } + +void qmp_display_reload(DisplayReloadInfo *arg, Error **errp) +{ + Error *local_err = NULL; + + if (arg->has_vnc_tls_certs && arg->vnc_tls_certs) { + if (!vnc_display_reload_certs(NULL, &local_err)) { + error_propagate(errp, local_err); + return; + } + } +} diff --git a/qapi/ui.json b/qapi/ui.json index d08d72b43923..922d9ae0772e 100644 --- a/qapi/ui.json +++ b/qapi/ui.json @@ -1179,3 +1179,35 @@ ## { 'command': 'query-display-options', 'returns': 'DisplayOptions' } + +## +# @DisplayReloadInfo: +# +# The basic information for reload Display configuration +# +# @vnc-tls-certs: whether to reload tls certs +# +# Since: 6.0 +## +{ 'struct': 'DisplayReloadInfo', + 'data': { '*vnc-tls-certs': 'bool' } } + +## +# @display-reload: +# +# Reload display configuration +# +# Returns: Nothing on success +# +# Since: 6.0 +# +# Example: +# +# -> { "execute": "display-reload", +# "arguments": { "vnc-tls-certs": true } } +# <- { "return": {} } +# +## +{ 'command': 'display-reload', + 'data': 'DisplayReloadInfo', + 'boxed' : true }
This patch provides a new qmp to reload display configuration without restart VM, but only reloading the vnc tls certificates is implemented. Example: {"execute": "display-reload", "arguments":{"vnc-tls-certs": true}} Signed-off-by: Zihao Chang <changzihao1@huawei.com> --- monitor/qmp-cmds.c | 12 ++++++++++++ qapi/ui.json | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+)