Michael Rasmussen [Wed, 19 Oct 2016 22:52:25 +0000 (00:52 +0200)]
Update to reflect current status
Signed-off-by: Michael Rasmussen <mir@datanom.net>
Wolfgang Bumiller [Wed, 12 Oct 2016 09:35:19 +0000 (11:35 +0200)]
SectionConfig: always write out explicitly set booleans
Because when only writing the ones which are true we're
breaking the ones which default to true (like the mkdir
option on directory storages, where we need a false value
to be written out explicitly).
Dietmar Maurer [Fri, 7 Oct 2016 07:02:51 +0000 (09:02 +0200)]
bump version to 4.0-75
Fabian Grünbichler [Thu, 6 Oct 2016 13:12:11 +0000 (15:12 +0200)]
correct spelling of synopsis
Dietmar Maurer [Thu, 29 Sep 2016 10:46:42 +0000 (12:46 +0200)]
bump version to 4.0-74
Wolfgang Bumiller [Thu, 29 Sep 2016 09:37:49 +0000 (11:37 +0200)]
Network: add disable_ipv6 and use it
Many interfaces used to get an ipv6 link-local address which
was usually unusable and therefore pointless.
In order to ensure consistency this is called in various
places:
* $bridge_add_interface() and $ovs_bridge_add_port() because
it's generally a good choice for bridge ports.
* tap_create() and veth_create() because the activate the
interfaces and we want to avoid the link local address to
exist temporarily between bringing the interface up and
adding it to a bridge.
* create_firewall_bridge_*() because firewall bridges aren't
meant to have addresses either.
* activate_bridge_vlan() - if vlan_filtering is disabled we
create vlan-bridges and neither them nor their physical
ports should have link local addresses.
Dietmar Maurer [Thu, 29 Sep 2016 10:15:47 +0000 (12:15 +0200)]
fix doc generator (do not convert efidisk0 to efidisk[N])
Also fix spacing in typetext generator.
Dietmar Maurer [Fri, 16 Sep 2016 06:48:41 +0000 (08:48 +0200)]
bump version to 4.0-73
Dietmar Maurer [Mon, 5 Sep 2016 07:27:50 +0000 (09:27 +0200)]
schema_get_type_text: always access values as number
Else PVE::RESTHandler::api_dump prints values as strings.
Dietmar Maurer [Mon, 5 Sep 2016 05:47:32 +0000 (07:47 +0200)]
add typetext property for more complex types
Fabian Grünbichler [Tue, 16 Aug 2016 15:15:13 +0000 (17:15 +0200)]
bump version to 4.0-72
Wolfgang Bumiller [Tue, 16 Aug 2016 14:31:09 +0000 (16:31 +0200)]
harden file_set_contents against symlink attacks
Wolfgang Bumiller [Thu, 14 Jul 2016 07:21:24 +0000 (09:21 +0200)]
allow Regexp objects for strings in the schema
The 'pattern' property has type string and format regex, so
it makes sense to allow Regexp objects to be used for it.
While check_type() doesn't know the format, Regexp objects
can be treated like strings anyway, including compared via
'eq' or matched via '=~', so we allow strings to generally
come from a Regexp object.
Wolfgang Bumiller [Wed, 13 Jul 2016 14:25:45 +0000 (16:25 +0200)]
tools: optional prefix for random_ether_addr
Wolfgang Bumiller [Mon, 11 Jul 2016 09:34:10 +0000 (11:34 +0200)]
bump version to 4.0-71
Wolfgang Bumiller [Tue, 5 Jul 2016 10:40:23 +0000 (12:40 +0200)]
fix mac address generation limitation
Commit
de9a267 introduced vec() to optimize the generation
by using binary operations instead of converting back and
forth between hex and strings, but forgot to switch over to
the binary sha1 method. This resulted in only the first 6
hex digits of the output string making up the address.
Fabian Grünbichler [Mon, 4 Jul 2016 11:04:12 +0000 (13:04 +0200)]
fix 1046: add non-snapshotted disks as unused
Wolfgang Bumiller [Mon, 4 Jul 2016 10:59:51 +0000 (12:59 +0200)]
df: untaint the result
Dietmar Maurer [Sat, 25 Jun 2016 12:45:51 +0000 (14:45 +0200)]
use new repoman toolkit
Wolfgang Bumiller [Wed, 22 Jun 2016 09:25:37 +0000 (11:25 +0200)]
bump version to 4.0-70
Wolfgang Bumiller [Mon, 13 Jun 2016 12:31:09 +0000 (14:31 +0200)]
Fix #132: hold a lock while setting up vlan bridges
It's possible for two simultaneous VM starts to try to
create vlan bridges on non-vlan-aware bridges
simultaneously, which causes one of them to fail with the
error "can't add bridge ...".
Dietmar Maurer [Tue, 21 Jun 2016 04:54:15 +0000 (06:54 +0200)]
bump version to 4.0-69
Wolfgang Bumiller [Mon, 20 Jun 2016 13:32:18 +0000 (15:32 +0200)]
vlan fixups: remove existing vlan ids
bridge_add_interface should remove the existing vids from
the interface (which is usually 1, which was previously left
on the interface)
Dietmar Maurer [Thu, 9 Jun 2016 15:56:47 +0000 (17:56 +0200)]
bump version to 4.0-68
Fabian Grünbichler [Thu, 9 Jun 2016 14:34:25 +0000 (16:34 +0200)]
catch malformed mailto/mailfrom in sendmail
Fabian Grünbichler [Tue, 24 May 2016 08:28:35 +0000 (10:28 +0200)]
remove duplicate 'set -o pipefail'
Dietmar Maurer [Fri, 3 Jun 2016 09:27:28 +0000 (11:27 +0200)]
bump version to 4.0-67
Wolfgang Bumiller [Fri, 3 Jun 2016 09:09:24 +0000 (11:09 +0200)]
added: enter_systemd_scope
This essentially performas the task of systemd-run while
also waiting for the job to finish.
With the systemd-run version in jessie we run into a race
condition where the executed process can start forking child
processes before the systemd daemon is done setting up the
scope's cgroups, causing the children to NOT be included in
the cgroups. This means the child processes (in our case
qemu) will not adhere to the limits we want to apply to it
via cgroups.
enter_systemd_scope() performs the setup task of systemd-run
and waits for the job to finish, after this we can spawn the
qemu process without systemd-run.
Wolfgang Bumiller [Fri, 3 Jun 2016 09:09:23 +0000 (11:09 +0200)]
move Network::get_active_interfaces to ProcFSTools
This avoids a circular dependency between PVE::INotify and
PVE::Network.
Also renamed to get_active_network_interfaces since the
package name now doesn't hint at this anymore.
Wolfgang Bumiller [Fri, 3 Jun 2016 09:09:22 +0000 (11:09 +0200)]
add netmasks starting from /8 to local netmask list
Wolfgang Bumiller [Fri, 3 Jun 2016 09:09:21 +0000 (11:09 +0200)]
Consider /31 and /32 valid subnet masks.
Since we already allow this for container IP addresses it is
reasonable to assume the host might be using such a setup as
well. (You can use an additional route to reach the gateway
and then simply have no "LAN".) Some people seem to want
this...
Dietmar Maurer [Wed, 1 Jun 2016 09:32:28 +0000 (11:32 +0200)]
bump version to 4.0-66
Wolfgang Bumiller [Tue, 31 May 2016 12:58:27 +0000 (14:58 +0200)]
Allow O_PATH and O_TMPFILE to be exported
Wolfgang Bumiller [Tue, 31 May 2016 12:58:26 +0000 (14:58 +0200)]
added: openat, mkdirat
Dietmar Maurer [Wed, 25 May 2016 09:34:12 +0000 (11:34 +0200)]
bump version to 4.0-65
Thomas Lamprecht [Wed, 25 May 2016 09:03:10 +0000 (11:03 +0200)]
run_cli_handler: add no_rpcenv parameter
This can be used if a CLIHandler child class does not needs or wants
RPCEnv. E.g. this is the case with pve-cluster, as it's a dependency
of the package where RPCEnv resides (access-control), so this can be
set to avoid a implicit circular build dependency.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Mon, 23 May 2016 04:27:01 +0000 (06:27 +0200)]
bump version to 4.0-64
Wolfgang Bumiller [Thu, 19 May 2016 09:33:45 +0000 (11:33 +0200)]
print_property_string: don't print the default key's name
We had this behavior in the past and didn't mean to change
it.
Dietmar Maurer [Thu, 19 May 2016 11:11:26 +0000 (13:11 +0200)]
improve doc generator, introduce verbose_description property
Dietmar Maurer [Wed, 18 May 2016 14:49:19 +0000 (16:49 +0200)]
export bond_modes (define with 'our' instead of 'my')
So that other people can use that from outside.
Wolfgang Bumiller [Wed, 18 May 2016 09:20:08 +0000 (11:20 +0200)]
typo fix
Dietmar Maurer [Wed, 18 May 2016 09:23:49 +0000 (11:23 +0200)]
bump version to 4.0-63
Dominik Csapak [Wed, 18 May 2016 09:18:29 +0000 (11:18 +0200)]
show warning when using VLAN 1 on a VLAN aware bridge
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Tue, 17 May 2016 07:21:19 +0000 (09:21 +0200)]
support for predictable network interface device names
Based on patch from: Igor Vlasenko <viy@altlinux.org>
Dietmar Maurer [Sat, 14 May 2016 09:27:46 +0000 (11:27 +0200)]
bump version to 4.0-62
Dietmar Maurer [Thu, 12 May 2016 09:37:00 +0000 (11:37 +0200)]
replace the smartmatch operator
Dietmar Maurer [Thu, 12 May 2016 05:43:49 +0000 (07:43 +0200)]
re-enable run_cli, which is still in use
Dietmar Maurer [Thu, 12 May 2016 05:25:51 +0000 (07:25 +0200)]
print_property_string: correctly implement skip parameter
Dietmar Maurer [Wed, 11 May 2016 11:04:01 +0000 (13:04 +0200)]
fix keyAlias test
Dietmar Maurer [Wed, 11 May 2016 09:10:36 +0000 (11:10 +0200)]
bump version to 4.0-61
Dietmar Maurer [Wed, 11 May 2016 08:57:06 +0000 (10:57 +0200)]
JSONSchema fix property sort order
order: default_key, required options, other
Dietmar Maurer [Wed, 11 May 2016 07:28:09 +0000 (09:28 +0200)]
remove PodParser.pm, implement keyAlias feature
The keyAlias feature replaces the previous 'group_ feature.
Dietmar Maurer [Sat, 7 May 2016 08:57:14 +0000 (10:57 +0200)]
schema_get_type_text: return format_description if available
Dietmar Maurer [Wed, 4 May 2016 06:11:02 +0000 (08:11 +0200)]
update changelog
Emmanuel Kasper [Tue, 3 May 2016 10:43:12 +0000 (12:43 +0200)]
When starting in debug mode, starts the daemon without going through systemctl
This fixes the problem that debug options for daemons were ignored and sets
the following behaviour for the daemons when -debug 1 is given
* start on foreground with debug ouput on the console
* do not start a sytemd unit
Starting the systemd unit in debug mode makes less sense because:
* systemd will put the daemon in the background
* systemd ignores environment variables so the only way to start
the daemon with options would be through reading a config file
tested with pveproxy, pve-ha-lrm, pve-ha-crm
Dietmar Maurer [Tue, 3 May 2016 05:11:27 +0000 (07:11 +0200)]
set RELEASE=4.2
Dietmar Maurer [Tue, 3 May 2016 05:09:37 +0000 (07:09 +0200)]
bump version to 4.0-60
Fabian Grünbichler [Mon, 2 May 2016 13:03:03 +0000 (15:03 +0200)]
Use run_command instead of system
and explicitly note that those calls are allowed to fail and
are wrapped in eval {} on purpose.
Dietmar Maurer [Sat, 30 Apr 2016 10:01:20 +0000 (12:01 +0200)]
SectionConfig: sort values return by lookup_types
They are use to generate type enums in the API.
Dietmar Maurer [Sat, 30 Apr 2016 09:54:20 +0000 (11:54 +0200)]
sort keymap array
Dietmar Maurer [Sat, 30 Apr 2016 09:50:55 +0000 (11:50 +0200)]
SectionConfig.pm: sort type enum
So that we can better detect API changes.
Dietmar Maurer [Tue, 19 Apr 2016 10:38:47 +0000 (12:38 +0200)]
fix coding style
Fabian Grünbichler [Tue, 19 Apr 2016 09:47:55 +0000 (11:47 +0200)]
Fix indexed parameter conversion in documentation
this would previously convert properties that matched
'^([a-z]+)(\d+)$' even if they were not part of an indexed
properties series (which always start with 0).
This fixes previously wrongly converted properties:
-smbios1
-server2
Fabian Grünbichler [Tue, 19 Apr 2016 09:47:54 +0000 (11:47 +0200)]
Fix indexed parameter conversion in API dump
this would previously skip (i.e., ignore) properties that
matched '^([a-z]+)(\d+)$' even if they were not part of an
indexed properties series (which always start with 0).
This fixes previously missing API dump occurrences of:
-smbios1
-comments6
-netmask6
-gateway6
-address6
-dns1
-dns2
-dns3
-server1
-server2
Dietmar Maurer [Wed, 13 Apr 2016 04:37:47 +0000 (06:37 +0200)]
bump version to 4.0-59
Wolfgang Bumiller [Tue, 12 Apr 2016 14:02:52 +0000 (16:02 +0200)]
Fix #908: cleanup OVS ports in tap_unplug
tap_unplug() is only called in hotplugging functions which
perform a tap_plug() afterwards, and and in qemu-server's
bridge-down script.
The OVS port cleanup for non-firewall ports was done only in
tap_plug(), which means that in the case when qemu exits and
the tap device disappears, the OVS port for it stays.
With this patch the cleanup happens in both tap_unplug() and
tap_plug() to avoid problems with upgrades on systems
where there have already been ports leaked.
Dietmar Maurer [Thu, 7 Apr 2016 15:30:52 +0000 (17:30 +0200)]
another fix for $get_property_description() - remove format 'pod'
Instead, use the same enum as in usage_str().
Dietmar Maurer [Thu, 7 Apr 2016 10:58:00 +0000 (12:58 +0200)]
add pve-docs to README.dev
Dietmar Maurer [Thu, 7 Apr 2016 05:52:35 +0000 (07:52 +0200)]
pass correct format to $get_property_description()
Fabian Grünbichler [Tue, 5 Apr 2016 10:59:33 +0000 (12:59 +0200)]
Fix uninitialized subroutine error
Dietmar Maurer [Tue, 5 Apr 2016 10:25:20 +0000 (12:25 +0200)]
update changelog
Fabian Grünbichler [Tue, 5 Apr 2016 07:29:51 +0000 (09:29 +0200)]
Add validate_ssh_public_keys
validate format of SSH public keys using ssh-keygen -l and
temp files.
Dietmar Maurer [Tue, 5 Apr 2016 10:23:33 +0000 (12:23 +0200)]
update changelog
Fabian Grünbichler [Tue, 5 Apr 2016 07:20:51 +0000 (09:20 +0200)]
Replace 'string' with 'filepath' for mapped params
For the CLI man pages and documentation, mapped parameters
('content' strings in API2 which are loaded from file paths
in CLI) get special treatment and are displayed with the
type 'filepath'.
Fabian Grünbichler [Tue, 5 Apr 2016 07:20:50 +0000 (09:20 +0200)]
Handle string parameter to file content replacement
This is modelled after the way read_password() is used to
wrap -password parameters on the command line. If a mapping
for a certain API method and parameter is defined in the
sub class of CLIHandler.pm, the parameter is interpreted as
a file path on the command line and the parameter is
filled with the string contents of the referenced file.
This allows us to use the same API schema once in API2, but
overwrite the behaviour for individual parameters in the CLI
tools when desired.
Dietmar Maurer [Tue, 5 Apr 2016 04:28:59 +0000 (06:28 +0200)]
bump version to 4.0-58
Dietmar Maurer [Tue, 5 Apr 2016 04:27:29 +0000 (06:27 +0200)]
sendmail: minor cleanups
Thomas Lamprecht [Mon, 4 Apr 2016 14:23:08 +0000 (16:23 +0200)]
Tools: add sendmail
can be used to send multipart (HTML, plain) mails to one or more
recipients at once.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Mon, 4 Apr 2016 12:43:56 +0000 (14:43 +0200)]
Tools: tempfile and tempfile_contents
Wolfgang Bumiller [Mon, 4 Apr 2016 12:22:31 +0000 (14:22 +0200)]
fix O_PATH value
Dietmar Maurer [Sun, 3 Apr 2016 14:09:07 +0000 (16:09 +0200)]
generate_typetext: avoid warning with aliases
Dietmar Maurer [Fri, 1 Apr 2016 07:02:37 +0000 (09:02 +0200)]
update changelog
Wolfgang Bumiller [Wed, 30 Mar 2016 10:09:53 +0000 (12:09 +0200)]
generate_typetext: handle enums and booleans automatically
Wolfgang Bumiller [Wed, 30 Mar 2016 10:09:52 +0000 (12:09 +0200)]
property strings: introduce key grouping feature
Use case: networks for kvm use a <model>=<macaddr> scheme
where the model represents the network card. The schema
previously could not represent this, so we now introduce a
'group' key which works similar to an alias with the
difference that the data structure also gets an entry named
after the group filled with the name of the key that was
used to fill it.
Usage:
{
virtio => { group => 'model' },
e1000 => { group => 'model' },
model => {
type => 'string',
pattern => ... # pattern for mac address
...
}
}
Now the string 'virtio=aa:bb:cc:dd:ee:ff' gets parsed into:
{
model => 'virtio',
virtio => 'aa:bb:cc:dd:ee:ff'
}
Error examples:
With bad value:
virtio: value does not match the regex pattern
Missing group:
model: property is missing and it is not optional
parse_net() however used the 'macaddr' key for the mac
address, which can be achieved by aliasing 'model' to
'macaddr':
{
virtio => { group => 'model' },
e1000 => { group => 'model' },
model => { alias => 'macaddr' },
macaddr => {
type => 'string',
pattern => ... # pattern for mac address
...
}
}
Then the above string will be parsed into:
{
model => 'virtio',
macaddr => 'aa:bb:cc:dd:ee:ff'
}
The error output now always shows the 'macaddr' key:
Error examples:
With bad value:
macaddr: value does not match the regex pattern
Missing group:
macaddr: property is missing and it is not optional
In order to support specifying no mac address we can now set
model.default_key = 1 and macaddr.optional = 1.
That way `virtio,bridge=vmbr2` gets parsed correctly into
just a model with no macaddr. This works because default
keys as aliases have previously not been supported and would
not have been aliased accordingly. This case is now also
taken into account when printing default keys, which is now
skipped if it is also an alias.
Dietmar Maurer [Fri, 1 Apr 2016 05:17:09 +0000 (07:17 +0200)]
bump version to 4.0-57
Fabian Grünbichler [Wed, 30 Mar 2016 12:00:12 +0000 (14:00 +0200)]
fix #923: uninitalized value in remove_lock
Dietmar Maurer [Thu, 31 Mar 2016 03:57:37 +0000 (05:57 +0200)]
get_property_description: introduce new $style parameter
config => colon separated config files
arg => command line argument
fixed => fixed command line argument (see usage_str())
Wolfgang Bumiller [Wed, 23 Mar 2016 08:21:37 +0000 (09:21 +0100)]
cleanup: whitespace and than/then typo
Dietmar Maurer [Wed, 23 Mar 2016 09:19:15 +0000 (10:19 +0100)]
get_property_description: add new 'text' format
Dietmar Maurer [Wed, 23 Mar 2016 08:27:18 +0000 (09:27 +0100)]
get_property_description: use correct base name opt[n]
Dietmar Maurer [Tue, 22 Mar 2016 10:25:50 +0000 (11:25 +0100)]
new PVE::RESTHandler::dump_properties
The plan is to replace code in PodParser.
Dietmar Maurer [Tue, 22 Mar 2016 09:39:16 +0000 (10:39 +0100)]
fix spelling errors
Dietmar Maurer [Mon, 21 Mar 2016 07:47:39 +0000 (08:47 +0100)]
bump version to 4.0-56
Wolfgang Bumiller [Fri, 18 Mar 2016 10:38:24 +0000 (11:38 +0100)]
add the 'urlencoded' string format
Wolfgang Bumiller [Fri, 18 Mar 2016 10:38:23 +0000 (11:38 +0100)]
cleanup: full path package references to self
This started happening when moving the 'pve-storage-id'
option from pve-storage and curously kept on going since
then...
Wolfgang Bumiller [Fri, 18 Mar 2016 10:38:22 +0000 (11:38 +0100)]
cleanup: newlines in die/warn
Wolfgang Bumiller [Fri, 18 Mar 2016 10:38:21 +0000 (11:38 +0100)]
property strings: check for commas in values
Dietmar Maurer [Wed, 16 Mar 2016 15:48:44 +0000 (16:48 +0100)]
bump version to 4.0-55
Fabian Grünbichler [Wed, 16 Mar 2016 14:24:05 +0000 (15:24 +0100)]
add missing check for undef in is_mounted
Dietmar Maurer [Tue, 15 Mar 2016 05:46:20 +0000 (06:46 +0100)]
bump version to 4.0-54