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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
This commit adds the following features using the vlan_filter
capabilities of the Linux Bridge:
* 802.1Q driver, support for QinQ. This is not a full implementation
compared to the vSwitch as there is no native support in the linux
bridge:
- VLAN_ID is the (outer/C-VLAN) tag implemented by tagging the
PHY_DEV interface
- CVLANS are the customer tags, any other VLAN is filtered out in
the bridge
* bridge driver, support for vlan filtering (VLAN_TAGGED_ID) only the
specified tags are allowed in the trunk.
Additionally this commits includes linting of some files.
(cherry picked from commit e379bd66842dc4aa256e1c503ca425553d02bf9b)
This is the first version of a ScaleWay drivers for OneProvision. The
drivers include the following features:
- Full support for defining Scaleway zones and regions, predefined files
for Paris-1, Amsterdam-1 and Warsaw-3.
- Edge cluster based on metal instances
- Flexible IP support for VMs running on Scaleway clusters
- Private networking based on VXLAN and FRR (bgp-evpn). Future versions
of this driver will consider extending IPAM to use Scaleway private
networks.
- Playbook includes an /etc/hosts update to support name resolution of
scaleway instances (needed by libvirt for live migration)
This commit also updates firewall to allow libvirt ports.
co-authored-by: Victor Palma <vpalma@opennebula.io>
- Now are named local. SSH drivers will be distributed for running VMs
that use the SSH drivers.
- The new drivers optimize Qcow2 operations in the same way as the
shared TM driver, including:
- thin provisioning, when available a cow copy is made
- Qcow2 snapshots for the snapshot operations
- Some operations has been improved code-wise
- It should be a drop-in replacement for ssh
- New drivers are written in Ruby to accommodate future improvements
- By default new datastores will use "local" instead of "ssh"
co-authored-by: Ruben S. Montero <rsmontero@opennebula.org>
* Remove vm_import table from DB
* Remove imported vms actions
* Fix fsck for image and network
* onedb fsck fix running_vms only for non-backup images
This feature let's cloud admin to proxy VM connections to any service through the hypervisor. VMs uses a link local IP that is forwarded to a local proxy. This simplifies VM network requirements, e.g. to access gateway, vaults, configuration services etc...
Implementation:
- Use network namespaces to isolate VNET networking. ip netns command is executed through a wrapper to limit sudo access to commands.
- Add tproxy.rb app to manage a group of daemons on HV nodes.
- Use unix sockets for communication between proxy peers. "Inner" proxy runs in the netns without any network access. "Outer" proxy handles HV connections to services.
- Use OpenNebulaNetwork.conf + 'onehost sync -f' for configuration. Proxy can be defined per network.
* Cleanup oned in case of initialization error
* Fix monitoring after onemonitord restart. The code includes a "hook" point in case a driver is re-started so custom code can be executed. InformationManager sends the list of hosts and raft status in this case.
* B #5801: Update error msg, in case of duplicated drivers
This commit implements a transparent proxy for OneGate service (as well as any other TCP service)
* #6281: Disable legacy OneGateProxy
* Implement OneGateProxy in VN drivers
- Fix LXC linuxcontainers monitor action (error setting header)
- Update context packages URL reference to point to the new location
- Add lxc marketplace utility to sudoers file (removed in a previous
commit)
- Remove CentOS from supported OS list in LXC marketplace
(CentOS9_Stream includes some failures that need further debugging)
in TM cloning script
- Added function get_ds_attribute to tm_common.sh to get a given attribute from a Datastore
- Using falloc preallocation mode on the qemu-img commands since it is faster than using full preallocation
- Note the cloning script when using the TM_MAD = ssh does not use qemu-img command. Instead it uses the tar command, hence it ignores the QCOW2_OPTIONS parameter
- Deleted get_ds_attribute function since it is no longer needed
- SPARSE is inherited from Datastore on oned.conf
- Changed resize statement so it uses same syntax as the clone statement
Signed-off-by: Alejandro Mosteiro <amosteiro@opennebula.io>
Co-authored-by: Tino Vázquez <cvazquez@opennebula.io>
This commit implements the in-place restore of VM backups. Selected VM disks will
be replaced with the specified backup:
* A new API call has been added to the XML-RPC API (`one.vm.restore`) with
the following arguments:
- VM ID to be restored, needs to be in **poweroff** state
- IMAGE ID of the backup to restore
- INCREMENT ID, only for incremental backups, the increment to use
(defults to -1 to use the last increment available)
- DISK ID of the disk to restore (defaults to -1 to restore all VM
disks)
* Datastore drivers needs to implemente a new operation `ls`. This new
operation takes the VM, image information of the backup and datastore
information and returns the restore URL for the disks in the backup.
* This commit includes the implementation for qcow2 and ssh drivers,
ceph will be implemented in a separated PR. The new driver action is
`restore host:vm_dir vm_id img_id inc_id disk_id`
* The restore operation is performed in a new state `PROLOG_RESTORE`
rendered as `RESTORE` and `rest` in short form. State in in RSuntone.
TODO:
- Remove any existing VM snapshot (system/disk) in the VM. Note that
snapshots are not included in a backup.
- Ceph drivers
- JAVA, GO Lang API bindings
- Sunstone interface, new state and new operation. Review new state in
RSuntone.
co-authored-by: Pavel Czerny <pczerny@opennebula.io>