]>
git.proxmox.com Git - pve-common.git/log
Wolfgang Bumiller [Thu, 25 Jun 2015 09:54:28 +0000 (11:54 +0200)]
PVE::INotify: testable interface parser
read_etc_network_interfaces now opens all /proc files and
passes them as filehandles to the actual implementation
which is now is __read_etc_network_interfaces.
Similarly write_etc_network_interfaces now prints the
content string returned by the implementation now named
__write_etc_network_interfaces.
This way a testsuite can use the __* variants directly to
test the parser, passing its own versions of the /proc
files.
Wolfgang Bumiller [Thu, 25 Jun 2015 09:54:27 +0000 (11:54 +0200)]
write_etc_network_interfaces: updated header comment
The header now mentions that the file is auto-generated and
should not be tempered with directly.
It now recommends to add custom network configurations via
source/source-directory lines.
Wolfgang Bumiller [Thu, 25 Jun 2015 09:54:26 +0000 (11:54 +0200)]
read_etc_network_interfaces: improved parsing
* parsing ipv6 blocks
* parsing extra lines like source/source-directory/...
* merge multiple bridge_port lines into one
* write options only once
The returned config hash is not just the interface hash
anymore. Interfaces are now in its 'ifaces' member hash. All
unknown options (including mappings) end up in its 'options'
hash.
Added a comment describing the config hash's layout in
detail.
An interface can now have an ipv4 and an ipv6 entry, they
will be returned as a single interface with
address/netmask/gateway and address6/netmask6/gateway6
elements. Additionally a 'families' array is available
listing which families are available. Ideally we'll at some
point allow unhandled families to be kept too, however, now
that extra lines like 'source' and 'source-directory' are
preserved, it is recommended to move all custom
configuration into separate files to not interfere with our
interface parsing.
Options such as bridge ports or ovs_* will now be written
out only for the first interface. If multiple protocol
families of a bridge contain bridge_ports lines they will be
merged into the first interface.
Wolfgang Bumiller [Thu, 25 Jun 2015 09:54:25 +0000 (11:54 +0200)]
removed write-only $gateway variable
Wolfgang Bumiller [Thu, 25 Jun 2015 09:54:24 +0000 (11:54 +0200)]
read_etc_network_interfaces: less strict parsing
*) Don't require indented lines, instead know when to end a
section.
*) Don't require empty lines between sections.
*) Fixed non-/greedy regex issue
And turned (.*)\s* into just (.*) as .* eats the whitespace
too.
Dietmar Maurer [Fri, 19 Jun 2015 05:24:15 +0000 (07:24 +0200)]
bump version to 4.0-8
Alen Grizonic [Thu, 18 Jun 2015 17:00:12 +0000 (19:00 +0200)]
PVE:Daemon start/restart with systemd
Added some lines which make it possible to stop/start/restart daemon services with pve scripts,
avoiding the problem of systemd not recognizing the new status of the (re)started service processes.
The scripts now rely on systemctl.
Signed-off-by: Alen Grizonic <a.grizonic@proxmox.com>
Dietmar Maurer [Tue, 9 Jun 2015 10:16:50 +0000 (12:16 +0200)]
bump version to 4.0-7
Dietmar Maurer [Tue, 9 Jun 2015 10:15:41 +0000 (12:15 +0200)]
new helper dump_journal to view systemd journal
Wolfgang Bumiller [Fri, 5 Jun 2015 09:23:11 +0000 (11:23 +0200)]
remove superfluous substitution
regexps are greedy so the first substitution eats up
multiple groups of double-colons up to the last one already.
So unless there's some intended hidden side effect this
statement has no obvious purpose.
Dietmar Maurer [Mon, 1 Jun 2015 11:18:14 +0000 (13:18 +0200)]
bump version to 4.0-6
Dietmar Maurer [Mon, 1 Jun 2015 11:17:30 +0000 (13:17 +0200)]
add trigger for pve-api-updates
Dietmar Maurer [Thu, 28 May 2015 16:07:50 +0000 (18:07 +0200)]
bump version to 4.0-5
Wolfgang Bumiller [Thu, 28 May 2015 14:54:16 +0000 (16:54 +0200)]
defer some daemon setup routines
A first step towards untangling some of the intermingled data and
functionality setup tasks for the daemons:
Daemon::new now only validates and untaints arguments, but doesn't
perform any actions such as setuid/setgid until the new Daemon::setup
method which is now executed from Daemon::start right before entering
Daemon::$server_run.
CLIHandler::handle_cmd now takes an optional $preparefunc which is
called after handling 'printmanpod' and 'verifyapi'.
Wolfgang Bumiller [Thu, 28 May 2015 07:27:14 +0000 (09:27 +0200)]
fix a regex typo in run_command
m/|/ is always true as it effectively matches 'nothing or nothing
anywhere in a string'
looks like it was supposed to be m/\|/
Dietmar Maurer [Wed, 27 May 2015 13:34:06 +0000 (15:34 +0200)]
bump version to 4.0-4
Wolfgang Bumiller [Wed, 27 May 2015 11:16:35 +0000 (13:16 +0200)]
spice-proxy format now uses new address format
spice-proxy used dns-name before which matches a combination of letters,
digits and dots, which happens to include ipv4 addresses but not ipv6
ones.
Since 'dns-name' sounds like it's only for names, I'm adding an address
format which is either a dns-name or an ip (including ipv6).
Wolfgang Bumiller [Wed, 27 May 2015 11:16:34 +0000 (13:16 +0200)]
prevent the use of AI_ADDRCONFIG
perl's IO::Socket::IP passes AI_ADDRCONFIG if no GetAddrInfoFlags are passed,
which is often useful but also causes it to error when explicitly trying to
bind to 127.0.0.1 when there are no _other_ IPv4 addresses present.
Dietmar Maurer [Tue, 12 May 2015 08:36:40 +0000 (10:36 +0200)]
update changelog
Wolfgang Bumiller [Tue, 12 May 2015 07:51:12 +0000 (09:51 +0200)]
new helper: getaddrinfo_all
As it's commonly used in ipv6 support code a getaddrinfo wrapper passing
default flags and dealing with the (err,result) tuple was added.
Wolfgang Bumiller [Tue, 12 May 2015 07:51:11 +0000 (09:51 +0200)]
add a socket family argument to next_*_port functions
Instead of assuming a local address of 0.0.0.0, the next_*_port family
of functions now takes an optional packet family argument (AF_INET/AF_INET6),
used for ipv6 support.
Dietmar Maurer [Fri, 8 May 2015 10:38:17 +0000 (12:38 +0200)]
bump version to 4.0-3
Wolfgang Bumiller [Fri, 8 May 2015 10:24:44 +0000 (12:24 +0200)]
add utility to fetch the socket family for a hostname
Wolfgang Bumiller [Fri, 8 May 2015 10:24:43 +0000 (12:24 +0200)]
optional socket family parameter for create_reusable_socket
Wolfgang Bumiller [Fri, 8 May 2015 10:24:42 +0000 (12:24 +0200)]
provide Tools::unpack_sockaddr_in46
Wolfgang Bumiller [Fri, 8 May 2015 10:24:41 +0000 (12:24 +0200)]
Use IO::Socket::IP instead of INET
Dietmar Maurer [Thu, 23 Apr 2015 07:14:48 +0000 (09:14 +0200)]
fix typo
Dietmar Maurer [Thu, 23 Apr 2015 06:19:03 +0000 (08:19 +0200)]
add additional methods for IP address verification
Dietmar Maurer [Wed, 22 Apr 2015 08:08:37 +0000 (10:08 +0200)]
cleanup: remove unnecessary prefix
Dietmar Maurer [Wed, 22 Apr 2015 07:56:37 +0000 (09:56 +0200)]
bump version to 4.0-2
Dietmar Maurer [Wed, 22 Apr 2015 07:49:15 +0000 (09:49 +0200)]
register new standard option pve-startup-order
We can use this for lxc and qemu.
Dietmar Maurer [Fri, 3 Apr 2015 06:10:23 +0000 (08:10 +0200)]
improve error message
Dietmar Maurer [Mon, 23 Mar 2015 11:40:03 +0000 (12:40 +0100)]
use libspice-protocol-dev (instead of debian package)
Dietmar Maurer [Wed, 4 Mar 2015 05:59:12 +0000 (06:59 +0100)]
use wiki style headers for README.dev
Dietmar Maurer [Mon, 2 Mar 2015 10:11:49 +0000 (11:11 +0100)]
update installation instructions
Dietmar Maurer [Fri, 27 Feb 2015 15:57:20 +0000 (16:57 +0100)]
rename data to src
Dietmar Maurer [Thu, 26 Feb 2015 10:19:59 +0000 (11:19 +0100)]
bump version for Debian Jessie
Dietmar Maurer [Wed, 11 Feb 2015 05:38:44 +0000 (06:38 +0100)]
bump version to 3.0-24
Stefan Priebe [Mon, 2 Feb 2015 08:40:55 +0000 (09:40 +0100)]
next_migrate_port: higher port range - all other ranges are 100 ports
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Stefan Priebe [Mon, 2 Feb 2015 08:40:54 +0000 (09:40 +0100)]
Fix next_unused_port already bin detection
unsecure migration does not use localhost to bind to. Instead it uses a specific IP on the node.
As we don't know that IP in this part of the code the only chance to check for a possible already
existing bind is to bind to all IPs.
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Dietmar Maurer [Mon, 9 Feb 2015 06:02:29 +0000 (07:02 +0100)]
bump version to 3.0-23
Alexandre Derumier [Sun, 8 Feb 2015 14:54:51 +0000 (15:54 +0100)]
read_etc_network_interfaces : don't always add vmbr0
Currently it's impossible to remove vmbr0 from network gui,
if we really want to remove it, or replace it with an OVS vmbr0
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Thu, 8 Jan 2015 13:49:59 +0000 (14:49 +0100)]
bump version to 3.0-22
Dietmar Maurer [Fri, 2 Jan 2015 13:15:09 +0000 (14:15 +0100)]
Daemon: change option name 'run_dir' to 'pidfile'
Dietmar Maurer [Fri, 2 Jan 2015 13:06:46 +0000 (14:06 +0100)]
Daemon: new option to change user/group (setuid/setgid)
Dietmar Maurer [Fri, 2 Jan 2015 08:31:21 +0000 (09:31 +0100)]
Daemon: make sure we kill all child processes on TERM
Dietmar Maurer [Thu, 1 Jan 2015 14:41:19 +0000 (15:41 +0100)]
Daemon: add helper to create sockets
Those sockets are not closed and reopened at restart.
Dietmar Maurer [Thu, 1 Jan 2015 13:59:04 +0000 (14:59 +0100)]
Daemon: catch finished worker earlier
Else we get zobies for 5 seconds at restart.
Dietmar Maurer [Thu, 1 Jan 2015 11:42:31 +0000 (12:42 +0100)]
Daemon: also terminate old_workers on stop
Dietmar Maurer [Thu, 1 Jan 2015 11:06:17 +0000 (12:06 +0100)]
Daemon: call terminate_server if we get unexpected errors
Dietmar Maurer [Thu, 1 Jan 2015 11:02:13 +0000 (12:02 +0100)]
Daemon: implement new option leave_children_open_on_reload
We want to be able restart daemons without closing existing connections.
Dietmar Maurer [Thu, 1 Jan 2015 09:57:10 +0000 (10:57 +0100)]
Daemon: correctly set got_hup_signal flag (before we call terminate)
Dietmar Maurer [Thu, 1 Jan 2015 09:41:52 +0000 (10:41 +0100)]
Daemon: raise error if we cannot parse lockfd
Dietmar Maurer [Wed, 31 Dec 2014 16:40:04 +0000 (17:40 +0100)]
Daemon: remove useless parameter
Dietmar Maurer [Wed, 31 Dec 2014 16:28:33 +0000 (17:28 +0100)]
Daemon: untaint value read from ENV
Dietmar Maurer [Wed, 31 Dec 2014 16:17:44 +0000 (17:17 +0100)]
Daemon: log error and exit if something fails inside constructor
Dietmar Maurer [Wed, 31 Dec 2014 16:11:28 +0000 (17:11 +0100)]
RESTHandler: define empty DESTROY to avoid useless warings
We oserverd the following warning sometimes:
(in cleanup) no such method 'main=HASH(0x38b2d48)::DESTROY'
Defining an empty DESTROY seems to avoid it.
Dietmar Maurer [Wed, 31 Dec 2014 16:01:51 +0000 (17:01 +0100)]
Daemon: do not wait for lock on restart
Dietmar Maurer [Wed, 31 Dec 2014 11:31:21 +0000 (12:31 +0100)]
Daemon: cleanup logging
Dietmar Maurer [Wed, 31 Dec 2014 10:54:27 +0000 (11:54 +0100)]
Daemon: keep lock file open during restart
So that nobody else can grab the lock
Dietmar Maurer [Wed, 31 Dec 2014 09:29:23 +0000 (10:29 +0100)]
Daemon: move ENV manipulation into new()
Dietmar Maurer [Wed, 31 Dec 2014 09:19:54 +0000 (10:19 +0100)]
after_fork_cleanup: move code into separate sub
Dietmar Maurer [Wed, 31 Dec 2014 09:07:24 +0000 (10:07 +0100)]
Daemon: try harder (up to 5 times) to get lock
Dietmar Maurer [Wed, 31 Dec 2014 08:53:47 +0000 (09:53 +0100)]
code cleanup
Dietmar Maurer [Tue, 30 Dec 2014 10:19:53 +0000 (11:19 +0100)]
Daemon: implement pre-fork server (max_wrokers property)
Dietmar Maurer [Sat, 20 Dec 2014 08:59:42 +0000 (09:59 +0100)]
improve doc
Dietmar Maurer [Thu, 18 Dec 2014 12:44:35 +0000 (13:44 +0100)]
implement new Daemon features
- allow to specify run_dir (directory to store pid file)
- make hup optional
- correctly untaint pid when reading from file
- restart daemon by HUP or stop/start
- allow to register reload command
Dietmar Maurer [Thu, 18 Dec 2014 09:56:07 +0000 (10:56 +0100)]
Daemon: call setsid at startup
Dietmar Maurer [Wed, 17 Dec 2014 13:49:52 +0000 (14:49 +0100)]
bump version to 3.0-21
Dietmar Maurer [Tue, 16 Dec 2014 10:10:53 +0000 (11:10 +0100)]
add abstract class to implement daemons
Dietmar Maurer [Tue, 16 Dec 2014 12:23:37 +0000 (13:23 +0100)]
cleanup error message
Dietmar Maurer [Thu, 11 Dec 2014 05:38:13 +0000 (06:38 +0100)]
set RELEASE to 3.3
Dietmar Maurer [Thu, 11 Dec 2014 05:36:36 +0000 (06:36 +0100)]
bump version to 3.0-20
Alexandre Derumier [Wed, 10 Dec 2014 17:45:48 +0000 (18:45 +0100)]
create_firewall_bridge_ovs : activate ovsint interface
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Wed, 25 Jun 2014 10:32:48 +0000 (12:32 +0200)]
avoid warning when parsing long hex values with hex()
Dietmar Maurer [Mon, 23 Jun 2014 11:53:41 +0000 (13:53 +0200)]
improve debug message
Dietmar Maurer [Wed, 28 May 2014 08:27:03 +0000 (10:27 +0200)]
add FVN digest
Userful for short strings.
Dietmar Maurer [Tue, 27 May 2014 07:43:47 +0000 (09:43 +0200)]
add additional check for duplicate method definitions
If we have a SUBCLASS, other methods are not allowed.
Dietmar Maurer [Fri, 23 May 2014 08:26:34 +0000 (10:26 +0200)]
fix typo
Dietmar Maurer [Mon, 19 May 2014 10:59:08 +0000 (12:59 +0200)]
new helper read_proc_net_route
Dietmar Maurer [Fri, 16 May 2014 09:14:47 +0000 (11:14 +0200)]
add 'noerr' parameter to parse_tap_devive_name()
And simply ignore devices with random names in cleanup_firewall_bridge().
Dietmar Maurer [Wed, 14 May 2014 05:18:17 +0000 (07:18 +0200)]
add additional comment
Alexandre Derumier [Wed, 14 May 2014 03:25:45 +0000 (05:25 +0200)]
rename link to fwln && link peer to fwpr
also plug fwpr to vmbr, and fwln to fwbr
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Tue, 13 May 2014 12:33:49 +0000 (14:33 +0200)]
we need to match link+ rule from iptables rules, and need to have a name different
than link(\d+)i(\d+), for distinguished bridge/ovs interface unplug
Based on patch from Alexandre, but I prefer "link${vmid}o${devid}"
Dietmar Maurer [Thu, 8 May 2014 11:07:52 +0000 (13:07 +0200)]
add firewall bridge support for openvswitch
eth0-->vmbr0--vlan--fwintXiY-->fwbr-->tapXiY (firewalled tap)
--vlan-->tapXiY (non firewall tap)
This is based on patches from Alexandre, but tries to factor out
common code into privat methods.
Dietmar Maurer [Thu, 8 May 2014 09:28:03 +0000 (11:28 +0200)]
add firewall bridge support for linux bridge
eth0----->vmbr0
eth0.94-->vmbr0v94<--tapXiY (non firewalled tap)
<--linkXiY-->linkXpY-->fwbrXiY-->tapXiY (firewalled tap)
This is based on patches from Alexandre, but tries to factor out
common code into privat methods.
Dietmar Maurer [Thu, 8 May 2014 07:09:12 +0000 (09:09 +0200)]
tap_unplug: auto-detect bridge, improve error messages
Based on patch sent by Alexandre.
Dietmar Maurer [Wed, 7 May 2014 10:27:57 +0000 (12:27 +0200)]
map_path_to_methods: add code to return paths with uri patterns.
A previous commit removed that code, but we need it in pvesh to
display nice help messages.
Dietmar Maurer [Tue, 6 May 2014 07:40:52 +0000 (09:40 +0200)]
bump version to 3.0-19
Dietmar Maurer [Fri, 2 May 2014 05:06:25 +0000 (07:06 +0200)]
fix typo
Dietmar Maurer [Fri, 2 May 2014 04:50:56 +0000 (06:50 +0200)]
new helper register_page_formater
Dietmar Maurer [Thu, 24 Apr 2014 12:46:05 +0000 (14:46 +0200)]
map_path_to_methods: do not skip folders which evaluate to false
Dietmar Maurer [Thu, 24 Apr 2014 12:13:01 +0000 (14:13 +0200)]
bump version to 3.0-18
Dietmar Maurer [Thu, 24 Apr 2014 11:49:43 +0000 (13:49 +0200)]
speedup find_handler
Avoid to scan the same path multiple times. That way we can speedup things
by factor 5 (depends on patch length and method count).
Dietmar Maurer [Fri, 18 Apr 2014 05:21:21 +0000 (07:21 +0200)]
bump version to 3.0-17
Dietmar Maurer [Fri, 18 Apr 2014 05:20:12 +0000 (07:20 +0200)]
dump_logfile: add filter regex
Dietmar Maurer [Thu, 10 Apr 2014 07:49:57 +0000 (09:49 +0200)]
bump version to 3.0-16
Dietmar Maurer [Thu, 10 Apr 2014 07:47:04 +0000 (09:47 +0200)]
register new standard option pve-config-digest
Dietmar Maurer [Thu, 10 Apr 2014 07:42:21 +0000 (09:42 +0200)]
move assert_if_modified to PVE::Tools
Dietmar Maurer [Wed, 19 Mar 2014 05:52:20 +0000 (06:52 +0100)]
bump version to 3.0-15