mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-08 21:17:43 +03:00
865908de1c
co-authored-by: Pavel Czerný <pczerny@opennebula.systems> co-authored-by: Frederick Borges <fborges@opennebula.io> co-authored-by: Christian González <cgonzalez@opennebula.io> * VNET updates trigger a driver action on running VMs with NICs in the network. * VNET includes a sets with VM status: updated, outdated, error and updating. With VMs in each state. * VNET flags error situations with a new state UPDATE_FAILURE. * The same procedure is applied when an AR is updated (only VMs in that AR are updated). * A new options in the one.vn.recover API call enable to recover or retry this VM update operations. * The following attributes can be live-updated per VNET driver: - PHYDEV (novlan, vlan, ovs driver) - MTU (vlan, ovs driver) - VLAN_ID (vlan, ovs driver) - QINQ_TYPE (ovs driver) - CVLANS (ovs driver) - VLAN_TAGGED_ID (ovs driver) - OUTER_VLAN_ID (ovs driver) - INBOUND_AVG_BW (SG, ovs driver + KVM) - INBOUND_PEAK_BW (SG, ovs driver + KVM) - INBOUND_PEAK_KB (SG, ovs driver + KVM) - OUTBOUND_AVG_BW (SG, ovs driver + KVM) - OUTBOUND_PEAK_BW (SG, ovs driver + KVM) - OUTBOUND_PEAK_KB (SG, ovs driver + KVM) * New API call one.vm.updatenic, allows to update individual NICs without the need of detach/attach (only QoS supported). * Update operations for: 802.1Q, bridge, fw, ovswitch, ovswitch_vxlan and vxlan network drivers. * VNET attributes (old values) stored in VNET_UPDATE to allow implementation of update operations. The attribute is removed after a successful update. * Updates to CLI onevnet (--retry option) / onevm (nicupdate command) * XSD files updated to reflect the new data model * Ruby and JAVA bindings updated: new VNET state and recover option, new VM API call. * Suntone and Fireedge implementation (lease status, recover option, new states) TODO: Virtual Functions does not support this functionality iii
115 lines
5.7 KiB
XML
115 lines
5.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
|
|
targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
|
|
<xs:include schemaLocation="vnet.xsd"/>
|
|
<xs:element name="VNET_POOL">
|
|
<xs:complexType>
|
|
<xs:sequence maxOccurs="1" minOccurs="1">
|
|
<xs:element name="VNET" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer"/>
|
|
<xs:element name="UID" type="xs:integer"/>
|
|
<xs:element name="GID" type="xs:integer"/>
|
|
<xs:element name="UNAME" type="xs:string"/>
|
|
<xs:element name="GNAME" type="xs:string"/>
|
|
<xs:element name="NAME" type="xs:string"/>
|
|
<xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="OWNER_U" type="xs:integer"/>
|
|
<xs:element name="OWNER_M" type="xs:integer"/>
|
|
<xs:element name="OWNER_A" type="xs:integer"/>
|
|
<xs:element name="GROUP_U" type="xs:integer"/>
|
|
<xs:element name="GROUP_M" type="xs:integer"/>
|
|
<xs:element name="GROUP_A" type="xs:integer"/>
|
|
<xs:element name="OTHER_U" type="xs:integer"/>
|
|
<xs:element name="OTHER_M" type="xs:integer"/>
|
|
<xs:element name="OTHER_A" type="xs:integer"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="CLUSTERS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="BRIDGE" type="xs:string"/>
|
|
<xs:element name="BRIDGE_TYPE" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="STATE" type="xs:integer"/>
|
|
<xs:element name="PREV_STATE" type="xs:integer"/>
|
|
<xs:element name="PARENT_NETWORK_ID" type="xs:string"/>
|
|
<xs:element name="VN_MAD" type="xs:string"/>
|
|
<xs:element name="PHYDEV" type="xs:string"/>
|
|
<xs:element name="VLAN_ID" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="OUTER_VLAN_ID" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="VLAN_ID_AUTOMATIC" type="xs:string"/>
|
|
<xs:element name="OUTER_VLAN_ID_AUTOMATIC" type="xs:string"/>
|
|
<xs:element name="USED_LEASES" type="xs:integer"/>
|
|
<xs:element name="VROUTERS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="UPDATED_VMS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="OUTDATED_VMS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="UPDATING_VMS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="ERROR_VMS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="TEMPLATE" type="xs:anyType"/>
|
|
<xs:element name="AR_POOL">
|
|
<xs:complexType>
|
|
<xs:sequence minOccurs="0">
|
|
<xs:element name="AR" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ALLOCATED" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="AR_ID" type="xs:string"/>
|
|
<xs:element name="GLOBAL_PREFIX" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="IP" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="MAC" type="xs:string"/>
|
|
<xs:element name="PARENT_NETWORK_AR_ID" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="SIZE" type="xs:integer"/>
|
|
<xs:element name="TYPE" type="xs:string"/>
|
|
<xs:element name="ULA_PREFIX" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="VN_MAD" type="xs:string" minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema> |