]> git.proxmox.com Git - pve-container.git/blob - src/PVE/LXC/Config.pm
Refactor config-related methods into AbstractConfig
[pve-container.git] / src / PVE / LXC / Config.pm
1 package PVE::LXC::Config;
2
3 use strict;
4 use warnings;
5
6 use PVE::AbstractConfig;
7 use PVE::Cluster qw(cfs_register_file);
8 use PVE::INotify;
9 use PVE::JSONSchema qw(get_standard_option);
10 use PVE::Tools;
11
12 use base qw(PVE::AbstractConfig);
13
14 my $nodename = PVE::INotify::nodename();
15 my $lock_handles = {};
16 my $lockdir = "/run/lock/lxc";
17 mkdir $lockdir;
18 mkdir "/etc/pve/nodes/$nodename/lxc";
19 my $MAX_MOUNT_POINTS = 10;
20 my $MAX_UNUSED_DISKS = $MAX_MOUNT_POINTS;
21
22 # BEGIN implemented abstract methods from PVE::AbstractConfig
23
24 sub guest_type {
25 return "CT";
26 }
27
28 sub config_file_lock {
29 my ($class, $vmid) = @_;
30
31 return "$lockdir/pve-config-${vmid}.lock";
32 }
33
34 sub cfs_config_path {
35 my ($class, $vmid, $node) = @_;
36
37 $node = $nodename if !$node;
38 return "nodes/$node/lxc/$vmid.conf";
39 }
40
41 # END implemented abstract methods from PVE::AbstractConfig
42
43 return 1;