Revision dca1f84a
b/lib/client/gnt_instance.py | ||
---|---|---|
1259 | 1259 |
FormatParameterDict(buf, instance["be_instance"], be_actual, level=2) |
1260 | 1260 |
# TODO(ganeti 2.7) rework the NICs as well |
1261 | 1261 |
buf.write(" - NICs:\n") |
1262 |
for idx, (ip, mac, mode, link, network) in enumerate(instance["nics"]): |
|
1262 |
for idx, (ip, mac, mode, link, network, _) in enumerate(instance["nics"]):
|
|
1263 | 1263 |
buf.write(" - nic/%d: MAC: %s, IP: %s," |
1264 | 1264 |
" mode: %s, link: %s, network: %s\n" % |
1265 | 1265 |
(idx, mac, ip, mode, link, network)) |
b/lib/hypervisor/hv_kvm.py | ||
---|---|---|
773 | 773 |
if nic.nicparams[constants.NIC_LINK]: |
774 | 774 |
env["LINK"] = nic.nicparams[constants.NIC_LINK] |
775 | 775 |
|
776 |
def setenv(nic, field, name, env): |
|
777 |
value = nic.netinfo.get(field, None) |
|
778 |
if value: |
|
779 |
env[name] = value |
|
780 |
|
|
776 | 781 |
if nic.network: |
777 | 782 |
env["NETWORK"] = nic.network |
783 |
if nic.netinfo: |
|
784 |
setenv(nic, "network", "SUBNET", env) |
|
785 |
setenv(nic, "gateway", "GATEWAY", env) |
|
786 |
setenv(nic, "network6", "SUBNET6", env) |
|
787 |
setenv(nic, "gateway6", "GATEWAY6", env) |
|
788 |
setenv(nic, "network_type", "TYPE", env) |
|
789 |
setenv(nic, "mac_prefix", "MAC_PREFIX", env) |
|
778 | 790 |
|
779 | 791 |
if nic.nicparams[constants.NIC_MODE] == constants.NIC_MODE_BRIDGED: |
780 | 792 |
env["BRIDGE"] = nic.nicparams[constants.NIC_LINK] |
b/lib/objects.py | ||
---|---|---|
510 | 510 |
|
511 | 511 |
class NIC(ConfigObject): |
512 | 512 |
"""Config object representing a network card.""" |
513 |
__slots__ = ["mac", "ip", "network", "nicparams"] |
|
513 |
__slots__ = ["mac", "ip", "network", "nicparams", "netinfo"]
|
|
514 | 514 |
|
515 | 515 |
@classmethod |
516 | 516 |
def CheckParameterSyntax(cls, nicparams): |
b/lib/rpc.py | ||
---|---|---|
35 | 35 |
import base64 |
36 | 36 |
import pycurl |
37 | 37 |
import threading |
38 |
import copy |
|
38 | 39 |
|
39 | 40 |
from ganeti import utils |
40 | 41 |
from ganeti import objects |
... | ... | |
661 | 662 |
encoders.update({ |
662 | 663 |
# Encoders requiring configuration object |
663 | 664 |
rpc_defs.ED_INST_DICT: self._InstDict, |
665 |
rpc_defs.ED_NIC_DICT: self._NicDict, |
|
664 | 666 |
rpc_defs.ED_INST_DICT_HVP_BEP: self._InstDictHvpBep, |
665 | 667 |
rpc_defs.ED_INST_DICT_OSP_DP: self._InstDictOspDp, |
666 | 668 |
|
... | ... | |
688 | 690 |
_generated_rpc.RpcClientDnsOnly.__init__(self) |
689 | 691 |
_generated_rpc.RpcClientDefault.__init__(self) |
690 | 692 |
|
693 |
def _NicDict(self, nic): |
|
694 |
"""Convert the given nic to a dict and encapsulate netinfo |
|
695 |
|
|
696 |
""" |
|
697 |
n = copy.deepcopy(nic) |
|
698 |
if n.network: |
|
699 |
net_uuid = self._cfg.LookupNetwork(n.network) |
|
700 |
if net_uuid: |
|
701 |
nobj = self._cfg.GetNetwork(net_uuid) |
|
702 |
n.netinfo = objects.Network.ToDict(nobj) |
|
703 |
return n.ToDict() |
|
704 |
|
|
691 | 705 |
def _InstDict(self, instance, hvp=None, bep=None, osp=None): |
692 | 706 |
"""Convert the given instance to a dict. |
693 | 707 |
|
... | ... | |
722 | 736 |
nic["nicparams"] = objects.FillDict( |
723 | 737 |
cluster.nicparams[constants.PP_DEFAULT], |
724 | 738 |
nic["nicparams"]) |
739 |
network = nic.get("network", None) |
|
740 |
if network: |
|
741 |
net_uuid = self._cfg.LookupNetwork(network) |
|
742 |
if net_uuid: |
|
743 |
nobj = self._cfg.GetNetwork(net_uuid) |
|
744 |
nic["netinfo"] = objects.Network.ToDict(nobj) |
|
725 | 745 |
return idict |
726 | 746 |
|
727 | 747 |
def _InstDictHvpBep(self, (instance, hvp, bep)): |
b/lib/rpc_defs.py | ||
---|---|---|
64 | 64 |
(ED_OBJECT_DICT, |
65 | 65 |
ED_OBJECT_DICT_LIST, |
66 | 66 |
ED_INST_DICT, |
67 |
ED_NIC_DICT, |
|
67 | 68 |
ED_INST_DICT_HVP_BEP, |
68 | 69 |
ED_NODE_TO_DISK_DICT, |
69 | 70 |
ED_INST_DICT_OSP_DP, |
... | ... | |
73 | 74 |
ED_COMPRESS, |
74 | 75 |
ED_BLOCKDEV_RENAME, |
75 | 76 |
ED_DISKS_DICT_DP, |
76 |
ED_SINGLE_DISK_DICT_DP) = range(1, 14)
|
|
77 |
ED_SINGLE_DISK_DICT_DP) = range(1, 15)
|
|
77 | 78 |
|
78 | 79 |
|
79 | 80 |
def _Prepare(calls): |
Also available in: Unified diff