Revision 8140e24f lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
1316 | 1316 |
return _ExpandItemName(cfg.ExpandInstanceName, name, "Instance") |
1317 | 1317 |
|
1318 | 1318 |
def _BuildNetworkHookEnv(name, network, gateway, network6, gateway6, |
1319 |
network_type, mac_prefix): |
|
1319 |
network_type, mac_prefix, tags):
|
|
1320 | 1320 |
env = dict() |
1321 | 1321 |
if name: |
1322 | 1322 |
env["NETWORK_NAME"] = name |
... | ... | |
1332 | 1332 |
env["NETWORK_MAC_PREFIX"] = mac_prefix |
1333 | 1333 |
if network_type: |
1334 | 1334 |
env["NETWORK_TYPE"] = network_type |
1335 |
if tags: |
|
1336 |
env["NETWORK_TAGS"] = " ".join(tags) |
|
1335 | 1337 |
|
1336 | 1338 |
return env |
1337 | 1339 |
|
... | ... | |
1345 | 1347 |
"gateway6": network.gateway6, |
1346 | 1348 |
"network_type": network.network_type, |
1347 | 1349 |
"mac_prefix": network.mac_prefix, |
1350 |
"tags" : network.tags, |
|
1348 | 1351 |
} |
1349 | 1352 |
return _BuildNetworkHookEnv(**args) |
1350 | 1353 |
|
... | ... | |
1431 | 1434 |
env["INSTANCE_NIC%d_NETWORK_MAC_PREFIX" % idx] = nobj.mac_prefix |
1432 | 1435 |
if nobj.network_type: |
1433 | 1436 |
env["INSTANCE_NIC%d_NETWORK_TYPE" % idx] = nobj.network_type |
1437 |
if nobj.tags: |
|
1438 |
env["INSTANCE_NIC%d_NETWORK_TAGS" % idx] = " ".join(nobj.tags) |
|
1434 | 1439 |
if mode == constants.NIC_MODE_BRIDGED: |
1435 | 1440 |
env["INSTANCE_NIC%d_BRIDGE" % idx] = link |
1436 | 1441 |
else: |
... | ... | |
15017 | 15022 |
self.group_uuid = self.cfg.LookupNodeGroup(self.op.name) |
15018 | 15023 |
lock_level = locking.LEVEL_NODEGROUP |
15019 | 15024 |
lock_name = self.group_uuid |
15025 |
elif self.op.kind == constants.TAG_NETWORK: |
|
15026 |
self.network_uuid = self.cfg.LookupNetwork(self.op.name) |
|
15027 |
lock_level = locking.LEVEL_NETWORK |
|
15028 |
lock_name = self.network_uuid |
|
15020 | 15029 |
else: |
15021 | 15030 |
lock_level = None |
15022 | 15031 |
lock_name = None |
... | ... | |
15039 | 15048 |
self.target = self.cfg.GetInstanceInfo(self.op.name) |
15040 | 15049 |
elif self.op.kind == constants.TAG_NODEGROUP: |
15041 | 15050 |
self.target = self.cfg.GetNodeGroup(self.group_uuid) |
15051 |
elif self.op.kind == constants.TAG_NETWORK: |
|
15052 |
self.target = self.cfg.GetNetwork(self.network_uuid) |
|
15042 | 15053 |
else: |
15043 | 15054 |
raise errors.OpPrereqError("Wrong tag type requested (%s)" % |
15044 | 15055 |
str(self.op.kind), errors.ECODE_INVAL) |
... | ... | |
15549 | 15560 |
if self.op.mac_prefix: |
15550 | 15561 |
utils.NormalizeAndValidateMac(self.op.mac_prefix+":00:00:00") |
15551 | 15562 |
|
15563 |
# Check tag validity |
|
15564 |
for tag in self.op.tags: |
|
15565 |
objects.TaggableObject.ValidateTag(tag) |
|
15566 |
|
|
15567 |
|
|
15552 | 15568 |
def BuildHooksEnv(self): |
15553 | 15569 |
"""Build hooks env. |
15554 | 15570 |
|
... | ... | |
15561 | 15577 |
"gateway6": self.op.gateway6, |
15562 | 15578 |
"mac_prefix": self.op.mac_prefix, |
15563 | 15579 |
"network_type": self.op.network_type, |
15580 |
"tags": self.op.tags, |
|
15564 | 15581 |
} |
15565 | 15582 |
return _BuildNetworkHookEnv(**args) |
15566 | 15583 |
|
... | ... | |
15609 | 15626 |
except errors.AddressPoolError, e: |
15610 | 15627 |
raise errors.OpExecError("Cannot reserve IP %s. %s " % (ip, e)) |
15611 | 15628 |
|
15629 |
if self.op.tags: |
|
15630 |
for tag in self.op.tags: |
|
15631 |
nobj.AddTag(tag) |
|
15632 |
|
|
15612 | 15633 |
self.cfg.AddNetwork(nobj, self.proc.GetECId(), check_uuid=False) |
15613 | 15634 |
del self.remove_locks[locking.LEVEL_NETWORK] |
15614 | 15635 |
|
... | ... | |
15714 | 15735 |
self.mac_prefix = self.network.mac_prefix |
15715 | 15736 |
self.network6 = self.network.network6 |
15716 | 15737 |
self.gateway6 = self.network.gateway6 |
15738 |
self.tags = self.network.tags |
|
15717 | 15739 |
|
15718 | 15740 |
self.pool = network.AddressPool(self.network) |
15719 | 15741 |
|
... | ... | |
15765 | 15787 |
"gateway6": self.gateway6, |
15766 | 15788 |
"mac_prefix": self.mac_prefix, |
15767 | 15789 |
"network_type": self.network_type, |
15790 |
"tags": self.tags, |
|
15768 | 15791 |
} |
15769 | 15792 |
return _BuildNetworkHookEnv(**args) |
15770 | 15793 |
|
Also available in: Unified diff