mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
bitkeeper revision 1.1026.1.8 (40e1b09foCFBM0EuIgrSA1uLJrWuzA)
Restructuring the python code and libs - first stage.
This commit is contained in:
1 parent
4db27a4b7a
commit
48e9a9c636
136 files changed
+367
-651
No files matched your search
@@ -151,6 +151,7 @@
|
||||
3e5a4e681xMPdF9xCMwpyfuYMySU5g linux-2.4.26-xen-sparse/mm/mremap.c
|
||||
409ba2e7akOFqQUg6Qyg2s28xcXiMg linux-2.4.26-xen-sparse/mm/page_alloc.c
|
||||
3e5a4e683HKVU-sxtagrDasRB8eBVw linux-2.4.26-xen-sparse/mm/swapfile.c
|
||||
40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Make.defs
|
||||
3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
|
||||
401d7e160vaxMBAUSLSicuZ7AQjJ3w tools/examples/Makefile
|
||||
401d7e16UgeqroJQTIhwkrDVkoWgZQ tools/examples/README
|
||||
@@ -159,49 +160,69 @@
|
||||
405ff55dawQyCHFEnJ067ChPRoXBBA tools/examples/init.d/xend
|
||||
40278d94cIUWl2eRgnwZtr4hTyWT1Q tools/examples/init.d/xendomains
|
||||
40278d91ZjLhxdjjrGe8HEdwHLj5xQ tools/examples/netbsd
|
||||
40e15b7edWEtBf_oe3eBwGKuh1dyzQ tools/examples/vifctl
|
||||
401d7e16NpnVrFSsR7lKKKfTwCYvWA tools/examples/xc_dom_control.py
|
||||
401d7e16RJj-lbtsVEjua6HYAIiKiA tools/examples/xc_dom_create.py
|
||||
40c9c468pXANclL7slGaoD0kSrIwoQ tools/examples/xm_dom_create.py
|
||||
40cf2937oKlROYOJTN8GWwWM5AmjBg tools/examples/xmdefaults
|
||||
40dfd40auJwNnb8NoiSnRkvZaaXkUg tools/examples/xmnetbsd
|
||||
40e033325Sjqs-_4TuzeUEprP_gYFg tools/lib/allocate.c
|
||||
40e03332KYz7o1bn2MG_KPbBlyoIMA tools/lib/allocate.h
|
||||
40e03332IyRttYoXKoJla5qCC514SQ tools/lib/debug.h
|
||||
40e03332qV5tJ-GJZjo-LBCeGuEjJA tools/lib/enum.c
|
||||
40e03332wwMVxfobgA1PSMTSAGLiCw tools/lib/enum.h
|
||||
40e03332p5Dc_owJQRuN72ymJZddFQ tools/lib/file_stream.c
|
||||
40e03332jWfB2viAhLSkq1WK0r_iDQ tools/lib/file_stream.h
|
||||
40e03332rUjNMGg11n2rN6V4DCrvOg tools/lib/gzip_stream.c
|
||||
40e033321O5Qg22haLoq5lpmk4tooQ tools/lib/gzip_stream.h
|
||||
40e03332QrTR96tc6yS2rMBpd2mq1A tools/lib/hash_table.c
|
||||
40e033325KoIb0d_uy8s7b5DUR9fPQ tools/lib/hash_table.h
|
||||
40e03332ihnBGzHykVwZnFmkAppb4g tools/lib/iostream.c
|
||||
40e03332UGwbLR4wsw4ft14p0Yw5pg tools/lib/iostream.h
|
||||
40e0333245DLDzJemeSVBLuutHtzEQ tools/lib/kernel_stream.c
|
||||
40e03332aK0GkgpDdc-PVTkWKTeOBg tools/lib/kernel_stream.h
|
||||
40e03332HJ0cDcZDKDUUT-tEiBWOZw tools/lib/lexis.c
|
||||
40e03332tnH9Ggzxbfi3xY9Vh2hUlg tools/lib/lexis.h
|
||||
40e03332aYIW0BNBh6wXuKKn_P7Yyg tools/lib/lzi_stream.c
|
||||
40e0333233voTffE4cJSMGJARfiSSQ tools/lib/lzi_stream.h
|
||||
40e03332FXuMoUnfsAKSgV8X4rFbYQ tools/lib/lzo_stream.c
|
||||
40e03332InJaiLfpDcIXBy2fI0RFGQ tools/lib/lzo_stream.h
|
||||
40e03332a5SCuRsejHStTuWzMQNv8Q tools/lib/marshal.c
|
||||
40e03332TwKyJrZQiiQfNq4vc2hpgw tools/lib/marshal.h
|
||||
40e033328ccHlJuTR1FswYL_EC6LFA tools/lib/socket_stream.c
|
||||
40e03332P0KVQGkmahj47aafo1X0nA tools/lib/socket_stream.h
|
||||
40e03332KT_tnnoAMbPVAZBB7kSOAQ tools/lib/string_stream.c
|
||||
40e03332-VtK6_OZa1vMHXFil8uq6w tools/lib/string_stream.h
|
||||
40e03332dDtczi6YX7_mMxhYjJeAdQ tools/lib/sxpr.c
|
||||
40e03332QPuyNKDOTIYVvkwK5qO-vg tools/lib/sxpr.h
|
||||
40e03332Pi0_osJ3XPBi38ADPqdl4A tools/lib/sxpr_parser.c
|
||||
40e033324v5QFMvWEXXzv38uUT9kHg tools/lib/sxpr_parser.h
|
||||
40e03332gKUInsqtxQOV4mPiMqf_dg tools/lib/sys_ctype.h
|
||||
40e03332Rkvq6nn_UNjzAAK_Tk9v1g tools/lib/sys_net.c
|
||||
40e03332lQHvQHw4Rh7VsT1_sui29A tools/lib/sys_net.h
|
||||
40e033321smklZd7bDSdWvQCeIshtg tools/lib/sys_string.c
|
||||
40e03332h5V611rRWURRLqb1Ekatxg tools/lib/sys_string.h
|
||||
40e03332u4q5kgF0N7RfqB4s0pZVew tools/lib/xdr.c
|
||||
40e03332hY16nfRXF4gGd5S1aUJUBw tools/lib/xdr.h
|
||||
3fbba6dbDfYvJSsw9500b4SZyUhxjQ tools/libxc/Makefile
|
||||
3fbba6dc1uU7U3IFeF6A-XEOYF2MkQ tools/libxc/rpm.spec
|
||||
3fbba6dcrNxtygEcgJYAJJ1gCQqfsA tools/libxc/xc.h
|
||||
40589968oCfoUlXd460CjVAkBE8IBA tools/libxc/xc_atropos.c
|
||||
3fbba6dbEVkVMX0JuDFzap9jeaucGA tools/libxc/xc_bvtsched.c
|
||||
3fbba6dbasJQV-MVElDC0DGSHMiL5w tools/libxc/xc_domain.c
|
||||
40278d99BLsfUv3qxv0I8C1sClZ0ow tools/libxc/xc_elf.h
|
||||
403e0977Bjsm_e82pwvl9VvaJxh8Gg tools/libxc/xc_evtchn.c
|
||||
40e03333Eegw8czSWvHsbKxrRZJjRA tools/libxc/xc_io.c
|
||||
40e03333vrWGbLAhyJjXlqCHaJt7eA tools/libxc/xc_io.h
|
||||
3fbba6dbNCU7U6nsMYiXzKkp3ztaJg tools/libxc/xc_linux_build.c
|
||||
3fbba6dbl267zZOAVHYLOdLCdhcZMw tools/libxc/xc_linux_restore.c
|
||||
3fbba6db7li3FJiABYtCmuGxOJxEGw tools/libxc/xc_linux_save.c
|
||||
3fbba6db7WnnJr0KFrIFrqNlSKvFYg tools/libxc/xc_misc.c
|
||||
40278d9ctaHVDaEuwhXI3Om2JOjx9w tools/libxc/xc_netbsd_build.c
|
||||
4051bce6CHAsYh8P5t2OHDtRWOP9og tools/libxc/xc_physdev.c
|
||||
3fbba6dctWRWlFJkYb6hdix2X4WMuw tools/libxc/xc_private.c
|
||||
3fbba6dcbVrG2hPzEzwdeV_UC8kydQ tools/libxc/xc_private.h
|
||||
40589968UQFnJeOMn8UIFLbXBuwXjw tools/libxc/xc_rrobin.c
|
||||
40e1b09dMYB4ItGCqcMIzirdMd9I-w tools/libxutil/Makefile
|
||||
40e033325Sjqs-_4TuzeUEprP_gYFg tools/libxutil/allocate.c
|
||||
40e03332KYz7o1bn2MG_KPbBlyoIMA tools/libxutil/allocate.h
|
||||
40e03332IyRttYoXKoJla5qCC514SQ tools/libxutil/debug.h
|
||||
40e03332qV5tJ-GJZjo-LBCeGuEjJA tools/libxutil/enum.c
|
||||
40e03332wwMVxfobgA1PSMTSAGLiCw tools/libxutil/enum.h
|
||||
40e03332p5Dc_owJQRuN72ymJZddFQ tools/libxutil/file_stream.c
|
||||
40e03332jWfB2viAhLSkq1WK0r_iDQ tools/libxutil/file_stream.h
|
||||
40e03332rUjNMGg11n2rN6V4DCrvOg tools/libxutil/gzip_stream.c
|
||||
40e033321O5Qg22haLoq5lpmk4tooQ tools/libxutil/gzip_stream.h
|
||||
40e03332QrTR96tc6yS2rMBpd2mq1A tools/libxutil/hash_table.c
|
||||
40e033325KoIb0d_uy8s7b5DUR9fPQ tools/libxutil/hash_table.h
|
||||
40e03332ihnBGzHykVwZnFmkAppb4g tools/libxutil/iostream.c
|
||||
40e03332UGwbLR4wsw4ft14p0Yw5pg tools/libxutil/iostream.h
|
||||
40e0333245DLDzJemeSVBLuutHtzEQ tools/libxutil/kernel_stream.c
|
||||
40e03332aK0GkgpDdc-PVTkWKTeOBg tools/libxutil/kernel_stream.h
|
||||
40e03332HJ0cDcZDKDUUT-tEiBWOZw tools/libxutil/lexis.c
|
||||
40e03332tnH9Ggzxbfi3xY9Vh2hUlg tools/libxutil/lexis.h
|
||||
40e03332aYIW0BNBh6wXuKKn_P7Yyg tools/libxutil/lzi_stream.c
|
||||
40e0333233voTffE4cJSMGJARfiSSQ tools/libxutil/lzi_stream.h
|
||||
40e03332FXuMoUnfsAKSgV8X4rFbYQ tools/libxutil/lzo_stream.c
|
||||
40e03332InJaiLfpDcIXBy2fI0RFGQ tools/libxutil/lzo_stream.h
|
||||
40e03332a5SCuRsejHStTuWzMQNv8Q tools/libxutil/marshal.c
|
||||
40e03332TwKyJrZQiiQfNq4vc2hpgw tools/libxutil/marshal.h
|
||||
40e033328ccHlJuTR1FswYL_EC6LFA tools/libxutil/socket_stream.c
|
||||
40e03332P0KVQGkmahj47aafo1X0nA tools/libxutil/socket_stream.h
|
||||
40e03332KT_tnnoAMbPVAZBB7kSOAQ tools/libxutil/string_stream.c
|
||||
40e03332-VtK6_OZa1vMHXFil8uq6w tools/libxutil/string_stream.h
|
||||
40e03332dDtczi6YX7_mMxhYjJeAdQ tools/libxutil/sxpr.c
|
||||
40e03332QPuyNKDOTIYVvkwK5qO-vg tools/libxutil/sxpr.h
|
||||
40e03332Pi0_osJ3XPBi38ADPqdl4A tools/libxutil/sxpr_parser.c
|
||||
40e033324v5QFMvWEXXzv38uUT9kHg tools/libxutil/sxpr_parser.h
|
||||
40e03332gKUInsqtxQOV4mPiMqf_dg tools/libxutil/sys_ctype.h
|
||||
40e03332Rkvq6nn_UNjzAAK_Tk9v1g tools/libxutil/sys_net.c
|
||||
40e03332lQHvQHw4Rh7VsT1_sui29A tools/libxutil/sys_net.h
|
||||
40e033321smklZd7bDSdWvQCeIshtg tools/libxutil/sys_string.c
|
||||
40e03332h5V611rRWURRLqb1Ekatxg tools/libxutil/sys_string.h
|
||||
40e03332u4q5kgF0N7RfqB4s0pZVew tools/libxutil/xdr.c
|
||||
40e03332hY16nfRXF4gGd5S1aUJUBw tools/libxutil/xdr.h
|
||||
3f776bd2Xd-dUcPKlPN2vG89VGtfvQ tools/misc/Makefile
|
||||
40ab2cfawIw8tsYo0dQKtp83h4qfTQ tools/misc/fakei386xen
|
||||
3f6dc136ZKOjd8PIqLbFBl_v-rnkGg tools/misc/miniterm/Makefile
|
||||
@@ -213,99 +234,76 @@
|
||||
3f5ef5a2dTZP0nnsFoeq2jRf3mWDDg tools/misc/xen-clone.README
|
||||
3f870808zS6T6iFhqYPGelroZlVfGQ tools/misc/xen_cpuperf.c
|
||||
405eedf6_nnNhFQ1I85lhCkLK6jFGA tools/misc/xencons
|
||||
40c9c4697z76HDfkCLdMhmaEwzFoNQ tools/misc/xend
|
||||
4056f5155QYZdsk-1fLdjsZPFTnlhg tools/misc/xensymoops.py
|
||||
3fbca441SjQr8vJwTQIgH1laysaWog tools/xc/Makefile
|
||||
3fbba6dbDfYvJSsw9500b4SZyUhxjQ tools/xc/lib/Makefile
|
||||
3fbba6dc1uU7U3IFeF6A-XEOYF2MkQ tools/xc/lib/rpm.spec
|
||||
3fbba6dcrNxtygEcgJYAJJ1gCQqfsA tools/xc/lib/xc.h
|
||||
40589968oCfoUlXd460CjVAkBE8IBA tools/xc/lib/xc_atropos.c
|
||||
3fbba6dbEVkVMX0JuDFzap9jeaucGA tools/xc/lib/xc_bvtsched.c
|
||||
3fbba6dbasJQV-MVElDC0DGSHMiL5w tools/xc/lib/xc_domain.c
|
||||
40278d99BLsfUv3qxv0I8C1sClZ0ow tools/xc/lib/xc_elf.h
|
||||
403e0977Bjsm_e82pwvl9VvaJxh8Gg tools/xc/lib/xc_evtchn.c
|
||||
40e03333Eegw8czSWvHsbKxrRZJjRA tools/xc/lib/xc_io.c
|
||||
40e03333vrWGbLAhyJjXlqCHaJt7eA tools/xc/lib/xc_io.h
|
||||
3fbba6dbNCU7U6nsMYiXzKkp3ztaJg tools/xc/lib/xc_linux_build.c
|
||||
3fbba6dbl267zZOAVHYLOdLCdhcZMw tools/xc/lib/xc_linux_restore.c
|
||||
3fbba6db7li3FJiABYtCmuGxOJxEGw tools/xc/lib/xc_linux_save.c
|
||||
3fbba6db7WnnJr0KFrIFrqNlSKvFYg tools/xc/lib/xc_misc.c
|
||||
40278d9ctaHVDaEuwhXI3Om2JOjx9w tools/xc/lib/xc_netbsd_build.c
|
||||
4051bce6CHAsYh8P5t2OHDtRWOP9og tools/xc/lib/xc_physdev.c
|
||||
3fbba6dctWRWlFJkYb6hdix2X4WMuw tools/xc/lib/xc_private.c
|
||||
3fbba6dcbVrG2hPzEzwdeV_UC8kydQ tools/xc/lib/xc_private.h
|
||||
40589968UQFnJeOMn8UIFLbXBuwXjw tools/xc/lib/xc_rrobin.c
|
||||
3fbd0a3dTwnDcfdw0-v46dPbX98zDw tools/xc/py/Makefile
|
||||
3fbd0a42l40lM0IICw2jXbQBVZSdZg tools/xc/py/Xc.c
|
||||
3fbd0a40yT6G3M9hMpaz5xTUdl0E4g tools/xc/py/setup.py
|
||||
40c9c468icGyC5RAF1bRKsCXPDCvsA tools/xen/Makefile
|
||||
40dc4076hGpwa8-sWRN0jtXZeQJuKg tools/xen/lib/__init__.py
|
||||
40dfd40aMOhnw_cQLve9462UR5yYxQ tools/xen/lib/ext/__init__.py
|
||||
40d8915cyoVA0hJxiBFNymL7YvDaRg tools/xen/lib/util/Brctl.py
|
||||
40dfd40aGqGkiopOOgJxSF4iCbHM0Q tools/xen/lib/util/__init__.py
|
||||
4055ee4dwy4l0MghZosxoiu6zmhc9Q tools/xen/lib/util/console_client.py
|
||||
40c9c468IienauFHQ_xJIcqnPJ8giQ tools/xen/lib/util/ip.py
|
||||
4059c6a0pnxhG8hwSOivXybbGOwuXw tools/xen/lib/util/tempfile.py
|
||||
40c9c468SNuObE_YWARyS0hzTPSzKg tools/xen/lib/xend/Args.py
|
||||
40c9c468Um_qc66OQeLEceIz1pgD5g tools/xen/lib/xend/EventServer.py
|
||||
40c9c468U8EVl0d3G--8YXVg6VJD3g tools/xen/lib/xend/EventTypes.py
|
||||
40c9c468QJTEuk9g4qHxGpmIi70PEQ tools/xen/lib/xend/PrettyPrint.py
|
||||
40e15b7eeQxWE_hUPB2YTgM9fsZ1PQ tools/xen/lib/xend/Vifctl.py
|
||||
40c9c4688m3eqnC8fhLu1APm36VOVA tools/xen/lib/xend/XendClient.py
|
||||
40c9c468t6iIKTjwuYoe-UMCikDcOQ tools/xen/lib/xend/XendConsole.py
|
||||
40c9c468WnXs6eOUSff23IIGI4kMfQ tools/xen/lib/xend/XendDB.py
|
||||
40c9c468fSl3H3IypyT0ppkbb0ZT9A tools/xen/lib/xend/XendDomain.py
|
||||
40c9c468bbKq3uC7_fuNUkiMMjArdw tools/xen/lib/xend/XendDomainConfig.py
|
||||
40c9c4685ykq87_n1kVUbMr9flx9fg tools/xen/lib/xend/XendDomainInfo.py
|
||||
40c9c46854nsHmuxHQHncKk5rAs5NA tools/xen/lib/xend/XendMigrate.py
|
||||
40c9c468M96gA1EYDvNa5w5kQNYLFA tools/xen/lib/xend/XendNode.py
|
||||
40c9c4686jruMyZIqiaZRMiMoqMJtg tools/xen/lib/xend/XendRoot.py
|
||||
40c9c468xzANp6o2D_MeCYwNmOIUsQ tools/xen/lib/xend/XendVnet.py
|
||||
40c9c468x191zetrVlMnExfsQWHxIQ tools/xen/lib/xend/__init__.py
|
||||
40c9c468S2YnCEKmk4ey8XQIST7INg tools/xen/lib/xend/encode.py
|
||||
40c9c468DCpMe542varOolW1Xc68ew tools/xen/lib/xend/server/SrvBase.py
|
||||
40c9c468IxQabrKJSWs0aEjl-27mRQ tools/xen/lib/xend/server/SrvConsole.py
|
||||
40c9c4689Io5bxfbYIfRiUvsiLX0EQ tools/xen/lib/xend/server/SrvConsoleDir.py
|
||||
40c9c468woSmBByfeXA4o_jGf2gCgA tools/xen/lib/xend/server/SrvDaemon.py
|
||||
40c9c468kACsmkqjxBWKHRo071L26w tools/xen/lib/xend/server/SrvDeviceDir.py
|
||||
40c9c468EQZJVkCLds-OhesJVVyZbQ tools/xen/lib/xend/server/SrvDir.py
|
||||
40c9c468TyHZUq8sk0FF_vxM6Sozrg tools/xen/lib/xend/server/SrvDomain.py
|
||||
40c9c469WzajDjutou3X7FmL9hMf3g tools/xen/lib/xend/server/SrvDomainDir.py
|
||||
40c9c469-8mYEJJTAR6w_ClrJRAfwQ tools/xen/lib/xend/server/SrvEventDir.py
|
||||
40c9c4694eu5759Dehr4Uhakei0EMg tools/xen/lib/xend/server/SrvNode.py
|
||||
40c9c469TaZ83ypsrktmPSHLEZiP5w tools/xen/lib/xend/server/SrvRoot.py
|
||||
40c9c469W3sgDMbBJYQdz5wbQweL0Q tools/xen/lib/xend/server/SrvServer.py
|
||||
40c9c469aq7oXrE1Ngqf3_lBqL0RoQ tools/xen/lib/xend/server/SrvVnetDir.py
|
||||
40c9c469Y_aimoOFfUZoS-4eV8gEKg tools/xen/lib/xend/server/__init__.py
|
||||
40c9c4692hckPol_EK0EGB16ZyDsyQ tools/xen/lib/xend/server/blkif.py
|
||||
40c9c469N2-b3GqpLHHHPZykJPLVvA tools/xen/lib/xend/server/channel.py
|
||||
40c9c469hJ_IlatRne-9QEa0-wlquw tools/xen/lib/xend/server/console.py
|
||||
40c9c469UcNJh_NuLU0ytorM0Lk5Ow tools/xen/lib/xend/server/controller.py
|
||||
40c9c469vHh-qLiiubdbKEQbJf18Zw tools/xen/lib/xend/server/cstruct.py
|
||||
40d83983OXjt-y3HjSCcuoPp9rzvmw tools/xen/lib/xend/server/domain.py
|
||||
40c9c469yrm31i60pGKslTi2Zgpotg tools/xen/lib/xend/server/messages.py
|
||||
40c9c46925x-Rjb0Cv2f1-l2jZrPYg tools/xen/lib/xend/server/netif.py
|
||||
40c9c469ZqILEQ8x6yWy0_51jopiCg tools/xen/lib/xend/server/params.py
|
||||
40c9c469LNxLVizOUpOjEaTKKCm8Aw tools/xen/lib/xend/sxp.py
|
||||
40d05079aFRp6NQdo5wIh5Ly31c0cg tools/xen/lib/xm/__init__.py
|
||||
40cf2937gKQcATgXKGtNeWb1PDH5nA tools/xen/lib/xm/create.py
|
||||
40cf2937isyS250zyd0Q2GuEDoNXfQ tools/xen/lib/xm/main.py
|
||||
40cf2937PSslwBliN1g7ofDy2H_RhA tools/xen/lib/xm/opts.py
|
||||
40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/xen/lib/xm/shutdown.py
|
||||
40c9c469n2RRwCmjWdjdyyVRWKmgWg tools/xen/setup.py
|
||||
40e15b7edWEtBf_oe3eBwGKuh1dyzQ tools/xen/vifctl
|
||||
40c9c4697z76HDfkCLdMhmaEwzFoNQ tools/xen/xend
|
||||
40cf2937dqM1jWW87O5OoOYND8leuA tools/xen/xm
|
||||
40cf2937dqM1jWW87O5OoOYND8leuA tools/misc/xm
|
||||
40c9c468icGyC5RAF1bRKsCXPDCvsA tools/python/Makefile
|
||||
40c9c469n2RRwCmjWdjdyyVRWKmgWg tools/python/setup.py
|
||||
40dc4076hGpwa8-sWRN0jtXZeQJuKg tools/python/xen/__init__.py
|
||||
40dfd40aMOhnw_cQLve9462UR5yYxQ tools/python/xen/ext/__init__.py
|
||||
3fbd0a3dTwnDcfdw0-v46dPbX98zDw tools/python/xen/ext/xc/Makefile
|
||||
3fbd0a40yT6G3M9hMpaz5xTUdl0E4g tools/python/xen/ext/xc/setup.py
|
||||
3fbd0a42l40lM0IICw2jXbQBVZSdZg tools/python/xen/ext/xc/xc.c
|
||||
40dc4076St6AmPTmQPrtQ6LGHPxGmw tools/python/xen/ext/xu/__init__.py
|
||||
40dc4076pVeE1kEEWzcUaNZin65kCA tools/python/xen/ext/xu/domain_controller.h
|
||||
40dc4076CwBYRTUQDdbdU1L6KcLgSw tools/python/xen/ext/xu/xu.c
|
||||
40d8915cyoVA0hJxiBFNymL7YvDaRg tools/python/xen/util/Brctl.py
|
||||
40dfd40aGqGkiopOOgJxSF4iCbHM0Q tools/python/xen/util/__init__.py
|
||||
4055ee4dwy4l0MghZosxoiu6zmhc9Q tools/python/xen/util/console_client.py
|
||||
40c9c468IienauFHQ_xJIcqnPJ8giQ tools/python/xen/util/ip.py
|
||||
4059c6a0pnxhG8hwSOivXybbGOwuXw tools/python/xen/util/tempfile.py
|
||||
40c9c468SNuObE_YWARyS0hzTPSzKg tools/python/xen/xend/Args.py
|
||||
40c9c468Um_qc66OQeLEceIz1pgD5g tools/python/xen/xend/EventServer.py
|
||||
40c9c468U8EVl0d3G--8YXVg6VJD3g tools/python/xen/xend/EventTypes.py
|
||||
40c9c468QJTEuk9g4qHxGpmIi70PEQ tools/python/xen/xend/PrettyPrint.py
|
||||
40e15b7eeQxWE_hUPB2YTgM9fsZ1PQ tools/python/xen/xend/Vifctl.py
|
||||
40c9c4688m3eqnC8fhLu1APm36VOVA tools/python/xen/xend/XendClient.py
|
||||
40c9c468t6iIKTjwuYoe-UMCikDcOQ tools/python/xen/xend/XendConsole.py
|
||||
40c9c468WnXs6eOUSff23IIGI4kMfQ tools/python/xen/xend/XendDB.py
|
||||
40c9c468fSl3H3IypyT0ppkbb0ZT9A tools/python/xen/xend/XendDomain.py
|
||||
40c9c468bbKq3uC7_fuNUkiMMjArdw tools/python/xen/xend/XendDomainConfig.py
|
||||
40c9c4685ykq87_n1kVUbMr9flx9fg tools/python/xen/xend/XendDomainInfo.py
|
||||
40c9c46854nsHmuxHQHncKk5rAs5NA tools/python/xen/xend/XendMigrate.py
|
||||
40c9c468M96gA1EYDvNa5w5kQNYLFA tools/python/xen/xend/XendNode.py
|
||||
40c9c4686jruMyZIqiaZRMiMoqMJtg tools/python/xen/xend/XendRoot.py
|
||||
40c9c468xzANp6o2D_MeCYwNmOIUsQ tools/python/xen/xend/XendVnet.py
|
||||
40c9c468x191zetrVlMnExfsQWHxIQ tools/python/xen/xend/__init__.py
|
||||
40c9c468S2YnCEKmk4ey8XQIST7INg tools/python/xen/xend/encode.py
|
||||
40c9c468DCpMe542varOolW1Xc68ew tools/python/xen/xend/server/SrvBase.py
|
||||
40c9c468IxQabrKJSWs0aEjl-27mRQ tools/python/xen/xend/server/SrvConsole.py
|
||||
40c9c4689Io5bxfbYIfRiUvsiLX0EQ tools/python/xen/xend/server/SrvConsoleDir.py
|
||||
40c9c468woSmBByfeXA4o_jGf2gCgA tools/python/xen/xend/server/SrvDaemon.py
|
||||
40c9c468kACsmkqjxBWKHRo071L26w tools/python/xen/xend/server/SrvDeviceDir.py
|
||||
40c9c468EQZJVkCLds-OhesJVVyZbQ tools/python/xen/xend/server/SrvDir.py
|
||||
40c9c468TyHZUq8sk0FF_vxM6Sozrg tools/python/xen/xend/server/SrvDomain.py
|
||||
40c9c469WzajDjutou3X7FmL9hMf3g tools/python/xen/xend/server/SrvDomainDir.py
|
||||
40c9c469-8mYEJJTAR6w_ClrJRAfwQ tools/python/xen/xend/server/SrvEventDir.py
|
||||
40c9c4694eu5759Dehr4Uhakei0EMg tools/python/xen/xend/server/SrvNode.py
|
||||
40c9c469TaZ83ypsrktmPSHLEZiP5w tools/python/xen/xend/server/SrvRoot.py
|
||||
40c9c469W3sgDMbBJYQdz5wbQweL0Q tools/python/xen/xend/server/SrvServer.py
|
||||
40c9c469aq7oXrE1Ngqf3_lBqL0RoQ tools/python/xen/xend/server/SrvVnetDir.py
|
||||
40c9c469Y_aimoOFfUZoS-4eV8gEKg tools/python/xen/xend/server/__init__.py
|
||||
40c9c4692hckPol_EK0EGB16ZyDsyQ tools/python/xen/xend/server/blkif.py
|
||||
40c9c469N2-b3GqpLHHHPZykJPLVvA tools/python/xen/xend/server/channel.py
|
||||
40c9c469hJ_IlatRne-9QEa0-wlquw tools/python/xen/xend/server/console.py
|
||||
40c9c469UcNJh_NuLU0ytorM0Lk5Ow tools/python/xen/xend/server/controller.py
|
||||
40c9c469vHh-qLiiubdbKEQbJf18Zw tools/python/xen/xend/server/cstruct.py
|
||||
40d83983OXjt-y3HjSCcuoPp9rzvmw tools/python/xen/xend/server/domain.py
|
||||
40c9c469yrm31i60pGKslTi2Zgpotg tools/python/xen/xend/server/messages.py
|
||||
40c9c46925x-Rjb0Cv2f1-l2jZrPYg tools/python/xen/xend/server/netif.py
|
||||
40c9c469ZqILEQ8x6yWy0_51jopiCg tools/python/xen/xend/server/params.py
|
||||
40c9c469LNxLVizOUpOjEaTKKCm8Aw tools/python/xen/xend/sxp.py
|
||||
40d05079aFRp6NQdo5wIh5Ly31c0cg tools/python/xen/xm/__init__.py
|
||||
40cf2937gKQcATgXKGtNeWb1PDH5nA tools/python/xen/xm/create.py
|
||||
40cf2937isyS250zyd0Q2GuEDoNXfQ tools/python/xen/xm/main.py
|
||||
40cf2937PSslwBliN1g7ofDy2H_RhA tools/python/xen/xm/opts.py
|
||||
40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/python/xen/xm/shutdown.py
|
||||
403a3edbrr8RE34gkbR40zep98SXbg tools/xentrace/Makefile
|
||||
40a107afN60pFdURgBv9KwEzgRl5mQ tools/xentrace/formats
|
||||
4050c413PhhLNAYk3TEwP37i_iLw9Q tools/xentrace/xentrace.8
|
||||
403a3edbVpV2E_wq1zeEkJ_n4Uu2eg tools/xentrace/xentrace.c
|
||||
403a3edblCUrzSj0mmKhO5HOPrOrSQ tools/xentrace/xentrace_format
|
||||
4050c413NtuyIq5lsYJV4P7KIjujXw tools/xentrace/xentrace_format.1
|
||||
40dfd40a0QtsSGigB9TCpVGWZmhlNA tools/xu/Makefile
|
||||
40dc4076St6AmPTmQPrtQ6LGHPxGmw tools/xu/lib/__init__.py
|
||||
40dc4076pVeE1kEEWzcUaNZin65kCA tools/xu/lib/domain_controller.h
|
||||
40dc4076CwBYRTUQDdbdU1L6KcLgSw tools/xu/lib/xu.c
|
||||
40dc4076FyWUYS2nX9YufgglUzKX2A tools/xu/setup.py
|
||||
3f72f1bdJPsV3JCnBqs9ddL9tr6D2g xen/COPYING
|
||||
3ddb79bcbOVHh38VJzc97-JEGD4dJQ xen/Makefile
|
||||
3ddb79bcWnTwYsQRWl_PaneJfa6p0w xen/Rules.mk
|
||||
|
||||
@@ -53,3 +53,22 @@ xen/xen
|
||||
xen/xen-syms
|
||||
xen/xen.*
|
||||
tools/xc/lib/.xc_rrobin.o.d
|
||||
tools/libxc/.xc_atropos.o.d
|
||||
tools/libxc/.xc_bvtsched.o.d
|
||||
tools/libxc/.xc_domain.o.d
|
||||
tools/libxc/.xc_evtchn.o.d
|
||||
tools/libxc/.xc_io.o.d
|
||||
tools/libxc/.xc_linux_build.o.d
|
||||
tools/libxc/.xc_linux_restore.o.d
|
||||
tools/libxc/.xc_linux_save.o.d
|
||||
tools/libxc/.xc_misc.o.d
|
||||
tools/libxc/.xc_netbsd_build.o.d
|
||||
tools/libxc/.xc_physdev.o.d
|
||||
tools/libxc/.xc_private.o.d
|
||||
tools/libxc/.xc_rrobin.o.d
|
||||
tools/libxutil/.allocate.o.d
|
||||
tools/libxutil/.file_stream.o.d
|
||||
tools/libxutil/.gzip_stream.o.d
|
||||
tools/libxutil/.iostream.o.d
|
||||
tools/libxutil/.sys_net.o.d
|
||||
tools/libxutil/.sys_string.o.d
|
||||
@@ -0,0 +1,7 @@
|
||||
# -*- mode: Makefile; -*-
|
||||
XEN_HYPERVISOR_IFS = $(XEN_ROOT)/xen/include/hypervisor-ifs
|
||||
XEN_LINUX_INCLUDE = $(XEN_ROOT)/linux-xen-sparse/include
|
||||
XEN_XU = $(XEN_ROOT)/tools/python/xen/ext/xu
|
||||
XEN_XC = $(XEN_ROOT)/tools/python/xen/ext/xc
|
||||
XEN_LIBXC = $(XEN_ROOT)/tools/libxc
|
||||
XEN_LIBXUTIL = $(XEN_ROOT)/tools/libxutil
|
||||
+9
-9
@@ -1,29 +1,29 @@
|
||||
|
||||
all:
|
||||
$(MAKE) -C xc
|
||||
$(MAKE) -C xu
|
||||
$(MAKE) -C libxutil
|
||||
$(MAKE) -C libxc
|
||||
$(MAKE) -C misc
|
||||
$(MAKE) -C examples
|
||||
$(MAKE) -C xentrace
|
||||
$(MAKE) -C xen
|
||||
$(MAKE) -C python
|
||||
|
||||
install: all
|
||||
$(MAKE) -C xc install
|
||||
$(MAKE) -C xu install
|
||||
$(MAKE) -C libxutil install
|
||||
$(MAKE) -C libxc install
|
||||
$(MAKE) -C misc install
|
||||
$(MAKE) -C examples install
|
||||
$(MAKE) -C xentrace install
|
||||
$(MAKE) -C xen install
|
||||
$(MAKE) -C python install
|
||||
|
||||
dist: $(TARGET)
|
||||
$(MAKE) prefix=`pwd`/../../install dist=yes install
|
||||
|
||||
|
||||
clean:
|
||||
$(MAKE) -C xc clean
|
||||
$(MAKE) -C xu clean
|
||||
$(MAKE) -C libxutil clean
|
||||
$(MAKE) -C libxc clean
|
||||
$(MAKE) -C misc clean
|
||||
$(MAKE) -C examples clean
|
||||
$(MAKE) -C xentrace clean
|
||||
$(MAKE) -C xen clean
|
||||
$(MAKE) -C python clean
|
||||
|
||||
+23
-4
@@ -1,21 +1,40 @@
|
||||
|
||||
INSTALL = $(wildcard *.py)
|
||||
|
||||
ETC = defaults democd netbsd xmdefaults
|
||||
ETCDIR = /etc/xen
|
||||
|
||||
INITD = init.d/xendomains init.d/xend
|
||||
|
||||
XEND = vifctl
|
||||
XEND_DIR = $(ETCDIR)/xend
|
||||
|
||||
all:
|
||||
|
||||
install: all
|
||||
install: all install-bin install-initd install-etc install-xend
|
||||
|
||||
install-bin:
|
||||
mkdir -p $(prefix)/usr/bin
|
||||
install -m0755 $(INSTALL) $(prefix)/usr/bin
|
||||
|
||||
install-initd:
|
||||
mkdir -p $(prefix)/etc/init.d
|
||||
install -m0755 $(INITD) $(prefix)/etc/init.d
|
||||
|
||||
install-etc:
|
||||
mkdir -p $(prefix)$(ETCDIR)
|
||||
mkdir -p $(prefix)$(ETCDIR)/auto
|
||||
mkdir -p $(prefix)/etc/init.d
|
||||
install -m0755 $(INSTALL) $(prefix)/usr/bin
|
||||
for i in $(ETC); \
|
||||
do [ -a $(prefix)/$(ETCDIR)/$$i ] || \
|
||||
install -m0644 $$i $(prefix)$(ETCDIR); \
|
||||
done
|
||||
install -m0755 $(INITD) $(prefix)/etc/init.d
|
||||
|
||||
install-xend:
|
||||
mkdir -p $(prefix)$(XEND_DIR)
|
||||
for i in $(XEND); \
|
||||
do [ -a $(prefix)/$(XEND_DIR)/$$i ] || \
|
||||
install -m0755 $$i $(prefix)$(XEND_DIR); \
|
||||
done
|
||||
|
||||
|
||||
clean:
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/python
|
||||
# -*- mode: python; -*-
|
||||
#============================================================================
|
||||
# Xen vif control script.
|
||||
# Xen vif control script. Lives in /etc/xen/xend.
|
||||
#
|
||||
# vifctl init [bridge=<bridge>] [interface=<interface>]
|
||||
#
|
||||
@@ -1,406 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import string
|
||||
import sys
|
||||
import os
|
||||
import os.path
|
||||
import time
|
||||
import socket
|
||||
import getopt
|
||||
import signal
|
||||
import syslog
|
||||
import xenctl.ip
|
||||
import xenctl.utils
|
||||
import xenctl.console_client
|
||||
|
||||
from xenmgr import sxp
|
||||
from xenmgr import PrettyPrint
|
||||
from xenmgr.XendClient import server
|
||||
|
||||
config_dir = '/etc/xc/'
|
||||
config_file = xc_config_file = config_dir + 'defaults'
|
||||
|
||||
def main_usage ():
|
||||
print >>sys.stderr,"""
|
||||
Usage: %s <args>
|
||||
|
||||
This tool is used to create and start new domains. It reads defaults
|
||||
from a file written in Python, having allowed variables to be set and
|
||||
passed into the file. Further command line arguments allow the
|
||||
defaults to be overridden. The defaults for each parameter are listed
|
||||
in [] brackets. Arguments are as follows:
|
||||
|
||||
Arguments to control the parsing of the defaults file:
|
||||
-f config_file -- Use the specified defaults script.
|
||||
Default: ['%s']
|
||||
-L state_file -- Load virtual machine memory state from state_file
|
||||
-D foo=bar -- Set variable foo=bar before parsing config
|
||||
E.g. '-D vmid=3;ip=1.2.3.4'
|
||||
-h -- Print extended help message, including all arguments
|
||||
-n -- Dry run only, don't actually create domain
|
||||
Prints the config, suitable for -F.
|
||||
-q -- Quiet - write output only to the system log
|
||||
-F domain_config -- Build domain using the config in the file.
|
||||
Suitable files can be made using '-n' to output a config.
|
||||
""" % (sys.argv[0], xc_config_file)
|
||||
|
||||
def extra_usage ():
|
||||
print >>sys.stderr,"""
|
||||
Arguments to override current config read from '%s':
|
||||
-c -- Turn into console terminal after domain is created
|
||||
-k image -- Path to kernel image ['%s']
|
||||
-r ramdisk -- Path to ramdisk (or empty) ['%s']
|
||||
-b builder_fn -- Function to use to build domain ['%s']
|
||||
-m mem_size -- Initial memory allocation in MB [%dMB]
|
||||
-N domain_name -- Set textual name of domain ['%s']
|
||||
-a auto_restart -- Restart domain on exit, yes/no ['%d']
|
||||
-e vbd_expert -- Safety catch to avoid some disk accidents ['%s']
|
||||
-d udisk,dev,rw -- Add disk, partition, or virtual disk to domain. E.g. to
|
||||
make partion sda4 available to the domain as hda1 with
|
||||
read-write access: '-d phy:sda4,hda1,rw' To add
|
||||
multiple disks use multiple -d flags or seperate with ';'
|
||||
Default: ['%s']
|
||||
-i vfr_ipaddr -- Add IP address to the list which Xen will route to
|
||||
the domain. Use multiple times to add more IP addrs.
|
||||
Default: ['%s']
|
||||
|
||||
Args to override the kernel command line, which is concatenated from these:
|
||||
-I cmdline_ip -- Override 'ip=ipaddr:nfsserv:gateway:netmask::eth0:off'
|
||||
Default: ['%s']
|
||||
-R cmdline_root -- Override root device parameters.
|
||||
Default: ['%s']
|
||||
-E cmdline_extra -- Override extra kernel args and rc script env vars.
|
||||
Default: ['%s']
|
||||
|
||||
""" % (config_file,
|
||||
image, ramdisk, builder_fn, mem_size, domain_name, auto_restart,
|
||||
vbd_expert,
|
||||
printvbds( vbd_list ),
|
||||
reduce ( (lambda a,b: a+':'+b), vfr_ipaddr,'' )[1:],
|
||||
cmdline_ip, cmdline_root, cmdline_extra)
|
||||
|
||||
def config_usage (): pass
|
||||
|
||||
def answer ( s ):
|
||||
s = string.lower(s)
|
||||
if s == 'yes' or s == 'true' or s == '1': return 1
|
||||
return 0
|
||||
|
||||
def printvbds ( v ):
|
||||
s=''
|
||||
for (a,b,c) in v:
|
||||
s = s + '; %s,%s,%s' % (a,b,c)
|
||||
return s[2:]
|
||||
|
||||
def output(string):
|
||||
global quiet
|
||||
syslog.syslog(string)
|
||||
if not quiet:
|
||||
print string
|
||||
return
|
||||
|
||||
bail=False; dryrun=False; extrahelp=False; quiet = False
|
||||
image=''; ramdisk=''; builder_fn='linux'; restore=0; state_file=''
|
||||
mem_size=0; domain_name=''; vfr_ipaddr=[];
|
||||
vbd_expert='rr'; auto_restart=False;
|
||||
vbd_list = []; cmdline_ip = ''; cmdline_root=''; cmdline_extra=''
|
||||
pci_device_list = []; console_port = -1
|
||||
auto_console = False
|
||||
config_from_file = False
|
||||
|
||||
##### Determine location of defaults file
|
||||
#####
|
||||
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:], "h?nqcf:F:D:k:r:b:m:N:a:e:d:i:I:R:E:L:" )
|
||||
|
||||
for opt in opts:
|
||||
if opt[0] == '-f': config_file= opt[1]
|
||||
if opt[0] == '-h' or opt[0] == '-?' : bail=True; extrahelp=True
|
||||
if opt[0] == '-n': dryrun=True
|
||||
if opt[0] == '-D':
|
||||
for o in string.split( opt[1], ';' ):
|
||||
(l,r) = string.split( o, '=' )
|
||||
exec "%s='%s'" % (l,r)
|
||||
if opt[0] == '-q': quiet = True
|
||||
if opt[0] == '-L': restore = True; state_file = opt[1]
|
||||
if opt[0] == '-F': config_from_file = True; domain_config = opt[1]
|
||||
|
||||
|
||||
except getopt.GetoptError:
|
||||
bail=True
|
||||
|
||||
if not config_from_file:
|
||||
try:
|
||||
os.stat( config_file )
|
||||
except:
|
||||
try:
|
||||
d = config_dir + config_file
|
||||
os.stat( d )
|
||||
config_file = d
|
||||
except:
|
||||
print >> sys.stderr, "Unable to open config file '%s'" % config_file
|
||||
bail = True
|
||||
|
||||
|
||||
##### Parse the config file
|
||||
#####
|
||||
|
||||
if not config_from_file:
|
||||
if not quiet:
|
||||
print "Parsing config file '%s'" % config_file
|
||||
|
||||
try:
|
||||
execfile ( config_file )
|
||||
except (AssertionError,IOError):
|
||||
print >>sys.stderr,"Exiting %s" % sys.argv[0]
|
||||
bail = True
|
||||
|
||||
##### Print out config if necessary
|
||||
#####
|
||||
|
||||
def bailout():
|
||||
global extrahelp
|
||||
main_usage()
|
||||
config_usage()
|
||||
if extrahelp: extra_usage()
|
||||
sys.exit(1)
|
||||
|
||||
if bail:
|
||||
bailout()
|
||||
|
||||
##### Parse any command line overrides
|
||||
#####
|
||||
|
||||
x_vbd_list = []
|
||||
x_vfr_ipaddr = []
|
||||
|
||||
for opt in opts:
|
||||
if opt[0] == '-k': image = opt[1]
|
||||
if opt[0] == '-r': ramdisk = opt[1]
|
||||
if opt[0] == '-b': builder_fn = opt[1]
|
||||
if opt[0] == '-m': mem_size = int(opt[1])
|
||||
if opt[0] == '-C': cpu = int(opt[1])
|
||||
if opt[0] == '-N': domain_name = opt[1]
|
||||
if opt[0] == '-a': auto_restart = answer(opt[1])
|
||||
if opt[0] == '-e': vbd_expert = opt[1]
|
||||
if opt[0] == '-I': cmdline_ip = opt[1]
|
||||
if opt[0] == '-R': cmdline_root = opt[1]
|
||||
if opt[0] == '-E': cmdline_extra = opt[1]
|
||||
if opt[0] == '-i': x_vfr_ipaddr.append(opt[1])
|
||||
if opt[0] == '-c': auto_console = True
|
||||
if opt[0] == '-d':
|
||||
try:
|
||||
vv = string.split(opt[1],';')
|
||||
for v in vv:
|
||||
(udisk,dev,mode) = string.split(v,',')
|
||||
x_vbd_list.append( (udisk,dev,mode) )
|
||||
except:
|
||||
print >>sys.stderr, "Invalid block device specification : %s" % opt[1]
|
||||
sys.exit(1)
|
||||
|
||||
if x_vbd_list: vbd_list = x_vbd_list
|
||||
if x_vfr_ipaddr: vfr_ipaddr = x_vfr_ipaddr
|
||||
|
||||
syslog.openlog('xc_dom_create.py %s' % config_file, 0, syslog.LOG_DAEMON)
|
||||
|
||||
def strip(pre, s):
|
||||
if s.startswith(pre):
|
||||
return s[len(pre):]
|
||||
else:
|
||||
return s
|
||||
|
||||
def make_domain_config():
|
||||
global builder_fn, image, ramdisk, mem_size, domain_name
|
||||
global cpu
|
||||
global cmdline, cmdline_ip, cmdline_root
|
||||
global vfr_ipaddr, vbd_list, vbd_expert
|
||||
|
||||
config = ['config',
|
||||
['name', domain_name ],
|
||||
['memory', mem_size ],
|
||||
]
|
||||
if cpu:
|
||||
config.append(['cpu', cpu])
|
||||
|
||||
config_image = [ builder_fn ]
|
||||
config_image.append([ 'kernel', os.path.abspath(image) ])
|
||||
if ramdisk:
|
||||
config_image.append([ 'ramdisk', os.path.abspath(ramdisk) ])
|
||||
if cmdline_ip:
|
||||
cmdline_ip = strip("ip=", cmdline_ip)
|
||||
config_image.append(['ip', cmdline_ip])
|
||||
if cmdline_root:
|
||||
cmdline_root = strip("root=", cmdline_root)
|
||||
config_image.append(['root', cmdline_root])
|
||||
if cmdline_extra:
|
||||
config_image.append(['args', cmdline_extra])
|
||||
config.append(['image', config_image ])
|
||||
|
||||
config_devs = []
|
||||
for (uname, dev, mode) in vbd_list:
|
||||
config_vbd = ['vbd',
|
||||
['uname', uname],
|
||||
['dev', dev ],
|
||||
['mode', mode ] ]
|
||||
if vbd_expert != 'rr':
|
||||
config_vbd.append(['sharing', vbd_expert])
|
||||
config_devs.append(['device', config_vbd])
|
||||
|
||||
for (bus, dev, func) in pci_device_list:
|
||||
config_pci = ['pci',
|
||||
['bus', bus ],
|
||||
['dev', dev ],
|
||||
['func', func] ]
|
||||
config_devs.append(['device', config_pci])
|
||||
|
||||
# Add one vif with unspecified MAC.
|
||||
config_devs.append(['device', ['vif']])
|
||||
|
||||
config += config_devs
|
||||
|
||||
config_vfr = ['vfr']
|
||||
idx = 0 # No way of saying which IP is for which vif?
|
||||
for ip in vfr_ipaddr:
|
||||
config_vfr.append(['vif', ['id', idx], ['ip', ip]])
|
||||
|
||||
config.append(config_vfr)
|
||||
return config
|
||||
|
||||
def parse_config_file(domain_file):
|
||||
config = None
|
||||
fin = None
|
||||
try:
|
||||
fin = file(domain_file, "rb")
|
||||
config = sxp.parse(fin)
|
||||
if len(config) >= 1:
|
||||
config = config[0]
|
||||
else:
|
||||
raise StandardError("Invalid configuration")
|
||||
except StandardError, ex:
|
||||
print >> sys.stderr, "Error :", ex
|
||||
sys.exit(1)
|
||||
#finally:
|
||||
if fin: fin.close()
|
||||
return config
|
||||
|
||||
# This function creates, builds and starts a domain, using the values
|
||||
# in the global variables, set above. It is used in the subsequent
|
||||
# code for starting the new domain and rebooting it if appropriate.
|
||||
def make_domain(config):
|
||||
"""Create, build and start a domain.
|
||||
Returns: [int] the ID of the new domain.
|
||||
"""
|
||||
global restore
|
||||
|
||||
if restore:
|
||||
dominfo = server.xend_domain_restore(state_file, config)
|
||||
else:
|
||||
dominfo = server.xend_domain_create(config)
|
||||
|
||||
dom = int(sxp.child_value(dominfo, 'id'))
|
||||
console_info = sxp.child(dominfo, 'console')
|
||||
if console_info:
|
||||
console_port = int(sxp.child_value(console_info, 'port'))
|
||||
else:
|
||||
console_port = None
|
||||
|
||||
if server.xend_domain_unpause(dom) < 0:
|
||||
print "Error starting domain"
|
||||
server.xend_domain_halt(dom)
|
||||
sys.exit()
|
||||
|
||||
return (dom, console_port)
|
||||
|
||||
PID_DIR = '/var/run/xendomains/'
|
||||
|
||||
def pidfile(dom):
|
||||
return PID_DIR + '%d.pid' % dom
|
||||
|
||||
def mkpidfile():
|
||||
global current_id
|
||||
if not os.path.isdir(PID_DIR):
|
||||
os.mkdir(PID_DIR)
|
||||
|
||||
fd = open(pidfile(current_id), 'w')
|
||||
print >> fd, str(os.getpid())
|
||||
fd.close()
|
||||
return
|
||||
|
||||
def rmpidfile():
|
||||
global current_id
|
||||
os.unlink(pidfile(current_id))
|
||||
|
||||
def death_handler(dummy1,dummy2):
|
||||
global current_id
|
||||
os.unlink(pidfile(current_id))
|
||||
output('Auto-restart daemon: daemon PID = %d for domain %d is now exiting'
|
||||
% (os.getpid(), current_id))
|
||||
sys.exit(0)
|
||||
return
|
||||
|
||||
#============================================================================
|
||||
# The starting / monitoring of the domain actually happens here...
|
||||
|
||||
if config_from_file:
|
||||
config = parse_config_file(domain_config)
|
||||
else:
|
||||
config = make_domain_config()
|
||||
|
||||
if dryrun:
|
||||
print "# %s" % ' '.join(sys.argv)
|
||||
PrettyPrint.prettyprint(config)
|
||||
sys.exit(0)
|
||||
elif quiet:
|
||||
pass
|
||||
else:
|
||||
PrettyPrint.prettyprint(config)
|
||||
|
||||
# start the domain and record its ID number
|
||||
(current_id, current_port) = make_domain(config)
|
||||
|
||||
def start_msg(prefix, dom, port):
|
||||
output(prefix + "VM started in domain %d" % dom)
|
||||
if port:
|
||||
output(prefix + "Console I/O available on TCP port %d." % port)
|
||||
|
||||
start_msg('', current_id, current_port)
|
||||
|
||||
if current_port and auto_console:
|
||||
xenctl.console_client.connect('127.0.0.1', current_port)
|
||||
|
||||
# if the auto_restart flag is set then keep polling to see if the domain is
|
||||
# alive - restart if it is not by calling make_domain() again (it's necessary
|
||||
# to update the id variable, since the new domain may have a new ID)
|
||||
|
||||
#todo: Replace this - get xend to watch them.
|
||||
if auto_restart:
|
||||
ARD = "Auto-restart daemon: "
|
||||
# turn ourselves into a background daemon
|
||||
try:
|
||||
pid = os.fork()
|
||||
if pid > 0:
|
||||
sys.exit(0)
|
||||
os.setsid()
|
||||
pid = os.fork()
|
||||
if pid > 0:
|
||||
output(ARD + 'PID = %d' % pid)
|
||||
sys.exit(0)
|
||||
signal.signal(signal.SIGTERM,death_handler)
|
||||
except OSError:
|
||||
print >> sys.stderr, ARD+'Startup failed'
|
||||
sys.exit(1)
|
||||
|
||||
mkpidfile()
|
||||
|
||||
while True:
|
||||
time.sleep(1)
|
||||
# todo: use new interface
|
||||
info = xc.domain_getinfo(current_id, 1)
|
||||
if info == [] or info[0]['dom'] != current_id:
|
||||
output(ARD + "Domain %d terminated, restarting VM in new domain"
|
||||
% current_id)
|
||||
rmpidfile()
|
||||
(current_id, current_port) = make_domain()
|
||||
mkpidfile()
|
||||
start_msg(ARD, current_id, current_port)
|
||||
@@ -5,19 +5,20 @@ SONAME = libxc.so.$(MAJOR)
|
||||
|
||||
CC = gcc
|
||||
|
||||
XEN_ROOT = ../../..
|
||||
XEN_ROOT = ../..
|
||||
include $(XEN_ROOT)/tools/Make.defs
|
||||
|
||||
vpath %.h $(XEN_ROOT)/xen/include/hypervisor-ifs
|
||||
INCLUDES += -I $(XEN_ROOT)/xen/include/hypervisor-ifs
|
||||
vpath %.h $(XEN_HYPERVISOR_IFS)
|
||||
INCLUDES += -I $(XEN_HYPERVISOR_IFS)
|
||||
|
||||
vpath %.h $(XEN_ROOT)/tools/xu/lib
|
||||
INCLUDES += -I $(XEN_ROOT)/tools/xu/lib
|
||||
vpath %h $(XEN_LINUX_INCLUDE)
|
||||
INCLUDES += -I $(XEN_LINUX_INCLUDE)
|
||||
|
||||
vpath %h $(XEN_ROOT)/linux-xen-sparse/include
|
||||
INCLUDES += -I $(XEN_ROOT)/linux-xen-sparse/include
|
||||
vpath %.h $(XEN_XU)
|
||||
INCLUDES += -I $(XEN_XU)
|
||||
|
||||
vpath %c $(XEN_ROOT)/tools/lib
|
||||
INCLUDES += -I $(XEN_ROOT)/tools/lib
|
||||
vpath %c $(XEN_LIBXUTIL)
|
||||
INCLUDES += -I $(XEN_LIBXUTIL)
|
||||
|
||||
LIB_SRCS :=
|
||||
LIB_SRCS += allocate.c
|
||||
@@ -54,11 +55,7 @@ SRCS += xc_physdev.c
|
||||
SRCS += xc_private.c
|
||||
SRCS += xc_rrobin.c
|
||||
|
||||
SRCS += $(LIB_SRCS)
|
||||
|
||||
#CFLAGS += -I../../../xen/include/hypervisor-ifs
|
||||
#CFLAGS += -I../../xu/lib
|
||||
#CFLAGS += -I../../../linux-xen-sparse/include
|
||||
#SRCS += $(LIB_SRCS)
|
||||
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -Werror
|
||||
@@ -109,7 +106,7 @@ libxc.so:
|
||||
libxc.so.$(MAJOR):
|
||||
ln -sf libxc.so.$(MAJOR).$(MINOR) $@
|
||||
libxc.so.$(MAJOR).$(MINOR): $(OBJS)
|
||||
$(CC) -Wl,-soname -Wl,$(SONAME) -shared -o $@ $^ -lz
|
||||
$(CC) -Wl,-soname -Wl,$(SONAME) -shared -o $@ $^ ../libxutil/libxutil.a -lz
|
||||
|
||||
%.o: %.c Makefile
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -4,15 +4,18 @@ void xcio_error(XcIOContext *ctxt, const char *msg, ...){
|
||||
va_list args;
|
||||
|
||||
va_start(args, msg);
|
||||
vfprintf(stdout, msg, args); fprintf(stdout, "\n");
|
||||
IOStream_vprint(ctxt->info, msg, args);
|
||||
IOStream_print(ctxt->info, "\n");
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void xcio_info(XcIOContext *ctxt, const char *msg, ...){
|
||||
va_list args;
|
||||
|
||||
if(!(ctxt->flags & XCFLAGS_VERBOSE)) return;
|
||||
if(0 && !(ctxt->flags & XCFLAGS_VERBOSE)) return;
|
||||
va_start(args, msg);
|
||||
vfprintf(stdout, msg, args); fprintf(stdout, "\n");
|
||||
IOStream_vprint(ctxt->info, msg, args);
|
||||
va_end(args);
|
||||
}
|
||||
@@ -20,8 +23,9 @@ void xcio_info(XcIOContext *ctxt, const char *msg, ...){
|
||||
void xcio_debug(XcIOContext *ctxt, const char *msg, ...){
|
||||
va_list args;
|
||||
|
||||
if(!(ctxt->flags & XCFLAGS_DEBUG)) return;
|
||||
if(0 && !(ctxt->flags & XCFLAGS_DEBUG)) return;
|
||||
va_start(args, msg);
|
||||
vfprintf(stdout, msg, args); fprintf(stdout, "\n");
|
||||
IOStream_vprint(ctxt->info, msg, args);
|
||||
va_end(args);
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -310,7 +310,7 @@ int xc_linux_save(int xc_handle, XcIOContext *ioctxt)
|
||||
|
||||
if ( xc_domain_getfullinfo( xc_handle, domid, &op, &ctxt) )
|
||||
{
|
||||
PERROR("Could not get full domain info");
|
||||
xcio_error(ioctxt, "Could not get full domain info");
|
||||
goto out;
|
||||
}
|
||||
memcpy(name, op.u.getdomaininfo.name, sizeof(name));
|
||||
@@ -336,7 +336,7 @@ int xc_linux_save(int xc_handle, XcIOContext *ioctxt)
|
||||
|
||||
/* cheesy sanity check */
|
||||
if ( nr_pfns > 1024*1024 ){
|
||||
xcio_error(ioctxt, "Invalid state record -- pfn count out of range");
|
||||
xcio_error(ioctxt, "Invalid state record -- pfn count out of range: %lu", nr_pfns);
|
||||
goto out;
|
||||
}
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,80 @@
|
||||
XEN_ROOT = ../..
|
||||
include $(XEN_ROOT)/tools/Make.defs
|
||||
|
||||
CC = gcc
|
||||
|
||||
LIB_SRCS :=
|
||||
LIB_SRCS += allocate.c
|
||||
#LIB_SRCS += enum.c
|
||||
LIB_SRCS += file_stream.c
|
||||
LIB_SRCS += gzip_stream.c
|
||||
#LIB_SRCS += hash_table.c
|
||||
LIB_SRCS += iostream.c
|
||||
#LIB_SRCS += kernel_stream.c
|
||||
#LIB_SRCS += lexis.c
|
||||
#LIB_SRCS += lzi_stream.c
|
||||
#LIB_SRCS += lzo_stream.c
|
||||
#LIB_SRCS += marshal.c
|
||||
#LIB_SRCS += socket_stream.c
|
||||
#LIB_SRCS += string_stream.c
|
||||
#LIB_SRCS += sxpr.c
|
||||
#LIB_SRCS += sxpr_parser.c
|
||||
LIB_SRCS += sys_net.c
|
||||
LIB_SRCS += sys_string.c
|
||||
#LIB_SRCS += xdr.c
|
||||
|
||||
LIB_OBJS := $(LIB_SRCS:.c=.o)
|
||||
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -Werror
|
||||
CFLAGS += -g
|
||||
CFLAGS += -O3
|
||||
CFLAGS += -fno-strict-aliasing
|
||||
#CFLAGS += $(INCLUDES)
|
||||
# Get gcc to generate the dependencies for us.
|
||||
CFLAGS += -Wp,-MD,.$(@F).d
|
||||
DEPS = .*.d
|
||||
|
||||
MAJOR = 1.3
|
||||
MINOR = 0
|
||||
LIB_NAME = libxutil
|
||||
LIB_BASE = $(LIB_NAME).so
|
||||
LIB_MAJOR= $(LIB_BASE).$(MAJOR)
|
||||
LIB_MINOR= $(LIB_MAJOR).$(MINOR)
|
||||
LIB = $(LIB_BASE) $(LIB_MAJOR) $(LIB_MINOR) $(LIB_NAME).a
|
||||
|
||||
all: check-for-zlib $(LIB)
|
||||
|
||||
$(LIB_BASE):
|
||||
ln -sf $(LIB_MAJOR) $@
|
||||
|
||||
$(LIB_MAJOR):
|
||||
ln -sf $(LIB_MINOR) $@
|
||||
|
||||
$(LIB_MINOR): $(LIB_OBJS)
|
||||
$(CC) -Wl,-soname -Wl,$(LIB_MAJOR) -shared -o $@ $^
|
||||
|
||||
$(LIB_NAME).a: $(LIB_OBJS)
|
||||
$(AR) rc $@ $^
|
||||
|
||||
check-for-zlib:
|
||||
@if [ ! -e /usr/include/zlib.h ]; then \
|
||||
echo "***********************************************************"; \
|
||||
echo "ERROR: install zlib header files (http://www.gzip.org/zlib)"; \
|
||||
echo "***********************************************************"; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
install: all
|
||||
mkdir -p $(prefix)/usr/lib
|
||||
mkdir -p $(prefix)/usr/include
|
||||
install -m0755 $(LIB) $(prefix)/usr/lib
|
||||
|
||||
#install -m0644 xc.h $(prefix)/usr/include
|
||||
|
||||
clean:
|
||||
$(RM) *.a *.so *.o *.rpm $(LIB)
|
||||
$(RM) *~
|
||||
$(RM) $(DEPS)
|
||||
|
||||
-include $(DEPS)
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+17
-8
@@ -1,10 +1,18 @@
|
||||
|
||||
XEN_ROOT=../..
|
||||
include $(XEN_ROOT)/tools/Make.defs
|
||||
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -O3
|
||||
EXTRA_INC = -I../../xen/include/hypervisor-ifs
|
||||
EXTRA_INC += -I../../linux-xen-sparse/include -I../xc/lib
|
||||
EXTRA_INC += -I../xu/lib
|
||||
EXTRA_INC += -I../lib
|
||||
|
||||
INCLUDES += -I $(XEN_HYPERVISOR_IFS)
|
||||
INCLUDES += -I $(XEN_LINUX_INCLUDE)
|
||||
INCLUDES += -I $(XEN_XC)
|
||||
INCLUDES += -I $(XEN_XU)
|
||||
INCLUDES += -I $(XEN_LIBXC)
|
||||
INCLUDES += -I $(XEN_LIBXUTIL)
|
||||
|
||||
CFLAGS += $(INCLUDES)
|
||||
|
||||
HDRS = $(wildcard *.h)
|
||||
SRCS = $(wildcard *.c)
|
||||
@@ -12,7 +20,8 @@ OBJS = $(patsubst %.c,%.o,$(SRCS))
|
||||
|
||||
TARGETS = xen_cpuperf
|
||||
|
||||
INSTALL = $(TARGETS) xencons
|
||||
INSTALL_BIN = $(TARGETS) xencons
|
||||
INSTALL_SBIN = netfix xm xend
|
||||
|
||||
all: $(TARGETS)
|
||||
$(MAKE) -C miniterm
|
||||
@@ -20,8 +29,8 @@ all: $(TARGETS)
|
||||
install: all
|
||||
mkdir -p $(prefix)/usr/bin
|
||||
mkdir -p $(prefix)/usr/sbin
|
||||
install -m0755 $(INSTALL) $(prefix)/usr/bin
|
||||
install -m0755 netfix $(prefix)/usr/sbin
|
||||
install -m0755 $(INSTALL_BIN) $(prefix)/usr/bin
|
||||
install -m0755 $(INSTALL_SBIN) $(prefix)/usr/sbin
|
||||
$(MAKE) -C miniterm install
|
||||
|
||||
clean:
|
||||
@@ -29,4 +38,4 @@ clean:
|
||||
$(MAKE) -C miniterm clean
|
||||
|
||||
%: %.c $(HDRS) Makefile
|
||||
$(CC) $(CFLAGS) $(EXTRA_INC) -o $@ $<
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
+3
-2
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
# -*- mode: python; -*-
|
||||
#============================================================================
|
||||
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
|
||||
#============================================================================
|
||||
# Move the IP address from eth0 onto the Xen bridge (nbe-br).
|
||||
@@ -7,7 +8,7 @@
|
||||
#============================================================================
|
||||
|
||||
from getopt import getopt
|
||||
from xen.xend.XendBridge import *
|
||||
from xen.util.Brctl import *
|
||||
|
||||
short_options = 'hvqni:b:c'
|
||||
long_options = ['help', 'verbose', 'quiet',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
# -*- mode: python; -*-
|
||||
#============================================================================
|
||||
# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
|
||||
#============================================================================
|
||||
|
||||
"""Xen management daemon. Lives in /usr/sbin.
|
||||
Provides console server and HTTP management api.
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/env python
|
||||
# -*- mode: python; -*-
|
||||
import sys
|
||||
from xen.xm import main
|
||||
File renamed without changes.
@@ -0,0 +1,48 @@
|
||||
|
||||
from distutils.core import setup, Extension
|
||||
|
||||
XEN_ROOT = "../.."
|
||||
|
||||
extra_compile_args = ["-fno-strict-aliasing"]
|
||||
|
||||
|
||||
include_dirs = [ XEN_ROOT + "/xen/include/hypervisor-ifs",
|
||||
XEN_ROOT + "/linux-xen-sparse/include",
|
||||
XEN_ROOT + "/tools/python/xen/ext/xu",
|
||||
XEN_ROOT + "/tools/libxc",
|
||||
XEN_ROOT + "/tools/libxutil",
|
||||
]
|
||||
|
||||
library_dirs = [ XEN_ROOT + "/tools/libxc",
|
||||
XEN_ROOT + "/tools/libxutil",
|
||||
]
|
||||
|
||||
libraries = [ "xc", "xutil" ]
|
||||
|
||||
xc = Extension("xc",
|
||||
extra_compile_args = extra_compile_args,
|
||||
include_dirs = include_dirs + [ "xen/ext/xc" ],
|
||||
library_dirs = library_dirs,
|
||||
libraries = libraries,
|
||||
sources = [ "xen/ext/xc/xc.c" ])
|
||||
|
||||
xu = Extension("xu",
|
||||
extra_compile_args = extra_compile_args,
|
||||
include_dirs = include_dirs + [ "xen/ext/xu" ],
|
||||
library_dirs = library_dirs,
|
||||
libraries = libraries,
|
||||
sources = [ "xen/ext/xu/xu.c" ])
|
||||
|
||||
setup(name = 'xen',
|
||||
version = '2.0',
|
||||
description = 'Xen',
|
||||
packages = ['xen',
|
||||
'xen.ext',
|
||||
'xen.util',
|
||||
'xen.xend',
|
||||
'xen.xend.server',
|
||||
'xen.xm',
|
||||
],
|
||||
ext_package = "xen.ext",
|
||||
ext_modules = [ xc, xu ]
|
||||
)
|
||||
File renamed without changes.
File renamed without changes.
@@ -12,4 +12,4 @@ install: all
|
||||
fi
|
||||
|
||||
clean:
|
||||
rm -rf build *.pyc *.pyo *.a *.so *.o *~ *.rpm
|
||||
rm -rf build *.pyc *.pyo *.o *.a *~
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 136 files, more files were not shown because too many files have changed in this diff.
Show more