Commit Graph

680 Commits

Author SHA1 Message Date
Dominik Csapak
6b028c3c48 Scan: whitespace fixes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-19 15:03:45 +01:00
Dominik Csapak
03b0c2f5dc copy storage scan API from pve-storage
this will be used for the api endpoints in the future as
PVE::API2::Scan instead of PVE::API2::Storage::Scan since it will
contain endpoints to other modules (like qemu-server for pci/usb
scanning)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-19 15:03:12 +01:00
Alwin Antreich
6281777bd9 add_storage creates only one ceph storage entry
This patch removes the separate storage entries for CT & VM to the same
ceph pool. Instead only one entry is made as we can now map/unmap
volumes actively in pve-container.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-12 13:22:55 +01:00
Dietmar Maurer
2d2ed7ab53 fix wrong permissions for subscription info
workaround to keep the subscription popup on login even without 'Sys.Audit'
permissions but remove the subscription details in the GUI for unauthorized
users.
2018-10-30 11:37:00 +01:00
Thomas Lamprecht
3e1d7320d0 follow up: cleanup long line
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-10-24 13:24:11 +02:00
David Limbeck
1b3caf4f21 add wipe_disk option when destroying ceph disk
this allows the disk to be reused as ceph disk by zeroing the first 200M
of the destroyed disk. disks are iterated separately from partitions to
prevent duplicate wipes.

Signed-off-by: David Limbeck <d.limbeck@proxmox.com>
2018-10-24 11:46:13 +02:00
Thomas Lamprecht
5d4bb1f732 add pve-edk2-firmware to pveversion package list
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-10-23 13:34:26 +02:00
Dietmar Maurer
930d267849 use 'die' instead of 'raise_param_exc'
Because there is not 'config' parameter.
2018-10-08 13:32:03 +02:00
Alexandre Derumier
cacd7547ad API2 : Network : add network config reload
This add a new api to online reload networking configuration
with ifupdown2.

This work with native ifupdown2 modules, as ifupdown2 have
interface dependency relationships.

Some specific interfaces options can't be reloaded online
(because kernel don't implement it), it this case, we ifdown/ifup
theses interfaces. (mainly vxlan interfaces options)
2018-10-08 13:32:03 +02:00
Dominik Csapak
820d0458e7 add /node/{NODE}/hosts API Call
to get and set the content of /etc/hosts

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-09-14 11:47:03 +02:00
Wolfgang Link
29f633a8b1 pveceph: remove 'btrfs' as fstype for new OSDs
btrfs is deprecated since Luminous and it will no more be tested.

If btrfs is used, you have to add an extra parameter to ceph.conf
to allow ceph-disk to activate btrfs OSD's.
In our default config this is not the case.

From Luminous release note [1]:

"We no longer test the FileStore ceph-osd backend in combination with
btrfs. We recommend against using btrfs. If you are using
btrfs-based OSDs and want to upgrade to luminous you will need to
add the follwing to your ceph.conf:

enable experimental unrecoverable data corrupting features = btrfs
The code is mature and unlikely to change, but we are only
continuing to test the Jewel stable branch against btrfs. We
recommend moving these OSDs to FileStore with XFS or BlueStore."

[1] https://ceph.com/releases/v12-2-0-luminous-released/
2018-08-31 08:15:43 +02:00
Dominik Csapak
47f8655333 fixe return values in /cluster/resources
openvz is deprecated but can still be a return value
maxcpu can be a real number (e.g., for CT if cpulimit is 1.5 and
cores is not set), and may not be an integer

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-08-20 11:31:53 +02:00
Dominik Csapak
73981e3937 fix #1828: check if targetnode exists before starting mass migration
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-13 09:00:54 +02:00
Dietmar Maurer
7fa666d299 pvenode: use print_api_result to print acme account information 2018-07-26 13:09:08 +02:00
Dietmar Maurer
bed5fdfcc9 use new timestamp renderer for /nodes/<nodename>/time
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-07-11 11:27:13 +02:00
Dietmar Maurer
f57cbe5d0b PVE/API2/Nodes.pm: document return properties for cluster node list.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-07-10 14:16:23 +02:00
Thomas Lamprecht
b66c604ef2 fixup: s/destriction/description/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-07-10 14:16:23 +02:00
Dietmar Maurer
fc6c0fddb2 PVE/API2/Cluster.pm - document return properties for cluster resource list.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-07-10 13:23:28 +02:00
Dominik Csapak
20663182b4 whitespace fix
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-29 10:31:23 +02:00
Dominik Csapak
db354940fd task log: set default in the api call
we have the defaults documented here, so set them here too
otherwise if the default change in PVE::Tools, we probably forget to
update the api description

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-29 10:31:23 +02:00
Dominik Csapak
f0b87b4c28 node task list: set the defaults better
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-29 10:31:23 +02:00
Dominik Csapak
7419faa48c add more api schema information for node task list and log
this makes for a better documentation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-29 10:31:23 +02:00
Dominik Csapak
c6bb589141 startall: refactor and fix error message
for vms, it showed:
Starting VM 100 failed: status

instead of showing the actual status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-27 10:52:10 +02:00
Dominik Csapak
c93bc1a1de ACMEv2 order "ready" status update
since letsencrypt updates their implementation to the ACMEv2 spec [1],
we should correctly parse the order status

1: https://community.letsencrypt.org/t/acmev2-order-ready-status/62866

note that we (for now) try to be compatbile to both versions,
with and without ready state, this can be changed when all letsencrypt
apis have changed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-25 10:42:17 +02:00
Thomas Lamprecht
5e44c7e114 api/tasks: explicit import raise_param_exc
we inherited the import from PVE::RESTHandler but may want to get rid
of it there. So explicitly import it here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-18 11:07:46 +02:00
Dominik Csapak
16e393ab22 let all users retrieve the directories and tos for acme
else all non-root users get an empty dropdown box for the directories
and get no feedback why that is

with this, they can select it, but ultimately get an api error if the
permissions are not sufficient

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-06-04 17:34:53 +02:00
Dominik Csapak
bed7626a5f api/acme: fallback to default for account name parameter
We defined 'default' as fallback default value for the optional
pve-acme-account-name standard option but did not honored that.

Thus we got a perl error ($account_name not defined) if we did not
passed a name. Fix that by actually falling back to 'default' in this
case.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-06-04 17:33:51 +02:00
Dominik Csapak
3d0fcc467a correct node free calculation
avail - used is wrong
total - used = free

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-14 11:54:16 +02:00
Fabian Grünbichler
036475f89a add certificates API endpoints
to allow retrieval of certificate information, and uploading or removing
of custom certificate files.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
9945a5018e add ACME certificate API endpoints
for creating/ordering a new certificate and renewing respectively
revoking an existing one.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
5c3fd6ace6 add ACME account API endpoints
for registering, updating, refreshing and deactiving a PVE-managed ACME
account, as well as for retrieving the (optional, but required if
available) terms of service of the ACME API provider / CA.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
c4f78bb7c6 add node configuration file and API
this currently only contains a description and the node-specific ACME
configuration, but I am sure we can find other goodies to put there.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-05-02 11:34:52 +02:00
Fabian Grünbichler
ee94b16ae5 pveversion: use AptPkg::Version, not Dpkg::Version
to avoid an extra dependency

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2018-02-16 15:06:28 +01:00
Fabian Grünbichler
0459599d1a pveversion: sort kernel packages by version
instead of lexically by package name

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-16 11:17:00 +01:00
Thomas Lamprecht
a7a65b028d APT API: versions: add new pve packages
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 10:49:47 +01:00
Thomas Lamprecht
c861591b4e APT API: versions: split up long line and refactor
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 10:49:47 +01:00
Dominik Csapak
341422727c add 'service' parameter to syslog api call
so that we can filter the journal by service

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
5b46e4322e correct the upgradecmd for xtermjs
use the pveupgrade command directly without bash inbetween,
the incorrect quoting led to '--shell' not being passed to
pveupgrade and closing the connection

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-18 10:05:54 +01:00
Wolfgang Bumiller
af344184a8 cleanup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-14 09:07:00 +01:00
Wolfgang Link
64d39c2ef2 Send an email when a replication job fails.
A email notification will be send for each job when the job fails.
This message will only send when an error occurs and the fail count is on 1.

Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-13 14:51:07 +01:00
Wolfgang Link
c874209657 Indentation cleanup.
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2017-12-13 14:51:07 +01:00
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
Thomas Lamprecht
69bbb88541 api: nodes/subscription: implement reasonable access rights
Allow users which have Sys.Audit on a specific node to get the
subscription status and those with Sys.Modify to set and check
(update) it.

This mirrors the required permissions from other node specific
actions, e.g., APT (package management).

We always showed the Subscription Panel and all its elements in the
WebUI, so no need for change there.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-12-12 07:52:18 +01:00
Fabian Grünbichler
9f4ff79860 pveceph: add missing use statement 2017-11-30 11:31:35 +01:00
Thomas Lamprecht
9aad4e2e79 ceph: create mon: fix & improve check if IP is in public net
If a CIDR gets passed to Net::IP it is expected to not be from the
middle of  an subnet, i.e., 192.168.1.12/24 is *not* OK but
192.168.1.0/24 would be OK.

As the Network/interfaces files also accepts CIDR notation for the
'address' param (now also for IPv4) this let to problems in our node
monitor IP detection code, which used the interface file and Net::IP to
find any address from the ceph public network.

So change to our newer helper PVE::Network::get_local_ip_from_cidr to
get all configured and ready (=up) IPs from this network.

Also handle the case where multiple networks where returned, add a
parameter to allow specifying one of those and ask the user to do so.

If no public network is configured and no mon-address parameter was
passed, we fall back to the remote node IP of the node, as was done
previously. We expect that the user only overwrites the mon-address
if he knows what he do and omit checks here.
2017-11-28 16:46:31 +01:00
Thomas Lamprecht
68f4def420 ceph: create pool: check for quorum at start
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 16:13:50 +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
Thomas Lamprecht
8ad1127a16 fix #1578: api/resource hastate: fallback to resource cfg state
With ignored or still queued services we have no hastate for a
service in the manager status available.

As we use hastate in the web UI to determine if a service is
configured for HA this could lead to confusion there.
For example, the VM/CT 'Manage HA' window thinks tries to add the
service again if its in the 'ignored' state, and then the backend
errors out because it is already configured.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-11-28 15:59:58 +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
Alwin Antreich
dae96e48dc Fix: #1542, use percent_used key instead of calculation
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2017-10-31 08:21:32 +01:00
Dominik Csapak
815a2bc1a7 make bluestore the default on the api
with this we also have to send '0' to from the frontend, when the
bluestore checkbox is not checked

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-20 12:01:41 +02:00
Fabian Grünbichler
8ccae777f0 ceph: disable OSD unit in destroyosd
while OSDs units should only be runtime enable and disappear on reboots,
this serves as an additional safeguard to ensure no leftover units can
exist.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-10-10 12:17:17 +02:00
Fabian Grünbichler
f4fe197db4 ceph: correctly parse 'pg dump' output
Reported-By: Waschbüsch IT-Services GmbH <service@waschbuesch.it>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-10-10 12:16:43 +02:00
Dietmar Maurer
43fc27a4ec PVE/API2/Subscription.pm - use new PVE::Subcription class 2017-10-03 12:54:29 +02:00
Wolfgang Link
0d083f4b27 Clean up unnecessary code.
The jobid is already parsed by the file parser.
2017-09-25 15:45:28 +02:00
Dominik Csapak
1fb090840d ceph: do not automatically use wal if only journal is given
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-09-07 12:35:14 +02:00
Fabian Grünbichler
0a521b6634 ceph/destroypool: move image check into worker
vdisk_list can potentially take very long, and we don't want
the API request to time out.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
8c42620460 ceph: make create/destroypool API paths async
in order to get task log entries and easily accessible
task/error logs.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
c75f019a55 ceph/destroypool: refactor to use get_storages
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
f6144f3493 ceph/destroypool: optionally remove storages
only storages which don't have the 'monhost' option set are removed

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
60811ad7eb ceph/createpool: optionally add storages
introduce new API parameter 'add_storages'. if set, one
storage each is configured using the created pool:
- for containers using KRBD
- for VMs using librbd

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
0c0d43a7cc ceph: create/destroypool: shorten variable name
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
f4aae93bbf ceph: add get_storages helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
ae672a64ce ceph: add add_storage helper
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-09-07 11:38:20 +02:00
Fabian Grünbichler
e16cd81fb5 pveceph/init: improve version check error message 2017-08-25 14:16:09 +02:00
Alwin Antreich
c64c04dd39 implement checks for ceph version & binaries
add version check to ceph init to require luminous or higher and
fix #1481: check existence of ceph binaries before use

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2017-08-25 13:46:42 +02:00
Dominik Csapak
6c11e92154 ceph: add application parameter to createpool
and use 'rbd' by default, since we cannot create a cephfs or
rgw from the gui currently

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-10 09:38:29 +02:00
Dominik Csapak
6747b0a903 ceph: make size 3/min 2 default with createpool
in the gui this is already the default, so make it also the default
in the backend (also 2/1 is really bad as a default)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-10 09:38:29 +02:00
Dominik Csapak
4d422ffc3e add bluestore information to osd api call
this adds information about bluestore (which devices and if
bluestore/filestore) to show in the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-08-07 14:52:02 +02:00
Dominik Csapak
c9508b5d4c also get the crush rule name in the ceph pool list
we get the names in the backend, and give them as an additional field
in the api call, and use it in the grid

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
d2692b86e2 fix #1465: use a combobox for the crush rule instead of the id
this patch does a few things

1. we introduce a new api call /nodes/nodename/ceph/rules
   which gets us a list of crush rules

2. we introduce a new CephRuleSelector which is a simple combobox
   with the data from the api call ceph/rules

3. we use this in the create pool window

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
2db28c036e make crush rules working again
since ceph 12.1.1 the (deprecated) parameter 'crush_ruleset' is removed
and replaced with 'crush_rule' while changing this, change from
integer to string so that we can later use the names of the rules
instead of the id

(for now there seems to be a bug that you can only use the name and
not the id)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
33a7e15766 add osd device class to osd tree
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
bb7d5aa955 correctly remove partitions for ceph bluestore osds
we now have to remove 5 types of partitions:

data/metadata
journal
block
block.db
block.wal

this patch fixes the detection of block/block.db/block.wal
generalizes it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
8d64bd8c3b enable using a device for bluestore block db/wal
we reuse the 'journal_dev' parameter for bluestores block.db
and add a new parameter 'wal_dev' for bluestores write ahead log

if only journal_dev is given, use it for both db and wal

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-31 15:25:34 +02:00
Dominik Csapak
87eb0fc205 fix creating the first ceph monitor
we cannot use a rados connection before having at least one monitor,
so we have to move it down

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-27 15:14:21 +02:00
Dominik Csapak
b0e5ae21cf add missing '-' to service name pattern
since ids can contain '-', we have to include them in the pattern
for the service names

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-26 16:51:09 +02:00
Dominik Csapak
be753927e7 whitespace cleanup
and intendation fix

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-26 14:45:07 +02:00
Dominik Csapak
ca68ac3efd pveceph: add createmgr/destroymgr commands
this patch adds the create-/destroymgr commands to the api and pveceph,
so that advanced users can split monitor and manager daemons

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-26 14:45:07 +02:00
Dominik Csapak
c05ff7b4de pveceph: create mgr with mon, use nodename for id
we now want to add a ceph-mgr daemon to every node where a ceph-mon
daemon runs, as per ceph documentation recommendation, because in
luminous the mgr daemons will not be automatically created/started
with a monitor anymore

we also give the createmon an optional id parameter, so that one
can set a custom id, and make the creation/removal of the manager
optional but the default

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-26 14:45:07 +02:00
Dominik Csapak
84caf265bd add health detail to ceph status api call
with ceph 12.1.1 luminous, ceph has reorganized its json
interface of the ceph status and ceph health call

so to get everything we need, we have to also get
the ceph health detail information into our
status call

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-24 16:10:24 +02:00
Wolfgang Link
b6c427261c Fix pveceph createosd
The --filestore flag is now required see doc of ceph.

If the --bluestore argument is given, a bluestore objectstore will be
created.  If --filestore is provided, a legacy FileStore objectstore
will be created.  If neither is specified, we default to BlueStore.
2017-07-19 12:40:28 +02:00
Thomas Lamprecht
959f37afe2 replication: show disabled jobs and allow enabling/disabling
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-06-29 10:59:11 +02:00
Dietmar Maurer
a4beaa9422 PVE/API2/Replication.pm: cleanup - avoid modifying jobcfg
This is simply no longer necessary.
2017-06-29 07:45:57 +02:00
Wolfgang Link
fa298bb000 Fix create replication job
Add node to load config. this is needed if you are on an other node then the guest.
2017-06-28 14:20:09 +02:00
Dietmar Maurer
88ea8e67d3 PVE/API2/Replication.pm: add schedule_now API 2017-06-28 12:14:22 +02:00
Fabian Grünbichler
d197634b4b ceph: keys: add mgr allow * to client.admin
needed for data that now gets queried via the mgr instead of
via the mon.
2017-06-27 16:42:35 +02:00
Fabian Grünbichler
50239dba68 pveceph: createosd: allow to create bluestore OSDs 2017-06-27 16:15:44 +02:00
Fabian Grünbichler
207f493293 pveceph: init: add min_size, change default to 3/2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-06-27 16:15:44 +02:00
Dietmar Maurer
5a26b00600 PVE/API2/Replication.pm: call purge_old_states in run_jobs
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-06-27 15:48:06 +02:00
Wolfgang Bumiller
1adc6f7ab3 replication: refuse to create jobs with nothing to do
When a VM has no disks or all of them are on shared storage
the replication job has nothing to do and fails, so catch
this when creating a new job.
2017-06-27 15:16:41 +02:00
Wolfgang Bumiller
5b35845009 tests: update pvesr_lock_path variable location 2017-06-27 15:16:41 +02:00
Fabian Grünbichler
2e9d791ee6 ceph: init: allow pool deletion by default
set to false by default since Ceph > Kraken

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-06-27 14:53:17 +02:00
Wolfgang Bumiller
25420507b2 refuse to create replication jobs for unreplicatable VMs 2017-06-27 06:28:33 +02:00
Dietmar Maurer
2aa029571c PVE/API2/Replication.pm: add $verbose parameter run_jobs() 2017-06-20 08:58:48 +02:00
Dominik Csapak
dc9bc76843 implement delete parameter for replicationconfig
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:30:05 +02:00
Dominik Csapak
a4dc8611e6 implement digest checking for ReplicationConfig update
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-12 16:02:53 +02:00
Dominik Csapak
d09c076a62 change to ReplicaState
this function moved, so the call to it has to move too

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-12 16:01:55 +02:00
Dietmar Maurer
d092dc4f83 use new replication helpers from pve-guest-common 2017-06-12 06:59:21 +02:00
Dietmar Maurer
810c6776d9 PVE::Replication - remove dependency to PVE::LXC/PVE::QemuServer
So that we can move the whole class to package pve-guest-common.
2017-06-12 05:59:51 +02:00
Dietmar Maurer
9a427c6cc8 PVE::API2::ReplicationConfig->delete - use raise_param_exc 2017-06-09 06:12:02 +02:00
Wolfgang Link
948136a4f0 Add force parameter for delete replica job.
This parameter is helpful if an unsolvable situation occurs or the vmconfig was delete manually.
2017-06-09 06:00:18 +02:00
Dietmar Maurer
4542a42ab3 PVE/API2/ReplicationConfig.pm: add job creation checks
Check if the target and guest exists to avoid creation of faulty jobs.
2017-06-08 10:01:45 +02:00
Dietmar Maurer
bc1ec7bc1b pvesr: add a message that job removal will take some time 2017-06-08 09:42:12 +02:00
Dietmar Maurer
51506f9a2b PVE::API2::Tasks - remove dead code 2017-06-08 08:52:22 +02:00
Dietmar Maurer
4b70f596b3 PVE::API2::Tasks - use PVE::Tools::dump_logfile 2017-06-08 07:36:33 +02:00
Dietmar Maurer
fc527b4da1 PVE::API2::Replication: rework replication status API
/nodes/<node>/replication => list status of all jobs

/nodes/<node>/replication/<id>/status => individual job status

/nodes/<node>/replication/<id>/log => job log
2017-06-08 07:16:39 +02:00
Dietmar Maurer
a9da300ded PVE::API2::ReplicationConfig - extract guest ID from job ID 2017-06-07 11:30:52 +02:00
Dominik Csapak
4b48563a88 use correct field for child link
namely id instead of vmid, so that the child links are working in the
api inspector and pvesh

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-02 16:23:30 +02:00
Dietmar Maurer
f5b53d4c31 PVE/API2/Replication.pm: change vmid => guest 2017-06-02 16:22:46 +02:00
Dominik Csapak
c1b20fca93 add vmid parameter to replication status
so that one can limit the status list for one vm/ct

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-02 16:19:26 +02: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
f9d38c545c PVE::API2::ReplicationConfig - implement delete
We just set the remove_job property in the configuration. Actual removal
is done asynchronous inside replicate().
2017-05-31 08:23:47 +02:00
Dietmar Maurer
5c180db3b5 PVE::Replication - use new calendar events instead of interval
And implement retry algorythm after failure:

  $next_sync = $state->{last_try} + 5*60*$fail_count;

and limit to 3 failures.
2017-05-31 08:23:46 +02:00
Dietmar Maurer
483f89dd47 PVE/Replication.pm: save pid/ptime to running job state
So that we can check which job is running.
2017-05-31 08:23:46 +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
Emmanuel Kasper
7a58166094 Fix #1386: track postfix daemon status via postfix@- 2017-05-29 14:52:24 +02:00
Fabian Grünbichler
4280f25c17 ceph: init: rename disable-cephx to disable_cephx
for consistency
2017-05-03 11:37:08 +02:00
Fabian Grünbichler
97f050bb79 ceph: init: add warning to disable-cephx 2017-05-03 10:27:24 +02:00
Alexandre Derumier
77bb90b03b ceph: init: add optional disable-cephx option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2017-05-03 10:27:18 +02:00
Alexandre Derumier
d70e3c4860 ceph: init: remove filestore xattr use omap
it's not used anymore since emperor

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2017-05-03 10:26:25 +02:00
Fabian Grünbichler
8366363738 Ceph: allow bigger size and min_size in API 2017-04-03 12:06:55 +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
Fabian Grünbichler
cc5bb515ed ceph: create default keys when creating monitor
this used to be a separate service, but got dropped in
Kraken in favour of calling ceph-create-keys manually when
deploying a node.
2017-03-21 13:50: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
Fabian Grünbichler
d12c3e8a7c APT: update packages and package names
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-03-16 07:06:25 +01:00
Dominik Csapak
0c8d740228 fix diffstore issue with clusterlog
extjs cannot "convert" and id from other fields, so the ids in the
diffstore and the realstore are different and we re-add every element on
every update

to mitigate this, we generate the id (which is "uid:hostname") in the
backend, and simply use it in the frontend

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-03-10 11:09:46 +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
Dietmar Maurer
b0f820ab9f PVE/API2/Tasks.pm: corretly return true after loading 2017-01-31 08:13:17 +01:00
Wolfgang Bumiller
f70fc9ace9 REST/RPCEnvironment's check_worker is a method now 2017-01-27 10:39:02 +01:00
Dietmar Maurer
989f3c7ead use new PVE::Storage::check_volume_access() 2017-01-18 17:30:40 +01:00
Dietmar Maurer
b996e6c0ec use new libpve-http-server-perl package
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-16 11:54:33 +01:00
Dietmar Maurer
617ca1c615 PVE/API2/Formatter/HTML.pm: avoid use of PVE::REST
Instead, pass the HTTP server as last argument to the page formater,
so that we can call $server->create_auth_cookie().

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2017-01-12 11:53:18 +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
Wolfgang Link
ef3d095b55 Change remove partition order.
If we remove first the journal the data partition will automatically mounted
and can't destroy the partition.
This is trigger by the udev ceph rule.
2016-12-22 12:26:10 +01:00
Wolfgang Link
84aed461aa Fix parsing block device.
Get the partition num and block device from sysfs.
This ensure different block device types will work.
2016-12-22 12:25:45 +01:00
Wolfgang Link
19bada0c96 Enable service for ceph monitor.
We do not use the ceph.service what normally start ceph-mon,
so we have to ensure ceph-mon is enabled.
2016-12-22 11:57:50 +01:00
Wolfgang Link
3279b1d2d4 Set correct permission for ceph user.
We have to set the correct permission,
because ceph greater than infernalis use ceph as daemon user.
2016-12-22 11:51:19 +01:00
Dominik Csapak
a46ad02adb add ceph flags api calls
we add a get/post/delete api call for ceph flags

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-30 17:08:38 +01:00
Dominik Csapak
85c17d9673 also return the ceph flags in osd api call
we want to set/get the flags in the ceph/osd tab, so we have to
return it there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-30 17:07:14 +01:00
Dietmar Maurer
ac04fb558b plug new ClusterConfig API at /cluster/config 2016-11-29 12:08:39 +01:00
Dietmar Maurer
b67dc872ac code cleanup: avoid use of PVE::HA::Env (not necessary) 2016-10-28 09:32:35 +02:00
Dominik Csapak
c6e94f4224 add hastate to /cluster/resources api call
this adds a hastate field to all vms/ct which have ha enabled

we will use this for showing the error state in the tree (in the webgui)
and for the cluster dashboard (to count the error state guests)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-28 09:22:37 +02:00
Fabian Grünbichler
f0bbc08419 restrict vzdump cron options
modeled after the VZDump API path, but since we are
restricted to Sys.Modify users already, we only need to
restrict these three options.
2016-10-17 10:36:06 +02:00
Dietmar Maurer
4ea55500a4 pveversion: add smartmontools 2016-10-14 08:59:24 +02:00
Dietmar Maurer
42e237c3c5 pveversion: add pve-docs package 2016-10-14 08:57:51 +02:00
Fabian Grünbichler
6d0507a87a vzdump: move restricted API parameters check
for better visibility and earlier error detection
2016-10-12 17:30:45 +02:00
Fabian Grünbichler
eb2d6fd390 vzdump: document restricted API parameters 2016-10-12 17:30:26 +02:00
Dominik Csapak
107e872ac7 use correct info on disks in destroyosd and skip smart
instead of using
'/dev/${real_dev}'

we use the devpath property directly

also we skip the smart check in the cleanup

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-06 08:27:46 +02:00
Dominik Csapak
929376d778 fix #1099: get correct info on disks in createosd
instead of getting all disks, only get the info
from the one we get as parameter
and use the 'devname' value for the
ceph commands instead of the parameter itself
(this fixes the cciss!cXdY cciss/cXdY mismatch)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-06 08:26:32 +02:00
Dominik Csapak
5fd5c30db7 do not get smart data for ceph disk list
on the ceph disks call, we do not need the smart
data, so set the nosmart flag

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-06 08:20:42 +02:00
Thomas Lamprecht
8f46103543 Makefile: fix distclean target
As some Makefiles in sub directories do not implement the distclean
target, namely:
PVE/Service/Makefile
PVE/CLI/Makefile

This target is broken.

As all other implementations just redirect to the 'clean' target I
do not implement the missing ones but rather remove all such
targets. Keep it just in the top level directory, for consistence
sake with other pve repos, and redirect it there directly to the
clean target.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-09-28 08:21:48 +02:00
Emmanuel Kasper
13a399c456 do not test for the cgmanager package in pveversion fix #1117
the package has been removed from the list of lxcfs dependencies
since 0.12-pve1
2016-09-21 16:16:52 +02:00
Dietmar Maurer
3947d0a069 startall: remove timeout, wait forever 2016-09-09 10:31:21 +02:00
Dominik Csapak
7f4924bd9b use the Diskmanage subs for ceph instead
the subs are now in PVE::Diskmanage, so use them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:45:09 +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
Dominik Csapak
86506300af add novnc-pve to pveversion -v
it was missing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-12 10:43:25 +02:00
Wolfgang Bumiller
c37f23f53b fix undefined value warning in resources api call
With the new calculation $pe->{maxcpu} was used before being
initialized to zero. Moving the initialization up.
Additionally setting $pe->{cpu} to $entry->{cpu} if maxcpu
is not set seems pointless as with its factor (maxcpu)
initialized to zero it is cancelled out anyway.
2016-07-07 08:15:15 +02:00
Dominik Csapak
ffe31eeacd fix #1030: calculate correct cpu usage of pools
we only added the % of the vms in a pool
which lead to wrong results
e.g. having a pool with 3 vms with 4 cores each and a
cpu usage of 50% each (2 cores at 100%)
lead to :

vm1	50%
vm2	50%
vm3	50%
pool	150%

instead we new calculate the percentage for the whole pool

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-07-01 11:10:37 +02:00
Dominik Csapak
76dc2ad016 fix #1043: prevent ceph destroypool when in use
also introduces a force parameter to this call
if force is true, the call destroys the ceph pool
even when it is use

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-30 13:47:36 +02:00
Wolfgang Bumiller
ef456bd0b0 Remove IPv4 netmask check 2016-06-06 14:50:25 +02:00
Wolfgang Bumiller
403761c43e Fix #1015: vzdump: send email on early errors
VZDump->new() dies when a tmpdir or dumpdir is configured
but does not exist. At this point the error is not being
reported via email.

This also moves the instantiation of VZDump into the worker
since new() can now call sendmail() on error.

Additionally rather than only showing a single error if both
tmpdir and dumpdir don't exist, both are included in the
message.
2016-06-06 13:38:35 +02:00
Fabian Grünbichler
7619e4dd31 add vzdump/extractconfig API path 2016-06-03 12:11:14 +02:00
Wolfgang Bumiller
98901f1d88 ceph: brackets around ipv6 2016-05-17 16:05:21 +02:00
Wolfgang Link
ee22d1cb38 Add ceph in optional packages
It is usefull to see which ceph version are installed on the PVE host.
2016-05-10 10:25:19 +02:00
Fabian Grünbichler
3cba09d570 docs: typo, newlines 2016-04-15 16:36:03 +02:00
Fabian Grünbichler
e2a2525e60 VZDump: mark 'size' as deprecated, warn if set
this parameter should be removed in a future release, just
warn and change description for now to avoid breakage.
2016-04-14 10:39:45 +02:00
Wolfgang Bumiller
4aed5e3e3a Fix #936: ceph: support multiple roots in osd tree
The OSD tree in our GUI otherwise only shows the "first"
root it finds in the crush map.
2016-04-13 08:40:49 +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
Dietmar Maurer
f494187fb6 do not use Net::SSL
seems IO::Socket::SSL can now connect to proxy
2016-02-26 11:29:00 +01:00
Thomas Lamprecht
90c75580b6 add permissions to allow non root ceph configuration
Do not only allow root@pam to admin ceph server as some user do not
want to allow root logins and users with the Sys.Modify permission
should be able to modify ceph related stuff.

We use basically the following permissions:
 Sys.Modify:
    for any delete, add, modify action (POST, PUT, DELETE)
 Sys.Audit and Datastore.Audit:
    for any status/information view action (GET)
 Sys.Log:
    for viewing the Ceph log (was already implemented)

We have two exceptions creating and destroying osds. Those may only
be done by 'root@pam' for security reasons.

Also show users with any of those capabilities the ceph tab in the
web GUI.

Addresses bug#818
2016-02-12 08:22:16 +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
Wolfgang Bumiller
28b699bc7b fix bug #821: add systemd-timesyncd to service list. 2016-01-22 11:24:21 +01:00
Dietmar Maurer
37bec89547 improve log messages at sytem shutdown 2016-01-22 11:24:17 +01:00
Alexandre Derumier
fc78c972ef ceph.conf : remove auth_supported
It's not used since ceph 0.50,
replaced by the 3 others auth config options

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2016-01-22 11:24:15 +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
Alexandre Derumier
3f0d1a4bfd NetworkEdit : add support for vlan interfaces.
Edit only for now, create will come soon in another patch

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-09-25 07:06:48 +02:00
Alexandre Derumier
a1604d7046 add bridge vlan aware checkbox
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-09-16 11:02:43 +02:00
Wolfgang Link
6f9ea1c199 fix output percent_used in rbd pools
This fix is essential of cause json field changes in the ceph api.
They change the field size in pool to max_avail
and the field total_size in stats to total_max_avail
2015-09-09 06:41:54 +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
Wolfgang Link
67469842a0 complete optional packet list for pveversion 2015-08-25 09:39:14 +02:00
Wolfgang Bumiller
957a59b308 Ceph: fix old interfaces access in find_node_ip
Fixes #681
2015-08-12 09:43:03 +02:00
Dietmar Maurer
eafe236e8a pveversion: add criu package 2015-08-10 09:55:00 +02:00
Wolfgang Link
241c6f94c5 Add extra optional list to pveversion
if the packet on the opt list is not installed, it will not shown.
2015-08-10 09:53:18 +02:00
Wolfgang Bumiller
5301228562 fix a remote_node_ip calling context
Using remote_node_ip to build a hash needs to explicitly
request a scalar context.
2015-07-30 08:58:04 +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
Thomas Lamprecht
4341db1d2f Added functionality do disable temporary a backup job
Added an option to disable a backup job while preserving its
settings. When a job is disabled a '#' is added in front of the vzdump
command in the vzdump.cron file. So the cron job still fires,
but only a comment gets executed. If we would comment out the cron job
a bit more changes to the parser would be needed.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-07-27 09:15:09 +02:00
Alen Grizonic
d6ca60267f lxc added to read_pool
Signed-off-by: Alen Grizonic <a.grizonic@proxmox.com>
2015-07-22 13:30:23 +02:00
Dietmar Maurer
761a2b311c allow to download templates with type lxc 2015-07-02 11:25:08 +02:00
Dietmar Maurer
502a69ef9e fix bug #648: forward call to correct node 2015-06-30 07:04:25 +02:00
Wolfgang Bumiller
3ed15e6c11 PVE::API2::Network: network_interfaces update + ipv6 2015-06-26 08:54:17 +02:00
Wolfgang Bumiller
905c2f5176 PVE::API2::Ceph: network_interfaces update + ipv6 2015-06-26 08:53:09 +02:00
Dietmar Maurer
c9ea843b1b pveversion: also remove clvm 2015-06-19 12:40:18 +02:00
Dietmar Maurer
21ccef4fb4 pveversion: also list lxcfs and cgmanager 2015-06-19 12:31:09 +02:00
Dietmar Maurer
97f6e02926 pveversion: fix package list for pve 4.0 2015-06-19 12:24:58 +02:00
Dietmar Maurer
04fb6e38e5 GUI: add ksmtuned service 2015-06-11 09:29:27 +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
50d4dc1749 implement service API using systemctl 2015-06-05 15:32:14 +02:00
Dietmar Maurer
74e3975e12 remove UBC GUI 2015-06-02 11:53:19 +02:00
Dietmar Maurer
91d7c7aa00 API change: /cluster/status - do not use clustat 2015-06-02 11:05:30 +02:00
Dietmar Maurer
94c47be79d fix typo 2015-06-02 08:42:32 +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
e877877f5e use new ha infrastructure 2015-04-03 08:36:59 +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
c0d696f9da fix proxversion -v for jessie release 2015-03-06 11:30:40 +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
Dietmar Maurer
297faa1258 use new PVE::Cluster::vm_is_ha_managed() 2015-03-03 07:11:28 +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
eab837c4c4 cleanup vzdump -stop implementation
* do not unlink $pidfile inside stop_running_backups to avoid race conditions
* use pve UPID to save pid (see PVE::Tools::upid_decode)
* allow to pass -stop parameter to nomal backup job
* simple return 'OK' instead of calling exit() inside API call.
* rename stop_all_backups to stop_running_backups
2015-01-20 09:35:01 +01:00
Wolfgang Link
8682f6fcb1 Fix backup failure at shutdown.
This fix include a new function of vzdump.
Now you can call vzdump -stop and the backup will be aborted.
Also if the pve-manager init script stop the process, vzdump -stop will called.

Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
2015-01-20 08:06:59 +01:00
Tobias Doerffel
f9adc7763d Fixed typo in backup API
Signed-off-by: Tobias Doerffel <tobias.doerffel@ed-chemnitz.de>
2014-11-24 06:36:48 +01:00
Stefan Priebe
6ec9de4426 VZDump: send an error email in case of lock failure
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-10-23 10:57:22 +02:00
Dan Hunsaker
b71c468669 Add CT suspend/resume support via PVE2 API
Suspend/resume support for VMs has been in the PVE2 API for some time,
but even though vzctl supports suspend/resume (what they call checkpoint/
restore), the API doesn't yet support suspend/resume for CTs.  This patch
adds that support.

Signed-off-by: Dan Hunsaker <danhunsaker@gmail.com>
2014-10-09 09:21:13 +02:00
Stanislav German-Evtushenko
4b15265645 GUI: add new email_from option to datacenter.cfg
Signed-off-by: Stanislav German-Evtushenko <ginermail@gmail.com>
2014-09-04 17:16:02 +02:00
Dietmar Maurer
c608873a5c GUI: add pool view 2014-08-13 08:06:18 +02:00