📄 readme.lifecycle
字号:
Xend Lifecycle/XenAPI Implementation Changes============================================Summary of what has changed in this branch of Xend:Managed Domains---------------The concept of managed domains is that Xend now has the ability tomanage the lifecycle of a domain from when it is created to beingshutdown. XendDomain~~~~~~~~~~In order to support managed domains, XendDomain has been modified tokeep the configuration in /var/lib/xend/domains/.The configuration is stored in SXP format so that it can be easilyloaded by the current Xend. In the future, we may switch to an XMLformat similar to how XenAPI defines a VM configuration.TODO: There are still places where the device configuration or VMconfiguration can be altered but the managed domain does not save it.XendDomainInfo~~~~~~~~~~~~~~XendDomainInfo has changed to support this mode of operation,especially with domain construction and assumptions about the domainwhen it shuts down.All configuration option parsing and validation has been moved fromXendDomainInfo to XendConfig. The purpose is so that we can abstractaway the knowledge of SXP in XendDomainInfo. The goal is to do awaywith the bulky way of accessing SXP in Xend and moving that all to amore pythonic interface.The DevController stuff at the end of XendDomainInfo has also beenmoved to XendDevices because now it is needed in both XendConfig andXendDomainInfo.Many of the constants are moved to XendConstants which reduces theamount of recursive or scoped imports that occur in the code.XendConfig~~~~~~~~~~XendConfig is the beginnings of an interface for configuration optionsso that other parts of Xend do not need to know what format theconfiguration in. It can accept configuration passed in as parsed SXPformat, python filename or a Xen API struct.It is a subclass of a python dictionary, and hence access to itsfunctions are via the __getitem__ accessor. TODO: Define a proper interface to the XendConfig which is based oneither the Xen API or some other flexible format.XMLRPCServer~~~~~~~~~~~~Changes to the busy loop in here and SrvServer so that the daemonshuts down cleanly. This also allows us to catch the shutdown andperform maintanence tasks on the domains. Replacing xendomains init.d script ==================================Some work has gone into catching Xend's shutdown so that we can do thesame tasks that xendomains init.d script does but natively in Xend.For instance, a new configuration option, 'on_xend_start' and'on_xend_stop' will allow domains that are managed by Xend to start upwhen Xend starts, and correspondingly stop when Xend stops.Xen API=======The new Xen API gives a standard interface to creating, configuring,controlling and destroying VMs and the virtual devices that belong toit.It also introduces the concept of Storage Repositories (SR) which arefactories for creating disk images.XendDomain~~~~~~~~~~XendDomain has now separated the section for the Legacy XM XMLRPC APIand the new Xen API.Since many things have a UUID, these are stored and represented asclose to the existing configuration. XendDomainInfo~~~~~~~~~~~~~~XendDomainInfo now supports UUIDs being assigned to devices and thedomain itself. It will preserve the UUID for managed domains.A number of new functions are now in XendDomainInfo to provide aninterface to devices.XendNode~~~~~~~~Represents the Host class in the Xen API and also contains anincomplete representation of the physical CPUs availabel for the host.XendAuthSessions~~~~~~~~~~~~~~~~An abstract authenticator for the Xen API. Currently it is an emptyimplementation with rudimentary support for users. The plan is the addPAM based authentication.XendAPI~~~~~~~The guts of the Xen API implementation. Implements all the supportedfunctionality of the Xen API by placing calls to the relevent objectslike XendDomain and XendDomanInfo.The initialisation of the XendAPI object will actually install anumber of validation decorators in order to ensure the input iscorrect. It is using some features of introspection andmetaprogramming in Python to reduce the amount of replication in thecode.XMLRPCServer~~~~~~~~~~~~The XMLRPC Server will support both the new Xen API and the old XMXMLRPC API. The support is clearly marked in the code.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -