Commit Graph

150 Commits

Author SHA1 Message Date
Dominik Csapak
4b168c2772 add termproxy api call for nodes
and add dependency for pve-xtermjs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-12-12 08:34:07 +01:00
Emmanuel Kasper
16efab9e10 Add each host SSL fingerprint to each node status
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 16:13:50 +01:00
Dominik Csapak
cb1b1712c4 make ssh connection transparent
do not use an escape character for the host shell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-17 10:37:31 +01:00
Dominik Csapak
b8ac8b0cec allow width and height parameter for vncshell
so that novnc can request a different screen size

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-02 09:19:07 +02:00
Dietmar Maurer
892821fd87 pvesr: add pve storage replication tool
Just added code to configure jobs. Replication itself is not
implemented.
2017-05-31 08:23:46 +02:00
Fabian Grünbichler
23b54109a4 fix start on boot
fix the fix for #1024

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-03-24 09:52:28 +01:00
Thomas Lamprecht
1c8dc310b3 remove backup locks when starting all VMs on boot
If on bootup one of our VMs is locked by an backup we safely can
assume that this backup job does not run anymore and that the lock
has no reason anymore and just hinders uptime of services.

As at this time we (the node) have quorum so we may safely assume
that we have a consistent view of the cluster and all our VMs really
belong to us. We just need to ensure that we do not run into an
automatic backup jobs, so execute our code with VZDumps lock or
timeout.
Log in the Task and Sys log that we removed the lock, so that an
admin easily sees that there may be need for cleaning leftovers from
an interrupted backup.

Addresses bug #1024

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-03-16 09:04:21 +01:00
Thomas Lamprecht
b2bb6d7749 get_filtered_vmlist: save VM conf in own subhash
small refactoring in get_filtered_vmlist: save a VMs config in its
own subhash to avoid collisions with other data which we want to save
in the vmid list, for now this is only `type` but in the next patch
I want to save also the class

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-03-16 09:04:09 +01:00
Thomas Lamprecht
ae9d10ca2c include also HA VMs if a vm list is explicit specified
Else the user would not had specified them explicit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-03-16 09:02:05 +01:00
Dominik Csapak
e890b92d67 use login instead of bash
since bash does not play well with utf8 encoded input,
eg. pressing ALTGR + M on an english intl keyboard layout int novnc
does not enter the mu symbol but makes bash think you pressed alt+5,
we should use login without authorization when logging in as root

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-09 10:28:27 +01:00
Dominik Csapak
b0d4b407d8 keep locale for vncshell and spiceshell
use the new keeplocale parameter from run_command and do not delete the
LANG and LANGUAGE variable for the vncshell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-09 10:26:44 +01:00
Thomas Lamprecht
f5c1dde5f4 migrateall: use get_filtered_vmlist
instead of using get_start_stop_list in a rather hacky way use the
new get_filtered_vmlist method and adapt the loop, as now only one
level is required.

most changes  are just an indent shift left as we lost an unnecessary
loop level

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-03-02 10:45:14 +01:00
Thomas Lamprecht
b72cdbb752 refactor get_start_stop_list
we used get_start_stop_list for assembling a list of VMIDs for
stopall, startall and migrateall.

While get_start_stop_list did already some filtering we did some
more in the specific startall and stopall calls.
Add a new private helper which does all the filtering and just
assemble the startup order in the get_start_stop_list method.

Move the template and ha managed filtering in the new
get_filtered_vmlist method, this allows us to remove the filtering
from the API calls them self and we do not load the vms config twice
(it was cached, but nonetheless unnecessary)

get_filtered_vmlist is also intended to be used by migrateall in a
next patch

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-03-02 10:43:37 +01:00
Dominik Csapak
2a498506e0 add vmid filter to (start/stop/migrate)all
this is a simple filter which allows us to limit the actions to specific
vmids

this makes it much simpler to start/stop/migrate a range of vms

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-05 15:55:59 +01:00
Dietmar Maurer
3947d0a069 startall: remove timeout, wait forever 2016-09-09 10:31:21 +02:00
Dominik Csapak
e781363f19 add disk api entry point
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:16:55 +02:00
Dominik Csapak
6f242111c3 fix #621: allow template download to glusterfs
removes the check for dir or nfs storage,
because a few lines below we check for
the content type vztmpl
which should only be allowed when we have a
location where we put templates, thus we should
be able to download them there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-05 06:54:40 +02:00
Fabian Grünbichler
95f99e8c5e aplinfo: use explicit defined checks
a checksum of '0' can never be correct, but this makes the code clearer
2016-08-24 13:08:45 +02:00
Fabian Grünbichler
79be6db38a aplinfo: use fh for both digests
for consistency, because Digest::MD5 cannot handle filenames directly..
2016-08-24 13:08:22 +02:00
Fabian Grünbichler
62180d0f1d update descriptions, error messages 2016-08-24 10:18:27 +02:00
Fabian Grünbichler
3b81e495cd aplinfo: improve checksum handling
instead of calling md5sums, use perl's Digest::MD5.
also support SHA512 via perl's Digest::SHA, to enable a
transition away from MD5.
2016-08-24 10:09:12 +02:00
Fabian Grünbichler
c351eda952 aplinfo: replace system() with run_command/rename 2016-08-24 09:48:15 +02:00
Caspar Smit
d6c493923a Fixed a small typo
Signed-off-by: Caspar Smit <casparsmit@supernas.eu>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-03-31 10:56:49 +02:00
Caspar Smit
92c11ee1ca Allow migrate-all button on HA enabled VMs
Signed-off-by: Caspar Smit <casparsmit@supernas.eu>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-03-31 10:56:22 +02:00
Caspar Smit
6677f6402e Skip templates when using the start all VMs button
Refactored and now using PVE::QemuConfig and PVE::LXC::Config
Moved the next if.. statements into the corresponding branches

Signed-off-by: Caspar Smit <casparsmit@supernas.eu>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-03-31 10:51:11 +02:00
Caspar Smit
17e3b3b27f Allow non-root to use start/stop/migrate all buttons
Signed-off-by: Caspar Smit <casparsmit@supernas.eu>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-03-31 10:50:34 +02:00
Fabian Grünbichler
bbcfdc08cc use PVE::Storage::config(), not cfs_read_file() 2016-03-30 10:35:58 +02:00
Fabian Grünbichler
7141ae254a Use methods from PVE::QemuConfig
use config_file and load_config from PVE::QemuConfig
2016-03-08 11:53:33 +01:00
Fabian Grünbichler
e93408d600 LXC refactoring
call load_config in PVE::LXC::Config instead of PVE::LXC
2016-03-03 10:44:02 +01:00
Thomas Lamprecht
01b753b6b1 syslog: allow since/until parameters
allow the since/until parameters which journalctl understands
We use a really simple regex to check a valit date (time) stamp.

This can be done as this API call gets mainly used by the GUI where
we have full controll over what we send and additional journalctl
has already a good timestamp parser which can handle that.
2016-03-02 06:24:55 +01:00
Dietmar Maurer
05b252dc5c PVE::API2::Nodes::Nodeinfo: import raise_param_exc 2016-03-01 09:22:39 +01:00
Wolfgang Link
82282acf4f add pveam download
With this function you can download templates from the repositories.
2016-02-26 11:37:11 +01:00
Thomas Lamprecht
89ceb8026a use max_workers from datacenter.cfg for stopall/migrateall
If set limit the maximal worker count to the new datacenter.cfg
setting 'max_workers'.

For stopall we prefer this over the cpu count if it's set.

For migrateall we prefer the parameter but allow now to ommit
the parameter and then we use the new setting if set.
if both are not set we throw an error.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-02-11 11:13:55 +01:00
Thomas Lamprecht
10a9a736ed fix PVE::HA use clause so HA resources get registered
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-01-27 17:11:21 +01:00
Wolfgang Bumiller
675946f221 fix #871: netstat: include veth devices
Include container's veth devices in /nodes/{node}/netstat
2016-01-25 10:59:48 +01:00
Dietmar Maurer
37bec89547 improve log messages at sytem shutdown 2016-01-22 11:24:17 +01:00
Thomas Lamprecht
efedd8c36f make startall wait up to 60 seconds for quorum
Previously we waited 10 seconds, in PVE 4 system sometimes need more
time to initialize all services so the didn't execute the startall
command even if a few seconds later cfs quorum was etablished.
This is a background process started from the pve-manager init
script, thus waiting doesn't interferes with other processes, so
wait long enough.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-11-10 07:48:20 +01:00
Emmanuel Kasper
6bbdf981d1 Use protected mode to be able to execute root system commands
Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2015-11-06 10:06:11 +01:00
Dietmar Maurer
cdb5a20942 report: change return type to string 2015-11-03 18:14:51 +01:00
Emmanuel Kasper
34ada77a13 Add REST endpoint for /report call 2015-11-03 18:10:44 +01:00
Thomas Lamprecht
3625a09137 Fix check if vm is ha managed in get_start_stop_list
The check used was completely wrong and so the startall and stopall
API calls touched HA managed service, which they shouldn't.

Using the vm_is_ha_managed call from the HA stack fixes that.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-10-20 09:50:00 +02:00
Thomas Lamprecht
04b2004b36 fix lxc config key in get_start_stop_list sub
When adding the new LXC config format we forgot to adapt the
get_start_stop_list and do s/pve.startup/onboot/

This fixes that qemu VMs were started always before LXC CTs,
irregardless of the defined order.

This also let's us simplify the surrounding code and reduce code
reuse.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-10-20 09:46:16 +02:00
Wolfgang Bumiller
7a9486a7e1 DNS ui/api: ipv6 support 2015-10-05 12:33:42 +02:00
Emmanuel Kasper
eb5d01365b Rename onboot and startup parameters to follow vm.conf synthax
This fixes the problem of containers not autostarting with onboot=1
2015-09-08 11:13:32 +02:00
Dietmar Maurer
b38516ebec add use clause for PVE::API2::LXC::Status 2015-09-07 11:01:03 +02:00
Emmanuel Kasper
1b5e56f283 Fix package path to startup and shutdown subroutines 2015-09-07 10:58:12 +02:00
Thomas Lamprecht
c2dbc5e32d fix bug #662: wrong subroutine for parsing startup order
Changed from old, now missing, subroutine parse_startup() to new
pve_parse_startup_order()

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-07-28 09:31:09 +02:00
Dietmar Maurer
761a2b311c allow to download templates with type lxc 2015-07-02 11:25:08 +02:00
Dietmar Maurer
317146196c API change: remove bootlog API, use new dump_journal helper for syslog
The systemd journal contains boot log entries.
2015-06-09 12:18:30 +02:00
Dietmar Maurer
74e3975e12 remove UBC GUI 2015-06-02 11:53:19 +02:00
Wolfgang Bumiller
eb6d749792 pass port family to next_vnc_port 2015-05-12 12:16:26 +02:00
Dietmar Maurer
2c27e4b7c7 lxc: implement startup and onboot option 2015-04-22 10:49:30 +02:00
Dietmar Maurer
989b774393 depend on new pve-container package, activate LXC API 2015-04-18 09:40:44 +02:00
Dietmar Maurer
0532bd2857 re-add template download code
this was removed by accident.
2015-04-16 07:58:50 +02:00
Dietmar Maurer
dafb62468e remove OpenVZ related code
There is still no OpenVZ for kernel 3.10 or newer, so we remove that code now.
2015-03-27 13:43:59 +01:00
Dietmar Maurer
7e5cb2f0b8 use PVE::HA::Config to skip HA enabled VMs 2015-03-27 13:43:59 +01:00
Dietmar Maurer
42a55af27b skip test for HA managed VMs
unless we have a replavement for rgmanager
2015-03-03 09:20:20 +01:00
Alexandre Derumier
9c8a09a76d api2 : node : add migrate_all
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-02-11 07:01:44 +01:00
Alexandre Derumier
c09c7160a5 api2: node : startall : add force option
force start if onboot = 0

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-02-11 07:01:31 +01:00
Dietmar Maurer
8dfca17e2e cleanup novnc console code
And implement novnc console for openvz and shell (needs vncterm update).
2014-06-24 17:35:17 +02:00
Dietmar Maurer
4a07fcedb7 depend on pve-firewall, connect firewall API 2014-05-06 12:43:41 +02:00
Dietmar Maurer
9dace87245 Merge remote-tracking branch 'origin/pve-ceph' 2013-12-21 08:03:57 +01:00
Dietmar Maurer
a51ceeb704 fix execute API 2013-12-10 12:05:02 +01:00
Dietmar Maurer
7774df7851 use get_standard_option() for spice options 2013-12-10 10:03:10 +01:00
Dietmar Maurer
b289829f91 factor out common code into run_spiceterm 2013-12-10 09:46:00 +01:00
Dietmar Maurer
f25af3a938 set correct keymap for spiceterm 2013-12-10 08:36:58 +01:00
Dietmar Maurer
2d802f8c3b include spiceterm 2013-12-10 07:35:57 +01:00
Dietmar Maurer
409935933e fix execute API
- remove command from index (so that pvesh does not list it)
- use POST instead of GET
- correctly check permissions
- return value with status codes and data (allow expections)
2013-12-09 11:08:02 +01:00
Stefan Priebe
87c3e93147 support to execute multiple commands in one request 2013-12-09 08:44:25 +01:00
Dietmar Maurer
38db610ae6 move code to Ceph.pm, create API for ceph 2013-11-13 06:59:07 +01:00
Dietmar Maurer
ea5eb43003 fix shell quoting for upgrade command 2013-06-24 08:02:32 +02:00
Dietmar Maurer
b179a622ba new pveupgrade script
Used to display additional information to the user (reboot required? database
up to date? ...)
2013-06-21 08:21:04 +02:00
Dietmar Maurer
6d39449226 fix bug #408: reset ENV before starting shell 2013-06-20 11:10:01 +02:00
Dietmar Maurer
3a76893d03 use interactive vnc shell to run system upgrade
System upgrade almost always requires user input.
2013-06-19 11:57:38 +02:00
Dietmar Maurer
21299915de add API for apt using libapt-pkg-perl 2013-06-13 11:52:31 +02:00
Stefan Priebe
0455911df1 implement node netstat call to get current tap network counters
Changes since V2:
- swap in / out / transmit / receive again

Changes since V1:
- new return format (use an arrayref instead of a hash to be JS compatible)
- swap in / out / transmit / receive

Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-04-19 11:43:09 +02:00
Dietmar Maurer
ff9c330c5d add bootlog
we use boodlogd on wheezy
2013-03-26 07:59:57 +01:00
Dietmar Maurer
20539e0c29 display KSM sharing on node status panel 2013-02-01 09:15:26 +01:00
Stefan Priebe
f2c68844cf PVE/API2/Nodes: remove hardcoded blowfish cipher PVE/API2/OpenVZ: remove hardcoded blowfish cipher
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2012-10-31 14:00:36 +01:00
Dietmar Maurer
6806a0f851 vncproxy: wait until vnc port is ready (avoid connection errors) 2012-10-24 09:02:23 +02:00
Dietmar Maurer
88ba9a1dde fix spelling errors 2012-08-25 09:00:06 +02:00
Dietmar Maurer
5eec2b0446 fix startup ordering 2012-08-07 09:21:19 +02:00
Dietmar Maurer
3f12bcfb9e use numeric sorting in startall 2012-06-05 06:16:55 +02:00
Dietmar Maurer
b92400b6a7 add startall/stopall API and init script 2012-04-20 09:35:08 +02:00
Dietmar Maurer
b193e4ac94 fix bug #137: API change! Return node name using 'node' property. 2012-04-02 13:11:28 +02:00
Dietmar Maurer
21ace8d328 add subscription management API 2012-03-23 06:31:34 +01:00
Dietmar Maurer
e4d5bf7257 improve network API - add more gettext markers 2012-02-29 12:39:12 +01:00
Dietmar Maurer
c916497537 implement template download
Also added turnkeylinux.com
2012-02-21 11:45:30 +01:00
Dietmar Maurer
5c80f72c80 include use clause for exception handling 2012-02-17 06:07:22 +01:00
Dietmar Maurer
d553e535ab fix vnc shell to nodes 2012-02-16 08:22:03 +01:00
Dietmar Maurer
d0289a19e5 fix permissions on node API
Remove upload method (now in PVE::API2::Storage::Status)
2012-02-06 09:54:09 +01:00
Dietmar Maurer
7d020b4246 implement new check attribute for permissions.
We use a simple prefix notation to express complex expressions.
2012-01-23 12:18:27 +01:00
Dietmar Maurer
57ebda0841 use new assemble_vnc_ticket 2012-01-19 09:32:58 +01:00
Dietmar Maurer
e09058af9a use new set_result_attrib 2011-12-21 07:11:04 +01:00
Dietmar Maurer
8747a9ece5 add API to query version info
Normaly all nodes should have the same version, so /api2/json/version is
good enough for most situations. But you can also query the version on
each node using /api2/json/nodes/{node}/version
2011-12-20 07:04:39 +01:00
Dietmar Maurer
607263cbf6 use PVE::Tools::dump_logfile 2011-11-08 07:49:09 +01:00
Dietmar Maurer
bf58f8ddda plug VZDump into our API 2011-10-14 13:43:06 +02:00
Dietmar Maurer
9056e748db add GUI for user_beancounters 2011-10-07 13:58:56 +02:00
Dietmar Maurer
339e41597d add openvz support (cli only for now) 2011-09-28 14:08:54 +02:00
Dietmar Maurer
beb651ee65 removed automake/autoconf, removed unused files 2011-08-23 16:11:04 +02:00