summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Vreman <peter.vreman@acision.com>2009-09-28 18:27:04 +0200
committerMichael DeHaan <mdehaan@redhat.com>2009-10-02 15:52:46 -0400
commit4454e8c2a45f9bac4e49f55b0f031cd7938dafa4 (patch)
tree188b54a6805132e9b1cfe9f545edc3a19373fec2
parent54fddd819f1b998df97078740ed831a29ecd9cdc (diff)
downloadcobbler-4454e8c2a45f9bac4e49f55b0f031cd7938dafa4.tar.gz
cobbler-4454e8c2a45f9bac4e49f55b0f031cd7938dafa4.tar.xz
cobbler-4454e8c2a45f9bac4e49f55b0f031cd7938dafa4.zip
use deepcopy to copy system interfaces to prevent modifying the original system record
-rw-r--r--cobbler/utils.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/cobbler/utils.py b/cobbler/utils.py
index d662ad63..23aaa2e3 100644
--- a/cobbler/utils.py
+++ b/cobbler/utils.py
@@ -23,6 +23,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
import sys
import os
import re
+import copy
import socket
import glob
import random
@@ -1538,7 +1539,7 @@ def from_datastruct_from_fields(obj, seed_data, fields):
# special handling for interfaces
if obj.COLLECTION_TYPE == "system":
- obj.interfaces = seed_data["interfaces"]
+ obj.interfaces = copy.deepcopy(seed_data["interfaces"])
return obj
@@ -1564,7 +1565,7 @@ def to_datastruct_from_fields(obj, fields):
# interfaces on systems require somewhat special handling
# they are the only exception in Cobbler.
if obj.COLLECTION_TYPE == "system":
- ds["interfaces"] = obj.interfaces
+ ds["interfaces"] = copy.deepcopy(obj.interfaces)
return ds
def printable_from_fields(obj, fields):