cidr = netconf.get_network_cidr(hwmgmtnet, domain)
utils.validate_ip_in_network(ip, cidr)
+ def get_hwmgmt_priv_level(self, hostname):
+ """get the hwmgmt IPMI privilege level. Defaults to ADMINISTRATOR
+
+ Arguments:
+
+ hostname: The name of the node
+
+ Return:
+
+ The prvilege level, or ADMINISTRATOR if unspecified
+
+ Raise:
+
+ ConfigError in-case of an error
+ """
+ self._validate_hostname(hostname)
+
+ if 'hwmgmt' not in self.config[self.ROOT][hostname]:
+ raise configerror.ConfigError('No hwmgmt info defined for host')
+
+ return self.config[self.ROOT][hostname]['hwmgmt'].get('priv_level', 'ADMINISTRATOR')
+
def _validate_service_profiles(self, hostname):
node_profiles = self.get_service_profiles(hostname)
utils.validate_list_items_unique(node_profiles)
### - Minor changes in template (e.g. new optional attributes or
### changes in possible values, value ranges or default values)
### - Backwards compatible
-version: 2.0.2
+version: 2.0.3
### Cloud name can consist of lower case letters, digits and dash (-).
### Name must start and end with a letter or a digit.
address: <VALUE>
user: <VALUE>
password: <VALUE>
-
+ # Optional: the IPMI privilege level to request.
+ # Typical values include 'USER', 'OPERATOR', 'ADMINISTRATOR'
+ # default is 'ADMINISTRATOR' if unspecified.
+ # priv_level: <VALUE>
### Optional parameter needed for virtual deployment to identify the
### nodes the mac address for the provisioning interface
#mgmt_mac: [<VALUE1>, <VALUE2>, ...]