login_base = name.split("_")[0]
sites = Sites(self.api, [login_base])
if not sites:
- raise PLCInvalidArgument, "Invalid slice prefix"
+ raise PLCInvalidArgument, "Invalid slice prefix %s in %s"%(login_base,name)
site = sites[0]
if 'admin' not in self.caller['roles']:
if site['site_id'] not in self.caller['site_ids']:
- raise PLCPermissionDenied, "Slice prefix must be the same as the login_base of one of your sites"
+ raise PLCPermissionDenied, "Slice prefix %s must be the same as the login_base of one of your sites"%login_base
if len(site['slice_ids']) >= site['max_slices']:
- raise PLCInvalidArgument, "Site has reached its maximum allowable slice count"
+ raise PLCInvalidArgument, "Site %s has reached (%d) its maximum allowable slice count (%d)"%(site['name'],
+ len(site['slice_ids']),
+ site['max_slices'])
slice = Slice(self.api, slice_fields)
slice['creator_person_id'] = self.caller['person_id']
# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id: NodeNetworks.py,v 1.14 2006/11/09 03:07:42 mlhuang Exp $
+# $Id: NodeNetworks.py,v 1.15 2006/11/09 19:43:55 mlhuang Exp $
#
from types import StringTypes
def validate_method(self, method):
network_methods = [row['method'] for row in NetworkMethods(self.api)]
if method not in network_methods:
- raise PLCInvalidArgument, "Invalid addressing method"
+ raise PLCInvalidArgument, "Invalid addressing method %s"%method
return method
def validate_type(self, type):
network_types = [row['type'] for row in NetworkTypes(self.api)]
if type not in network_types:
- raise PLCInvalidArgument, "Invalid address type"
+ raise PLCInvalidArgument, "Invalid address type %s"%type
return type
def validate_ip(self, ip):
if ip and not valid_ip(ip):
- raise PLCInvalidArgument, "Invalid IP address " + ip
+ raise PLCInvalidArgument, "Invalid IP address %s"%ip
return ip
def validate_mac(self, mac):
bytes[i] = "%02x" % byte
mac = ":".join(bytes)
except:
- raise PLCInvalidArgument, "Invalid MAC address"
+ raise PLCInvalidArgument, "Invalid MAC address %s"%mac
return mac
return hostname
if not PLC.Nodes.valid_hostname(hostname):
- raise PLCInvalidArgument, "Invalid hostname"
+ raise PLCInvalidArgument, "Invalid hostname %s"%hostname
return hostname
def validate_node_id(self, node_id):
nodes = PLC.Nodes.Nodes(self.api, [node_id])
if not nodes:
- raise PLCInvalidArgument, "No such node"
+ raise PLCInvalidArgument, "No such node %d"%node_id
return node_id
if is_primary:
nodes = PLC.Nodes.Nodes(self.api, [self['node_id']])
if not nodes:
- raise PLCInvalidArgument, "No such node"
+ raise PLCInvalidArgument, "No such node %d"%node_id
node = nodes[0]
if node['nodenetwork_ids']:
mandatory_fields = self.api.db.fields(self.table_name, notnull = True, hasdef = False)
for field in mandatory_fields:
if not self.has_key(field) or self[field] is None:
- raise PLCInvalidArgument, field + " must be specified and cannot be unset"
+ raise PLCInvalidArgument, field + " must be specified and cannot be unset in class %s"%self.__class__.__name__
# Validate values before committing
for key, value in self.iteritems():