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 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>
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>
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>
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
* FixedOpenNebula/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>
- 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
+ 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>
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.
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
* 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
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>