1
0
mirror of https://github.com/OpenNebula/one.git synced 2024-12-21 09:33:53 +03:00
Commit Graph

2039 Commits

Author SHA1 Message Date
Ruben S. Montero
146dfe6a09
F #6669: Support for VLAN filtering and QinQ
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)
2024-12-11 11:38:22 +01:00
Ruben S. Montero
55ad4891e1
F #6756: Fix Scaleway render 2024-12-09 01:40:40 +01:00
Miguel E. Ruiz
2af3757059
F #6756: Scaleway drivers for OneProvision
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>
2024-12-05 15:51:49 +01:00
Guillemo Ramos
38e28ddfb1
F #5853: fix rhel8 (Ruby<2.7) (#3308)
Signed-off-by: Guillermo Ramos <gramos@opennebula.io>
2024-11-25 15:54:31 +01:00
Guillermo Ramos
1ef2f06ed6
F #5853: New version of ssh drivers
- 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>
2024-11-24 18:41:32 +01:00
Pavel Czerný
fa73142e7d
F #6723: Remove onehost importvm (#3231)
* 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
2024-11-21 17:31:47 +01:00
Michal Opala
d29681e60b
F OpenNebula/one#6770: Downgrade unf gem (< 0.2.0) for RedHat8 and AlmaLinux8 (#3286) 2024-11-05 09:42:19 +01:00
Tino Vázquez
5aa664fc62
L #-: Remove files to be obsoleted from rubocop 2024-11-04 17:23:56 +01:00
Michal Opala
539a2a6172
F OpenNebula/one#6770: Rebuild gem locks (#3284)
- Remove unused gems: etc, rb-inotify
- Remove unsupported distros: Debian10, Ubuntu1804, Ubuntu2004
- Update RHEL tags: 8.8 -> 8.10, 9.2 -> 9.4
- Update locks for: AlmaLinux8/9, RedHat8/9, Debian11/12, Ubuntu22/24
2024-11-04 16:36:54 +01:00
Jan Orel
842a5e880a
M #-: Revert bump provision repository (#3281) 2024-11-04 13:35:13 +01:00
Michal Opala
b1ef4332e5
F OpenNebula/one#6641: Add the "string-phone" transparent proxy (#3221)
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.
2024-09-26 18:19:48 +02:00
Pavel Czerný
ff7be13b32
M #-: Bumb DB version (#3222) 2024-09-10 15:56:42 +02:00
Pavel Czerný
7b07def90e
B #6687: Fix monitoring initialization and restart
* 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
2024-09-05 16:25:03 +02:00
Pavel Czerný
cd9eb49321
M #-: Fix *.xsd (#3205)
* Schemas validated by online tool
* Ambiguity errors not solved
2024-09-03 18:45:56 +02:00
Tino Vázquez
0491d23135
M #-: Bump version 6.99.0 2024-09-02 17:15:09 +02:00
Jan Orel
5d6b8571b0
M #-: Install OpenNebula 6.10 in provision (#3195)
Co-authored-by: Tino Vázquez <cvazquez@opennebula.io>
2024-08-26 10:34:42 +02:00
Jan Orel
92541b6da6
M #-: Various oneprovison/ansible updates (#3202)
- allow newer ansible in provision
 - remove unsused files, roles
 - simplify opennebula-node-kvm
 - remove unsued ceonts files,
 - rename yaml -> yml
 - replace `include:` with `include_tasks:`
 - don't restart frr
 - bump Ceph version in HCI to Reef, adopt ceph-opennebula-mon
2024-08-16 11:32:39 +02:00
Pavel Czerný
274ad4fca9
F #6645: Rename vm_crash to vm_qemu_ping (#3189) 2024-08-02 19:19:59 +02:00
Pavel Czerný
4cb89d8032
M #-: Add warning to Sched Action (#3177) 2024-08-01 10:15:44 +02:00
Ruben S. Montero
d1d8d9d0c8
L #-: Do not lint prometheus files 2024-07-31 12:32:52 +02:00
Tino Vázquez
05d147c524
M #-: Bump version 6.10.0
Also bump copyright year to 2024
2024-07-29 14:27:11 +02:00
Jan Orel
1ae1de46dc
M #-: Use latest one-apps release for context (#3171) 2024-07-25 11:03:39 +02:00
Jan Orel
ef7e8bd7b0
M #-: Install OpenNebula 6.9 in provision (#3170) 2024-07-25 10:27:43 +02:00
Jan Orel
88e822c24e
B #-: Fix OpenNebula version in provision (#3164) 2024-07-24 12:08:39 +02:00
Jan Orel
2f47cbe43a
M #-: Bump Ubuntu to 22.04 in Equinix provision (#3166) 2024-07-24 12:08:06 +02:00
Jan Orel
d8de623004
M #-: Remove firecracker from provision (#3165) 2024-07-24 12:07:44 +02:00
Ruben S. Montero
f194c1241f
M #-: Remove tproxy logic 2024-07-23 13:29:48 +02:00
Michal Opala
360605628c
F #6641: Implement OneGateProxy in VN drivers (#3142)
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
2024-07-19 11:55:49 +02:00
Ruben S. Montero
09dc730329
M #-: Remove pg gem and update the locks
Author: Jan Orel <jorel@opennebula.io>
2024-07-17 16:20:22 +02:00
Ruben S. Montero
033ac01567
F #6653: Remove Postgresql dependencies 2024-07-17 12:58:37 +02:00
Pavel Czerný
a3c83b8112
B OpenNebula/one#6630: Fix host.xsd (#3143)
* xs:all element doesn't allow maxOccurs="unbounded" in child node

(cherry picked from commit 2d49e662e9efb210043ca57d004fa0befcaf0478)
2024-07-10 11:27:33 +02:00
Ruben S. Montero
888cc87c68
F #6397: Minor adjustments to LXC marketplace
- 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)
2024-07-09 13:43:35 +02:00
Ruben S. Montero
41f25a2518
F OpenNebula/one#6397: Removes Marketplaces, Hypervisor drivers and others
- Remove Firecracker driver
- Remove LXD driver
- Remove dockerhub, docker registry marketplaces
- Remove turnkey linux marketplace
- Remove docker machine
- Remove references to above components in Sunstone
- Change suffix to LXC to avoid confussion, remove turnkeylinux driver
2024-07-08 09:49:11 +02:00
Guillemo Ramos
fe8c1ca14a
B OpenNebula/one#6630: Add DATASTORES/DS to host.xsd (#3129)
Signed-off-by: Guillermo Ramos <gramos@opennebula.io>
2024-06-27 13:05:44 +02:00
Jan Orel
10664952de
M #-: Use one-apps for context download (#3101)
Co-authored-by: Ruben S. Montero <rsmontero@opennebula.org>
2024-06-10 15:47:12 +02:00
Ruben S. Montero
286604a3b5
M #-: Add DNS attribute to the default inherit attribute set 2024-06-07 12:38:46 +02:00
Pavel Czerný
2fe396ae15
L #-: Add Astyle linting
* Add AStyle to smoke tests
* Format C++ files using AStyle
2024-06-03 11:40:24 +02:00
Pavel Czerný
1a320ba8e0
F #6523: Store disk IDs in Backup Image (#3075) 2024-05-27 17:24:31 +02:00
Jan Orel
4da8c1cb52
B #6587: Switch to opennebula-augeas gem (#3079)
Switch to OpenNebula fork of the discontinued augeas gem.
2024-05-27 16:20:09 +02:00
Tino Vázquez
3fd8268ddc L #-: Lint for rubocop 1.64.0 2024-05-23 12:27:22 +02:00
Pavel Czerný
3fa5c0b041
M #-: Update VM states graph (#3068)
Add states:
* Backup (poweroff)
* Restore
* Hotplug_nic_poweroff
* Disk resize (poweroff, undeployed)
* Saveas (suspended, stopped)

Keep the states-simple simple, ignoring some transient transitions from poweroff, stopped, suspended and undeployed states
2024-05-22 09:34:03 +02:00
Aletibazo
1f9b15cd95
B OpenNebula/one#6487: Fix SPARSE parameter ignored (#3033)
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>
2024-05-08 10:47:11 +02:00
Daniel Clavijo Coca
e1b5bc6b44
M #-: Allow fireedge to bind to <1024 ports (#3045) 2024-05-06 16:34:24 +02:00
Jan Orel
94fb638fb6
F Opennebula/one-infra#656 Add Ubuntu 24.04 support (#3043)
- use bundler 2 since ruby 3.2
- detect also rubygems_version
- add mini_portile2, Ubutnu 24.04 did not resolve
- update gems for all
2024-04-30 14:40:10 +02:00
Ruben S. Montero
3dfd53df1c
F #6053: In-place restore of VM backups (shared and ssh drivers)
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>
2024-04-26 12:45:04 +02:00
Pavel Czerny
6e4407f061
M #-: Update cppcheck to use c++17
(cherry picked from commit 3f0222cdafec85f329bbc8009633f4c9ad2cc26f)
2024-04-18 12:07:20 +02:00
Tino Vázquez
697061f687 L #-: Rubocop 1.63.0 2024-04-08 18:49:37 +02:00
Jan Orel
030b577033
B OpenNebula/one#6512: Lock nokogiri <1.16 (#2995)
for opennebula gems 1.16 requires ruby >=3.0, which breaks: Ubuntu 20.04, Debian 10-, AlmaLinux 9
2024-03-26 12:41:01 +01:00
Daniel Clavijo Coca
886a106fb7
M OpenNebula/one#6504: Update vm pool view schema (#2990) 2024-03-20 12:21:12 +01:00
Jan Orel
0abfaaa12d
M #-: Update oned version 6.99 -> 6.9 (#2978)
* Update oned version 6.99 -> 6.9

* Update DB version 7.0 -> 6.10
2024-03-11 12:05:39 +01:00