147 Commits
Author SHA1 Message Date
Pavel Czerný 7f6b45ecc4 F #4159: Allow dynamic VMGroup management (#4172) 2026-05-11 10:58:30 +02:00
Ruben S. Montero ebbb7be5d4 M #-: Bump version 7.3.80 2026-03-30 09:58:53 +02:00
Tino Vázquez a64f071808 M #-: Bump year 2025 2025-02-28 11:56:18 +01:00
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
Guillemo RamosandRuben S. Montero 696e69a957 F #6752: AutoNFS (#3331)
This feature auto mounts NFS volumes for datastores. The behavior can be controlled with the following template attributes:

- ANFS_ENABLE: YES/NO to enable the automatic NFS management
- ANFS_HOST: hostname/IP of the NFS server
- ANFS_PATH: of the NFS share for this datastore
- ANFS_OPTS: Comma separated options (fstab-like) used for mounting the NFS shares

The shared drivers also performs a "garbage-collector" like to unmount NFS volumes on the hypervisors when the datastores are deleted. This operation is performed in a "lazy" way, when VMs are deployed on the hypervisor.

* oneimage create: mount/umount DS on demand

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Move sh mount/umount logic to libfs.sh

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* oneimage delete: mount/umount DS on demand

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Limit NFS mount/umount from SH code to 30s

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* oneimage clone: mount/umount DS on demand

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* onevm deploy: mount DS on demand

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Temporal mount only when needed

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* onevm deploy: mount DS on demand (persisten)

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Linter

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* onevm deploy: umount unneeded DS

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Allow mount/umount/sed from sudoers

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Temporal mount: use NFS_AUTO_OPTS

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Do AutoNFS cleanup even during non-related ops

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Final refactor and improvements

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* ro values for Datastore object

* Wording for AutoNFS RO attributes

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* NFS_AUTO_ENABLE: change 'true' to 'yes'

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* sudoers: merge everythng into ONE_NFS

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Quote NFS_AUTO_OPTS

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Fix difference between sudoers specs

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Touch .automounted in AutoNFS mounts

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

* Update sudoers.rb

* Update rm

* Quote bash variable expansion

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>

---------

Signed-off-by: Guillermo Ramos <gramos@opennebula.io>
Co-authored-by: Ruben S. Montero <rsmontero@opennebula.org>
2025-01-20 16:55:22 +01: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
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
Ruben S. Montero 6bbfbb03e4 F #6063: Backup Jobs for OpenNebula
Includes the following changes:
- xml-schema for Backup Job and Scheduled Actions
- GO, Java api
- Deprecate onevm update-chart, delete-chart
    * The commands are replaced by sched-update and sched-delete
    * Refactor method deprecate_command, it's still possible to run the
    command
    * Delete 'shutdown' and 'delete' commands deprecated years ago
    * Fix --verbose option for sched-update and sched-delete
- Re-implementation of scheduled actions, now are managed and executed
  by oned
- Backup Job objects, API, and CLI commands
2023-07-03 18:15:52 +02:00
Tino Vázquez 3376afdaf0 M #-: Bump year 2023 2023-01-09 12:23:19 +01:00
Pavel Czerný 82d2191dfd B #6022: Fix lock override and --all flag (#2427)
* This commit syncs oned and API specification for the ALL flag. The internal defines were not consistent with the API specification.
2023-01-04 15:53:50 +01:00
4b746348b3 f #5725: State for Virtual Networks
* VNETs include state to flag their configuration status
  (READY/ERROR/LOCK)
* Hooks can be program based on VNET state transitions
* Include Java/Go/Ruby bindings
* New vCenter network drivers
* Place-holder to customize actions (create/delete) for other netowrk drivers
* Sunstone integration
* OneFlow syncs flow creation on VNET status
* Remove deprecated vcenter hooks and autoregistration

co-authored-by: Frederick Ernesto Borges Noronha <fborges@opennebula.io>
co-authored-by: Alejandro Huertas <ahuertas@opennebula.io>
co-authored-by: Pavel Czerny <pczerny@opennebula.systems>
2022-04-09 15:20:17 +02:00
Tino Vazquez f7d53e75ff M #-: Bump version 6.3.85 2022-04-07 19:49:58 +02:00
Vlastimil Holer 096754b63f M #-: Bump year to 2021 (#778) 2021-02-09 16:07:56 +01:00
Alejandro Huertas Herrero 6395b3f891 F #5124: implement provision actions using Terraform (#368) 2020-10-28 15:11:34 +01:00
Ruben S. Montero 5aad5f05ca M #-: Compilation errors 2020-09-15 22:26:33 +02:00
Pavel Czerný 3ea67d3645 F #4936: Reduce number of new/delete, use unique_ptr (#212)
* On exit stop RequestManager first

* Use unique_ptr for pointers to Template

* Reduce number of new/delete
2020-09-15 11:16:00 +02:00
Ruben S. MonteroandPavel Czerny 0471e486b0 F #4396: Replace pthread with std::thread. Require C++14
co-authored-by: Pavel Czerny <pczerny@opennebula.systems>
2020-09-10 13:44:49 +02:00
Ruben S. MonteroandPavel Czerný 5ce49ed404 F #4936: Refactor pools to use unique_ptr
co-authored-by: Pavel Czerný <pczerny@opennebula.systems>
2020-09-10 09:08:29 +02:00
Ruben S. MonteroandPavel Czerný 565094961a F #4936: oned refactor
* Remove duplicit methods from NebulaUtil

    * Const correctness

    * Fix minor code quality issues

    * Remove ObjectCollection::clone()

    * Minor SSLUtil interface change

co-authored-by: Pavel Czerný <pczerny@opennebula.systems>
2020-07-05 22:01:32 +02:00
Pavel Czerný daaf132a43 F #4936: Remove 'using namespace std' from headers (#60) 2020-07-02 22:42:10 +02:00
Vlastimil Holer f3c50a5d89 M #-: Year bump to 2020 (#4634) 2020-04-30 15:00:02 +02:00
Pavel Czerný 8d12e78fbe F #4032: Speed up C++ build (#4035)
In Nebula.h use forward declarations instead of #include
2019-12-10 11:45:14 +01:00
Ruben S. MonteroandAlejandro Huertas 3c2df22ad7 F #3064: separate encrypted attrs by objects
* There are encrypted attributes for VMs, Hosts and VNets
    * For VMs the user template is also encrypted
    * For VNets its address ranges attributes are also encrypted

Co-authored-by: Alejandro Huertas <ahuertas@opennebula.systems>
2019-09-12 16:25:23 +02:00
Ruben S. MonteroandChristian González 6143dd95ce F #3380: New Hook system. Drivers, oned and command line tool
Co-authored-by: Christian González <cgonzalez@opennebula.systems>
2019-09-09 14:47:42 +02:00
Alejandro Huertas Herrero 9e7c10278a F #3064: separate encrypted attrs in oned conf (#3656) 2019-09-05 21:49:59 +02:00
Ruben S. MonteroandPavel Czerny a742b95d83 F #3064: Unified secret handling
Co-authored-by: Pavel Czerny <pczerny@opennebula.systems>
2019-09-03 16:46:36 +02:00
Vlastimil Holer 441cf1f7f9 Bump version to 5.7.85, year to 2019 2019-01-16 11:47:59 +01:00
Christian González d921610d15 F #826 Authorize user/group to create restricted networks (#2625) 2018-11-20 17:24:59 +01:00
Ruben S. Montero f54e066949 F #2489: Improve performance of oned:
* Reduce memory footprint
    * Improve connection handling in the RequestManager
    * Reduce the number of locking calls
    * Reduce the size of the VM pool
2018-10-09 11:15:59 +02:00
Ruben S. Montero 7bbc01f60f Fix unlock operations for admin users. Fix bug with recursive template
clones, imges persistent attribute is set in clone operation
2018-05-24 11:43:27 +02:00
juanmont 434a2749ec F #1872: Added new attributes to define default acls 2018-03-28 20:55:17 +02:00
Ruben S. Montero 37222d65dc F #1792: Greatly improve concurrency by: Remove big lock on pool control class. Increase number of MySQL connections (new configuration variable). Make all parser reentrants. This commit also simplifies the pool references.
(cherry picked from commit a3d3ceb771034794c4fb453dcd9aaff64c53baed)
2018-03-17 23:35:21 +01:00
juanmont 6a2783a32a F #1377: User locks for resources (#1675) 2018-01-24 15:33:12 +01:00
Vlastimil Holer a4c0447ccf Bump year to 2018 (#1623) 2018-01-02 18:27:37 +01:00
Vlastimil Holer 1e9e52138d F #1310: Added support for multiple deployment modes. This commit adds
support of SSH mode for a Ceph datastore.

Author: Vlastimil Holer <vholer@opennebula.org>
Author: juanmont <jjmontiel@opennebula.org>
(cherry picked from commit 8ab9c02102e2e7f72c4835aa819bab49c229ef45)
2018-01-02 15:59:29 +01:00
Ruben S. Montero 721efccf13 B: Force free memory of object templates
(cherry picked from commit fa79b91974)
2017-10-06 23:27:21 +02:00
Javi Fontan 8de979e42c Bump version 5.3.80 2017-05-25 16:07:35 +02:00
Ruben S. Montero 202b47e9d8 F #2347: Fix bugs. Show role names in vm group output 2017-01-03 20:03:03 +01:00
Ruben S. Montero 7381aa4030 F #2347: VMGroup base classes, intial version 2017-01-02 16:43:44 +01:00
Javi Fontan e1f6dee180 Update copyright notice year 2016-05-04 12:33:23 +02:00
Ruben S. Montero 0352b3a73b Development: Add missing template interface for getting attributes 2016-05-03 17:17:50 +02:00
Ruben S. Montero 9e4af1ebc6 feature #3204: Security Group dynamic update. Add support to update SG
rules of running VMs though a new one.secgroup.commit operation
2016-03-01 23:31:31 +01:00
Ruben S. Montero 5761be4d10 feature #4217: Simplify Template, Attribute and PoolObjectSQL class interfaces 2016-02-05 00:33:37 +01:00
Ruben S. Montero b01e2336c5 Merge branch 'feature-4215' into feature-4217 2016-02-02 14:17:20 +01:00
Ruben S. Montero 3d8d2fd81e feature #4215: Simplify interface for util::gsub. Decouple Request methods to
better support static request actions.
2016-02-01 00:18:47 +01:00
Ruben S. Montero e958ed3c2d feature - : Remove unused update methods 2015-12-10 15:39:23 +01:00
Ruben S. Montero 5a0b3d357c feature #4217: Base classes for MarketPlace pool 2015-12-01 16:09:31 +01:00
Carlos Martín c5b19f45df Feature #4215: Create new Virtual Router pool 2015-11-30 16:50:23 +01:00
Jaime Melis e20fb5c4c4 Fix copyright in banners 2015-09-23 16:51:10 +02:00
Ruben S. Montero b2cdab6512 feature #3805: Move locking functions to public: section 2015-05-12 16:22:00 +02:00