36 Commits
Author SHA1 Message Date
Jan Orel b8a7145194 M #-: Run ovirtapi under Puma instead of Apache/Passenger
The oVirt API server no longer runs under Apache/Passenger but as a
dedicated opennebula-ovirtapi.service on top of Puma (from
opennebula-rubygems), listening on ports 80/443 as oneadmin with
CAP_NET_BIND_SERVICE:

  - share/pkgs/services/systemd/opennebula-ovirtapi.service
  - etc/ovirtapi-puma.rb: Puma configuration (threads, binds, TLS cert),
    installed to /etc/one
  - config.ru: the HTTP to HTTPS redirect (except for the PKI resource)
    that the Apache vhost used to do is now a Rack middleware
  - logs go to /var/log/one/ovirtapi.log, logrotate entry added

The PStore databases are opened thread safe, Puma serves requests from
multiple threads (Passenger used one process per request).

Apache/Passenger only files (apache/, bin/, scripts/configure_apache.sh)
are dropped and config/ is renamed to etc/. Certificate generation is
unchanged.
2026-10-26 17:28:48 +01:00
Jan Orel bf4da7f671 F #-: Import OneKS from one-ee-tools 2026-07-22 15:49:53 +02:00
Jan Orel cef1db4ff2 M #-: Drop forced logrotate on service start from systemd units (#4262)
* Fixup path when removing other arch cbc solver
* Drop forced logrotate on service start from systemd units
2026-06-12 11:36:10 +02:00
mkutouskiandJan Orel 4188fe50ad B #7646: Apply log rotation fix to remaining services
Extend the FireEdge log fix to oned, oneflow, oneform, onegate and
onehem so they share the same rotation behavior:

- Add compress / compressoptions -9 / delaycompress to the logrotate
  configs. With copytruncate, delaycompress avoids gzipping the
  freshly-rotated file in the same pass and keeps service restarts
  fast even when ExecStartPre runs logrotate -f.

- Drop the synchronous gzip ExecStartPre loops from each unit. The
  glob (e.g. oneflow*.log) does not match files rotated with
  dateformat -%Y%m%d-%s, so the loop was ineffective, and running
  gzip without backgrounding blocked startup.

- Ship a logrotate config for oneform; the unit was pointing at
  /etc/logrotate.d/opennebula-form but no such file existed, so
  oneform.log was never rotated.

- src/hem/bin/onehem-server: use >> instead of > so restarts via the
  shell wrapper do not truncate the log, matching oneflow / onegate /
  oneform / fireedge wrappers (originally fixed in #6034).

Signed-off-by: Mikalai Kutouski <mkutouski@opennebula.io>
Co-authored-by: Jan Orel <jorel@opennebula.io>
2026-05-11 10:26:58 +02:00
bfccb59244 F OpenNebula/one#7361: Introduce OneForm (#3930)
Co-authored-by: Victor Palma <vpalma@opennebula.io>
Co-authored-by: Miguel E. Ruiz <mruiz@opennebula.io>
Co-authored-by: Ruben S. Montero <rsmontero@opennebula.org>
2025-11-13 17:06:42 +01:00
Jan Orel c1bbbdab28 OpenNebula/one#6720: Remove vcenter, ruby Sunstone
This commits removes two components:

- vcenter driver and associated dependencies
- Ruby Sunstone
2025-03-25 13:13:27 +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
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 e1b5bc6b44 M #-: Allow fireedge to bind to <1024 ports (#3045) 2024-05-06 16:34:24 +02:00
mkutouski af6591e814 B #6282: Fix Incorrect configuration of systemd services (#2831) 2023-11-22 12:45:36 +01:00
vichansson d1c32620ab B #6241: Modified fireedge service file (#2651) 2023-06-26 18:05:48 +02:00
Jan Orel 8689d5d49b B #6034 Fix log rotation (#2415)
* Revert "F #5328: Update logrotate behavior to avoid long restarts (#2275)". This reverts commit 6b1127f180.

* B #5328: Don't wait for log compressing
* B #6034: Don't overwrite logs

While having already `copytruncate` in logroate we don't need to implement signaling and re-openning files.

* L #-: Linting
2022-12-12 11:50:54 +01:00
Jan Orel f002812c9f B #-: Cleanup ssh-agent socket before starting (#2413)
When (for whatever reason) opennebula-ssh-agent gets killed
it leaves existing socket and following start fails with

opennebula-ssh-agent[2333]: unix_listener: cannot bind to path /var/run/one/ssh-agent.sock: Address already in use
2022-12-09 16:22:11 +01:00
Michal Opala 0d5f9280a8 F #5973: Add OneGate proxy service (#2281)
* Update install_gems (async.io, etc, rb-inotify)
    - make install_gems script more verbose
    - slightly refactor/simplify update_locks script
    - add async.io, etc and rb-inotify gems
    - update gem locks for: AlmaLinux8/9, CentOS8
    - update gem locks for: Debian10/11, Ubuntu1804/2004/2204

* onegate-proxy:
    - ruby code and default config (169.254.16.9 to avoid conflicts)
    - install.sh script
    - logrotate and systemd onegate-proxy configs
    - onecfg configs
2022-11-14 20:48:30 +01:00
onenhansen 6b1127f180 F #5328: Update logrotate behavior to avoid long restarts (#2275) 2022-09-12 18:57:07 +02:00
Alejandro Huertas Herrero 307a6bb153 B #5189: fix typo (#2160) 2022-06-17 11:48:25 +02:00
Alejandro Huertas Herrero c37f2105bd B #5189: remove left lock file (#2159) 2022-06-16 18:57:07 +02:00
Alejandro Huertas 654990e0ea F #1149: add systemd units SyslogIdentifier 2022-05-09 13:42:50 +02:00
Vlastimil Holer d0f13f283e F #5555: Improve Sunstone systemd hardening (#1529)
- Set CAP_NET_BIND_SERVICE capability to allow binding to 80
- Hide directories with SSH keys
2021-10-15 16:44:11 +02:00
fuu0andVlastimil Holer 4740c83458 F #5555: Secutiry options to Sunstone systemd unit
Co-authored-by: Vlastimil Holer <vholer@opennebula.io>
2021-10-11 14:48:25 +02:00
Vlastimil Holer fb67699091 M #-: Enforce custom library path for guacd (#983) 2021-03-16 17:40:21 +01:00
Petr Ospalý 588bfb7eb6 M #-: Remove exit timeout exception for FireEdge
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
2021-03-12 17:10:29 +01:00
Tino Vázquez 31f8df8ff8 F #5257: Remove econe server (#901)
* F #5257: Remove econe server

Also, disable hybrid section by default in Sunstone

* F #5257: Revert onecfg change

* remove amazon-ec2 unneeded gem
* remove file no longer present from install.sh
2021-03-02 20:34:57 +01:00
Petr Ospalý 04273ca9d3 F OpenNebula/one#5178: Update supervised services (#798) 2021-02-11 19:22:41 +01:00
Vlastimil Holer 16f5499fd6 F #3951: Systemd service opennebula-guacd (#376) 2020-10-29 16:13:06 +01:00
Vlastimil Holer 6311392a0b F OpenNebula/one#3951: FireEdge package-lock.json, service (#333) 2020-10-19 19:02:02 +02:00
Vlastimil Holer 7a837b081f B #4939: Schedule ssh-socks-cleaner by OnCalendar (#32) 2020-06-22 15:21:57 +02:00
Vlastimil Holer 830045e17e F #1473: Conditional service with SELinux workaround (#4871) 2020-06-03 13:39:24 +02:00
Petr Ospalý 365d1955ff F #865: Add oneshowback compute timer
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
2020-05-22 03:00:32 +02:00
Petr OspalýandVlastimil Holer a96de2f14a F #1473: Update SSH config and sockets (#4733)
* F #1473: Update SSH config and sockets

- install files via install.sh script
- replace crontab with systemd timer
- update opennebula.service dependency
- move ssh master sockets from ~oneadmin to /run/one/ssh-socks
- modify ssh wrapper to not use external programs but only bash builtins
- update ssh configs

Signed-off-by: Petr Ospalý <pospaly@opennebula.io>

* F #1473: Update SSH config and sockets

* F #1473: Update SSH config and sockets

* F #1473: Update SSH wrapper

- rename SSH_USE_MASTER_SOCK to SSH_OPT_CONTROL_MASTER
- change the logic of this directive to be a value of the SSH
  'ControlMaster' option (default is 'auto')
- delete the SSH_USE_MASTER_SOCK from opennebula.service (not needed
  anymore)

Signed-off-by: Petr Ospalý <pospaly@opennebula.io>

Co-authored-by: Vlastimil Holer <vholer@opennebula.io>
2020-05-15 18:51:04 +02:00
Petr Ospalý 523eff2a77 F #1473: Fix SSH persistent connections (#4724)
- add ssh wrapper which is used only on the fronted
- disable SSH master socket on the nodes
- add new PATH and SSH_USE_MASTER_SOCK into opennebula.service

Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
2020-05-13 21:34:38 +02:00
Petr Ospalý 59426dd8fd F #2152: Improve SSH agent service unit (#4627)
- change /run/one to /var/run/one - /run/one is either bind-mount or
  symlink and can be changed while /var/run/one is configured via
  tmpfiles.d/opennebula*.conf - it is more consistent now
- add a dependency to SSH agent unit for remote-fs in the cases when
  /var/lib/one (oneadmin's home) is on a network filesystem
- add SSH agent support to opennebula-hem service

Signed-off-by: Petr Ospalý <pospaly@opennebula.io>
2020-04-29 14:59:46 +02:00
Vlastimil HolerandPetr Ospalý 1e0b6d2aa9 F #2152: Add OpenNebula SSH agent support (#4597)
Signed-off-by: Petr Ospalý <pospaly@opennebula.io>

Co-authored-by: Petr Ospalý <pospaly@opennebula.io>
2020-04-23 19:37:27 +02:00
Ruben S. Montero 5cc301f482 Revert "B #-: Switch to KillMode=mixed (#4486)"
This reverts commit 1b90cb10f3.
2020-04-08 17:25:36 +02:00
Jan Orel 1b90cb10f3 B #-: Switch to KillMode=mixed (#4486) 2020-04-08 10:46:12 +02:00
Vlastimil Holer cf0d1465df B #3046: Review sudoers (#3786) 2019-09-30 15:15:42 +02:00