IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- Generic quotas are defined and read from oned.conf (QUOTA_VM_ATTRIBUTE)
- Generic quotas react to the running mode (i.e. account only when the VM is
running). For each quota oned also adds a RUNNIN_* metric
- one.system.config API call has been updated so every user can read
quota configuration:
. Sensitive information is hidden (***)
. Oneadmin group has no longer access to sensitive information
through the API
- CLI has been updated to render generic quotas
- onedb fsck fixes generic quotas reading the configuration from
oned.conf
Other changes in this PR:
- Refactor Quota metrics to use std::vector instead of C array
Squashed commit of the following:
- New methods to Template and Attribute classes to render hidden
attributes as "***"
- Update Quota calls to not include unneeded quotas
co-authored-by:Ruben S. Montero <rsmontero@opennebula.org>
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
- Adds new configuration attribute MODE: FULL or INCREMENTAL for
BACKUP_CONFIG. FULL backups uses a differen backup image.
- INCREMENTAL backup information is together with the backup image.
Example:
<BACKUP_INCREMENTS>
<INCREMENT>
<DATE><![CDATA[1667770552]]></DATE>
<ID><![CDATA[0]]></ID>
<PARENT_ID><![CDATA[-1]]></PARENT_ID>
<SIZE><![CDATA[172]]></SIZE>
<SOURCE><![CDATA[bb828060]]></SOURCE>
<TYPE><![CDATA[FULL]]></TYPE>
</INCREMENT>
<INCREMENT>
<DATE><![CDATA[1667770604]]></DATE>
<ID><![CDATA[1]]></ID>
<PARENT_ID><![CDATA[0]]></PARENT_ID>
<SIZE><![CDATA[1]]></SIZE>
<SOURCE><![CDATA[ca0de5f6]]></SOURCE>
<TYPE><![CDATA[INCREMENT]]></TYPE>
</INCREMENT>
<INCREMENT>
<DATE><![CDATA[1667770700]]></DATE>
<ID><![CDATA[2]]></ID>
<PARENT_ID><![CDATA[1]]></PARENT_ID>
<SIZE><![CDATA[39]]></SIZE>
<SOURCE><![CDATA[e9897d6a]]></SOURCE>
<TYPE><![CDATA[INCREMENT]]></TYPE>
</INCREMENT>
</BACKUP_INCREMENTS>
This information only appears on incremental backups
- Internal BACKUP_CONFIG data includes information about the current
active backup and the last increment id.
- Backup operation includes a new parameter: reset. This "closes" the
current active incremental chain and creates a new FULL backup.
- Backup drivers store backups with increment index (0 = FULL) e.g.
disk.0.0.
- Incremental backups are only allowed for VMs using all disks in qcow2
format.
- Backup configuration cannot be changed while doing a VM backup.
- Downloader strings includes backup chains <inc_id>:<backup_ref>,...
- Restic downloader has been updated to support backup chains. Disk
images are rebased across increments.
SchedActions are now a complete managed type. It is in in /TEMPLATE and
not /USER_TEMPLATE and includes dedicated API Calls to manage the
entries:
- one.vm.schedadd (add new sched_action)
- one.vm.schedupdate (update an exiting sched_action)
- one.vm.scheddelete (delete an action)
The scheduler now use this API. This will prevent race conditions
between update operations from different processes.
co-authored-by: Pavel Czerný <pczerny@opennebula.systems>