Statistics
| Branch: | Tag: | Revision:

root / tools / cfgupgrade_grnet @ 4ae49c63

History | View | Annotate | Download (1.5 kB)

1
#!/usr/bin/env python
2

    
3
import os
4
import sys
5

    
6
from ganeti import config
7

    
8

    
9
cfg = config.ConfigWriter(cfg_file=sys.argv[1], offline=True)
10

    
11
if "kvm" in cfg._config_data.cluster.hvparams:
12
  kvm = cfg._config_data.cluster.hvparams["kvm"]
13

    
14
  if "run_as" in kvm:
15
    if kvm["run_as"]:
16
      print "Found run_as HV parameter, replacing with 'user' security model"
17
      kvm["security_model"] = "user"
18
      kvm["security_domain"] = kvm["run_as"]
19
    else:
20
      print "Found empty run_as KVM HV parameter, removing"
21
    del kvm["run_as"]
22

    
23
instances = cfg._config_data.instances
24

    
25
for name in instances:
26
  instance = instances[name]
27
  if "run_as" in instance.hvparams:
28
    if instance.hvparams["run_as"]:
29
      print "Found old 'run_as' parameter, converting to 'user' security model"
30
      instance.hvparams["security_model"] = "user"
31
      instance.hvparams["security_domain"] = instance.hvparams["run_as"]
32
    else:
33
      print "Found empty run_as KVM HV parameter, removing"
34
    del instance.hvparams["run_as"]
35

    
36
  if instance.disk_template != "blockdev":
37
    continue
38

    
39
  for disk in instance.disks:
40
    if len(disk.logical_id) == 3:
41
      print "Found old blockdev configuration on instance %s, fixing" % name
42
      lid = disk.logical_id[2]
43
      if not lid.startswith("/dev/disk/"):
44
        lid = os.path.join("/dev/disk", lid)
45

    
46
      disk.logical_id = ["manual", lid]
47
      try:
48
        disk.physical_id = ["manual", lid]
49
      except AttributeError:
50
        pass
51

    
52
print "Verifying configuration"
53
cfg.VerifyConfig()
54

    
55
print "Writing config"
56
cfg._WriteConfig()