150 Commits
Author SHA1 Message Date
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
Tino Vázquez 3376afdaf0 M #-: Bump year 2023 2023-01-09 12:23:19 +01:00
865908de1c F #5989: Live update of Virtual Network attributes
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
2022-11-16 15:06:49 +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
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 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
Ruben S. MonteroandPavel Czerny a3d8d4a65e F #4936: Refactor Driver and Message classes in OpenNebula daemon
co-authored-by: Pavel Czerny <pczerny@opennebula.systems>
2020-06-29 12:14:00 +02:00
Vlastimil Holer f3c50a5d89 M #-: Year bump to 2020 (#4634) 2020-04-30 15:00:02 +02:00
Pavel Czerný 36c79d643b F #2837: Add --force option to 'onevnet rmar' (#4511) 2020-04-14 10:49:06 +02:00
Alejandro Huertas Herrero 2c9bbb9642 B #3070: delete IPAM ars when deleting vnet (#3719) 2019-09-17 15:53:02 +02: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. MonteroandPavel Czerny a742b95d83 F #3064: Unified secret handling
Co-authored-by: Pavel Czerny <pczerny@opennebula.systems>
2019-09-03 16:46:36 +02:00
Ruben S. Montero 3b4b0b2723 F #3503: Support for DPDK. Added ISOLCPUS to isolate cpus from the NUMA scheduler 2019-07-25 16:23:38 +02:00
Christian González c73af39818 F #3208 Display only user available virtual routers in virtual networks body (#3210) 2019-04-15 17:23:55 +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 6b364dbc55 B #2604 Add bridge type none 2018-11-23 12:10:19 +01:00
Christian González 400a6d92d9 development: Fix bug at parse_phydev_vlans 2018-11-22 10:33:37 +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 69ec6548b5 F #2253: Add BRIDGE_TYPE to virtual network drivers. Allow custom bridging techonologies for custom drivers.
Author: Christian <cgonzalez@opennebula.org>
2018-09-20 13:07:05 +02:00
Vlastimil Holer 0ab6965d2b F #2045: Rename VN_MAD dummy to bridge, restore noop dummy driver 2018-05-16 15:24:37 +02:00
juanmont 098ce33e79 F #1976: Test access rights to the security groups of a VNet and its ARs 2018-04-27 16:31:12 +02:00
juanmont c903345806 F #1807: Changed error message 2018-04-27 16:02:49 +02:00
Ruben S. Montero 1deb1d7595 F #1807: Added mandaroty attributes for missing network drivers 2018-04-26 15:51:43 +02:00
juanmont 227700ac65 F #1807: Review network drivers parameters on OpenNebula Core 2018-04-26 15:51:43 +02:00
Vlastimil Holer fdb22a0376 F #1498: Open vSwitch VXLAN driver 2018-02-28 17:31:38 +01:00
Vlastimil Holer a4c0447ccf Bump year to 2018 (#1623) 2018-01-02 18:27:37 +01:00
Sergio Semedi Barranco 139f448a76 B #5418: vcenter automatic vlan_id working! (#515)
* B #5419: generating vlan id 4 vcenter

* B #5419: vcenter_create_vnet hook waits VLAN_ID attribute
2017-10-06 18:22:51 +02:00
Javi Fontan 8de979e42c Bump version 5.3.80 2017-05-25 16:07:35 +02:00
Ruben S. Montero bca17f4ee6 F #4809: Update SqlDB method name. DO NOT replicate monitoring data 2017-04-21 19:16:45 +02:00
Ruben S. Montero a6d4ab3c9f F #4809: Update Sql database interface to include read/write/bootstrap
operations
2017-04-18 17:12:19 +02:00
Ruben S. Montero ba40cffd61 F #5027: Operations (hold, release, reserve...) for IP6 no-slaac ARs 2017-02-21 16:50:45 +01:00
Ruben S. Montero 7cbceb043b Added VirtualMachineNic interface to abstract NIC logic 2016-12-24 01:36:30 +01:00
Guillaume Oberlé f8615d6e5c Feature #4446: Redesign of AddressRange class to include multiple
implementations. When managing leases 4 abstract methos have been added
to the interface:
  - from_vattr, to notify/request a new network from IPAM
  - allocate_addr, to set an address as used
  - get_addr, to request a free address
  - free_addr, to set an address as unused

This commits also includes an AddressRange implementation based on
OpenNebula's internal IPAM

Signed-off-by: Ruben S. Montero <rsmontero@opennebula.org>
2016-08-17 19:22:53 +02:00
Ruben S. Montero 1956b15db6 Bug #4547: Do no generate VLAN_ID if not needed.Inherit VLAN_ID in
reservations
2016-06-10 17:12:37 +02:00
Ruben S. Montero 57976f61c2 Bug #4516: Fix deadlock with concurrent reservations on the same
vnet.
2016-06-03 19:19:23 +02:00
Ruben S. Montero 698014748b Development: Do not change vn_mad string 2016-05-25 00:00:12 +02:00
Javi Fontan e1f6dee180 Update copyright notice year 2016-05-04 12:33:23 +02:00
Jaime Melis f1b56ed322 Bug #4376: Make vlan_id_automatic a top level attribute
and only allow modification of vlan_id if vlan_id_automatic
is set to false (the vlan_id has been specified manually)
2016-04-19 15:23:22 +02:00
Jaime Melis e4db6af0ea Bug #4376: Fix typo 2016-04-19 15:23:22 +02:00
Ruben S. Montero 9c60fc55d9 feature #3848: VN_MAD is set for VirtualNetworks in Sunstone. Removed
host vnet option
2016-04-07 15:04:02 +02:00
Ruben S. Montero 8970665d46 bug-4376: Adds vlan bitmap to handle collition and reservation.
OpenNebula now generates the vlan_id instead of the drivers
2016-04-06 18:07:56 +02:00
Ruben S. Montero 9af43a6916 feature #3848 #3707: Remove VLAN from onevnet command and core 2016-03-29 15:09:39 +02:00
goberle 9de771ea31 Feature #3848: Virtual networks should have an associated networking driver.
(cherry picked from commit 7e90463693)

This cherry still needs to merge files from original contribution by       goberle <goberle@unistra.fr>:
  - src/sunstone/public/app/tabs/vnets-tab/form-panels/wizard.hbs
2016-03-28 12:38:45 +02:00
Carlos Martín e8a05ca1d7 Feature #4369: Replace cluster ID with a set of IDs 2016-03-10 16:28:33 +01:00