1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-04-11 18:50:08 +03:00

1168 Commits

Author SHA1 Message Date
Ruben S. Montero
e2539c32c8
F #6680,#6682: Improve OneFlow data model and add support to VR
This commits adds the following improvements:

* Improving Usability & Consistency in flow documents:
  - vm_template -> template_id, generic as also VR templates are
    considered
  - vm_template_contents -> template_contents, same as above
  - custom_attrs -> user_inputs, use same name convention as VM
    Templates
  - custom_attrs_values -> user_inputs_values, same as above

* Easier OneFlow operations
  - template_contents (old vm_template_contents) is now in JSON format
    instead of a String.
  - better error reporting when merging template contents

* Role can use Virtual Routers as main element, supporting all role
  features (user inputs, dependencies and network creation). Related
  changes:
  - Role data model structure has been totally refactored to accomodate
    the new type (vmrole.rb and vrrole.rb)
  - VR roles use VR OpenNebula API to create associated VMs.
  - VR HA uses the cardinaility of the role

  New attributes:
  - type, new attribute to identify the role type VM or VR
  - vrouter_ips, floating IP of each network managed
  - vrouter_id, of the associated VR

* Improved Sunstone interface for flows, including support for the new
  features.

co-authored-by: Victor Palma <vpalma@opennebula.io>
co-authored-by: Miguel E. Ruiz <mruiz@opennebula.io>
co-authored-by: Victor Hansson <vhansson@opennebula.io>
2025-03-19 12:17:29 +01:00
Tino Vázquez
d87018c259
M #-: Removed reference to non existant file 2025-03-17 19:08:20 +01:00
Ruben S. Montero
8d695037a3
F #6885: Add lxc forecast probes
co-authored-by: Marco Mancini <mmancini@opennebula.io>
2025-03-16 02:25:39 +01:00
Ruben S. Montero
a3523a04a7
F #6885: Add probe to clean the DB folder.
- Make sure DB folder exists
- Fix path in host prediction.sh for host
2025-03-11 17:48:27 +01:00
MarioRobres
14516356da
F #1550: Add support for one_drs optimization (#3458) 2025-03-07 14:00:17 +01:00
Jan Orel
ace8a18fe1
F #1550: Don't install different arch cbc (#3456) 2025-03-07 13:04:36 +01:00
Ruben S. Montero
108065eac5
F #6885: Forecasting metrics
This commit includes metrics forecasting for VMs and Hosts. It provides
basic algorithms for linear regression.

* VM prediction includes the following metrics:
    - cpu
    - memory
    - netrx
    - nettx
    - diskrdbytes
    - diskwrbytes
    - diskrdiops
    - diskwriops

* Host prediction includes:
    - usedcpu
    - freecpu
    - usedmemory
    - freememory
    - netrx
    - nettx

The prediction framework uses a time series DB per VM (stored in the VM
folder) to compute the forecast.

co-authored-by: Marco Mancini <mmancini@opennebula.io>
co-authored-by: Jakub Walczak <jwalczak@opennebula.io>
co-authored-by: dmingolla <dmingolla@opennebula.io>
2025-03-06 12:18:32 +01:00
vichansson
7580206aef
F OpenNebula/one#6674: Change .json to .yaml config (#3444)
* Changes Sunstone tab-manifest & remotes-config files from .json to
  .yaml
* Improves Sunstone client handling of remotes.
  - Now catches script runtime errors

Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2025-03-05 12:27:58 +01:00
Ruben S. Montero
3265c6d99c
M #-: Remove deleted file from install.sh 2025-03-03 20:57:40 +01:00
Ruben S. Montero
9da8ea1a5d
F #-: Remove legacy code for Hybrid Cloud 2025-03-02 17:29:14 +01:00
Tino Vázquez
a64f071808
M #-: Bump year 2025 2025-02-28 11:56:18 +01:00
Ruben S. Montero
eda55567b1
F #1550: New Scheduler Framework for OpenNebula & DRS scheduler
This commits introduces a new framework for OpenNebula, it is based on
standard the OpenNebula middleware access driver (mad) model. Benefits
compared to the current implementation:

* Less overhead on API server and streamlined communications
* Ease integration with third party schedulers
* New "optimize" action to balance the workload of a cluster
* Embedded Plan Manager to apply optimization and deployment plans with
  custom parameters for the scheduling window
* Custom optimization policies per cluster

This commits introduces 2 schedulers:

* Rank scheduler based on the match-making algorithm present in 6.x
  series
* OpenNebula DRS an optimization algorithm based on an ILP solver for
  placement and cluster optimization

Also new API calls has been added for onecluster as well as the CLI
updates to expose them.

co-authored-by: MarioRobres <mrobres@opennebula.io>
co-authored-by: Pavel Czerny <pczerny@opennebula.io>
co-authored-by: Mirko Stojiljkovic <mstojiljkovic@opennebula.io>
co-authored-by: Valentyn Bohdan <vbohdan@opennebula.io>
2025-02-27 16:33:05 +01:00
Jan Orel
c5fb25e105
M #-: Fix typo (#3412) 2025-02-04 18:59:13 +01:00
Jan Orel
246a21310f
B #-: Fix alertmanager.yml path for arm64 (#3410) 2025-02-04 16:02:33 +01:00
vichansson
d59386362c
F OpenNebula/one#6674: Sunstone Micro-Frontend architecture (#3339)
New and very cool Micro-Frontend architecture for Sunstone

* Removed devexpress dependencies due to conflicts with @emotion/css
* Rewrote chartist component to use recharts instead
* Fixed OpenNebula/one#6788
* Updated packages & shared deps
* Adds the ability to dynamically change the URL of a remote without
  restarting
  - All modules (remotes) are resolved from the
    /etc/sunstone/remotes-config.json file
* Change to deterministic naming
* Enabled parallel builds for components
* Adds a minimal fallback editor for when modules fail to load
* Client bootstrapping test-loads all remotes, reverting to editor in
  case it can't be resolved
* Server now handles failed parsing of remotes-config.json
  - Sends a fallback config in such cases pointing all remotes to
    localhost.

Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2025-01-02 12:00:56 +01:00
Jan Orel
115236c44b
M #-: fixup! Download and install also arm64 vendor bin. (#3330) 2024-12-19 20:13:18 +01:00
Jan Orel
6b115f0295
M #-: Download and install also arm64 vendor bin. (#3329) 2024-12-19 13:18:25 +01:00
Ruben S. Montero
d546ed3db3
F #6756: Fix for Scaleway driver
- Missing files in install.sh
- Fix bug in unregister_address_range
2024-12-09 01:08:21 +01:00
Ruben S. Montero
450563d408
F #6756: Add files to installer 2024-12-05 20:00:46 +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
vichansson
dd844ee7d5
F OpenNebula/one#6627: Add base profile template (#3275)
Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2024-10-23 13:46:15 +02:00
vichansson
48f508ea69
F OpenNebula/one#6742: Implement loading of OS profiles (#3267)
+ define windows profile

OpenNebula/one#6627

* Add windows profile
* Adds OS Profiles parsing & loading
  - new /profiles endpoint
  - profiles are stored in /etc/fireedge/sunstone/profiles/
  - YAML format only
* Update profile loading
* Load profile only once per step
* Add indicator for last applied profile
* Fix autocomplete controller equality comparison
* Install new 'profiles' directory
* Installs windows_optimized profile

Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2024-10-18 09:59:25 +02: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
Ruben S. Montero
abe1818b10
F #6668: Add Prometheus support for OpenNebula 2024-07-30 14:41:09 +02:00
Ruben S. Montero
f583187d19
F #6671: Add restic code to OpenNebula repo 2024-07-29 14:45:54 +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
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
Daniel Clavijo Coca
a275fa18d3
F OpenNebula/one#6645: Implement QEMU Guest agent based monitoring (#3153)
Co-authored-by: Tino Vázquez <cvazquez@opennebula.io>
2024-07-16 19:12:02 +02:00
David
b5c8bc1acb
F OpenNebula/one#6444: Modify install views (#3152)
Signed-off-by: dcarracedo <dcarracedo@opennebula.io>
2024-07-11 17:20:57 +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
Ruben S. Montero
eda3084beb
F #6586: Remove docker-machine add-on 2024-05-21 12:47:36 +02:00
Guillemo Ramos
4db0e74f43
F #6053: In-place restore of VM backups (Ceph) (#3051) 2024-05-14 15:58:36 +02:00
Pavel Czerný
c985ad35f9
F OpenNebula/one#6053: GO and Java api (#3055)
* GO api, including backup struct and VM states
* Java api
* remove snapshots on restore_success callback
* fix xmlrpc response in case VM doesn't exists
2024-05-10 11:58:00 +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
vichansson
4eb464cfdd
F OpenNebula/one#5899: Add VR tabs (#3030)
Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2024-04-11 11:25:26 +02:00
David
45bcac8e1c
F OpenNebula/one#6117: Marketplace tab (#2975)
Signed-off-by: David Carracedo <dcarracedo@opennebula.io>
2024-03-08 12:36:08 +01:00
Jorge Miguel Lobo Escalona
4225245789
F OpenNebula/One#6120: fix view zones fireedge (#2972)
Signed-off-by: Jorge Lobo <jlobo@opennebula.io>
2024-03-05 18:58:57 +01:00
Jorge Miguel Lobo Escalona
cd33d27cfb
F #5905: Add Support Tab to FireEdge (#2948)
Signed-off-by: Jorge Lobo <jlobo@opennebula.io>
2024-02-22 13:50:44 +01:00
vichansson
3d59f15a41
F OpenNebula/one#5388: Add OneFlow tabs (#2915)
Signed-off-by: Victor Hansson <vhansson@opennebula.io>
2024-02-05 14:11:27 +01:00
Jorge Miguel Lobo Escalona
8db778d1e7
F #6118: vnet template (#2890) 2024-01-11 10:53:38 +01:00
Tino Vázquez
4bb6d9310d
M #–: Remove odd indentation 2024-01-08 19:14:16 +01:00
David
863ed452f7
F OpenNebula/one#6119: Add Cluster tab (#2885) 2024-01-05 11:43:23 +01:00
David
b4e35e34a5
OpenNebula/one#6124: ACL tab (#2878) 2023-12-22 12:44:52 +01:00
David
679455158a
F OpenNebula/one#6122: Groups tab (#2825)
Co-authored-by: vichansson <vhansson@opennebula.io>
Co-authored-by: Tino Vázquez <cvazquez@opennebula.io>
2023-11-20 18:00:18 +01:00
Jorge Miguel Lobo Escalona
5f0d555d07
F #6323: BackupJobs tab in FireEdge (#2798) 2023-11-02 16:27:02 +01:00
vichansson
c461d30846
F OpenNebula/one#5901: Add VmGroup Tab (#2775) 2023-10-18 16:33:24 +02:00
Jan Orel
b4ebee7ff0
B #6318: OneProvision: update equinix provider (#2735)
- no more facility, use metro
 - don't use ancient packet gem
2023-09-18 17:10:34 +02:00
Ruben S. Montero
bc1086c3e2
F #6725: Install external sched example 2023-09-14 12:11:14 +02:00