mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03:00
Add example that renames domain there and back
And in the middle it prints out its name to demonstrate changes in later patch(es). Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
29b5167417
commit
e755186c5c
1
.gitignore
vendored
1
.gitignore
vendored
@ -83,6 +83,7 @@
|
|||||||
/examples/domtop/domtop
|
/examples/domtop/domtop
|
||||||
/examples/hellolibvirt/hellolibvirt
|
/examples/hellolibvirt/hellolibvirt
|
||||||
/examples/openauth/openauth
|
/examples/openauth/openauth
|
||||||
|
/examples/rename/test
|
||||||
/gnulib/lib/*
|
/gnulib/lib/*
|
||||||
/gnulib/m4/*
|
/gnulib/m4/*
|
||||||
/gnulib/tests/*
|
/gnulib/tests/*
|
||||||
|
@ -2806,6 +2806,7 @@ AC_CONFIG_FILES([\
|
|||||||
examples/domtop/Makefile \
|
examples/domtop/Makefile \
|
||||||
examples/openauth/Makefile \
|
examples/openauth/Makefile \
|
||||||
examples/hellolibvirt/Makefile \
|
examples/hellolibvirt/Makefile \
|
||||||
|
examples/rename/Makefile \
|
||||||
examples/systemtap/Makefile \
|
examples/systemtap/Makefile \
|
||||||
examples/xml/nwfilter/Makefile \
|
examples/xml/nwfilter/Makefile \
|
||||||
examples/lxcconvert/Makefile \
|
examples/lxcconvert/Makefile \
|
||||||
|
24
examples/rename/Makefile.am
Normal file
24
examples/rename/Makefile.am
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
## Copyright (C) 2005-2013 Red Hat, Inc.
|
||||||
|
##
|
||||||
|
## This library is free software; you can redistribute it and/or
|
||||||
|
## modify it under the terms of the GNU Lesser General Public
|
||||||
|
## License as published by the Free Software Foundation; either
|
||||||
|
## version 2.1 of the License, or (at your option) any later version.
|
||||||
|
##
|
||||||
|
## This library is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
## Lesser General Public License for more details.
|
||||||
|
##
|
||||||
|
## You should have received a copy of the GNU Lesser General Public
|
||||||
|
## License along with this library. If not, see
|
||||||
|
## <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
|
||||||
|
LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
|
||||||
|
$(COVERAGE_LDFLAGS)
|
||||||
|
|
||||||
|
noinst_PROGRAMS=rename
|
||||||
|
|
||||||
|
rename_SOURCES=rename.c
|
||||||
|
rename_LDADD= $(LDADDS)
|
73
examples/rename/rename.c
Normal file
73
examples/rename/rename.c
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* rename.c
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library. If not, see
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <libvirt/libvirt.h>
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
virConnectPtr conn = NULL; /* the hypervisor connection */
|
||||||
|
virDomainPtr dom = NULL; /* the domain being checked */
|
||||||
|
int ret = EXIT_FAILURE;
|
||||||
|
|
||||||
|
if (argc != 3) {
|
||||||
|
fprintf(stderr, "Usage: %s <current_domname> <temporary_domname>\n",
|
||||||
|
argv[0]);
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
conn = virConnectOpen(NULL);
|
||||||
|
if (conn == NULL) {
|
||||||
|
fprintf(stderr, "Failed to connect to hypervisor\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
dom = virDomainLookupByName(conn, argv[1]);
|
||||||
|
if (dom == NULL) {
|
||||||
|
fprintf(stderr, "Failed to find domain\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Before first rename: %s\n", virDomainGetName(dom));
|
||||||
|
|
||||||
|
/* Get the information */
|
||||||
|
ret = virDomainRename(dom, argv[2], 0);
|
||||||
|
if (ret < 0) {
|
||||||
|
fprintf(stderr, "Failed to rename domain\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("After first rename: %s\n", virDomainGetName(dom));
|
||||||
|
|
||||||
|
/* Get the information */
|
||||||
|
ret = virDomainRename(dom, argv[1], 0);
|
||||||
|
if (ret < 0) {
|
||||||
|
fprintf(stderr, "Failed to rename domain\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("After second rename: %s\n", virDomainGetName(dom));
|
||||||
|
|
||||||
|
error:
|
||||||
|
if (dom != NULL)
|
||||||
|
virDomainFree(dom);
|
||||||
|
if (conn != NULL)
|
||||||
|
virConnectClose(conn);
|
||||||
|
return ret;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user