def _init(dispatcher, plugin): plugin.register_schema_definition( 'Ipmi', { 'type': 'object', 'additionalProperties': False, 'properties': { 'id': { 'type': 'integer' }, 'password': { 'type': 'string', 'maxLength': 20 }, 'dhcp': { 'type': 'boolean' }, 'address': { '$ref': 'Ipv4Address' }, 'netmask': { 'type': 'integer' }, 'gateway': { 'anyOf': [{ '$ref': 'Ipv4Address' }, { 'type': 'null' }] }, 'vlan_id': { 'type': ['integer', 'null'] } } }) plugin.register_provider('ipmi', IPMIProvider) plugin.register_task_handler('ipmi.update', ConfigureIPMITask) # Load ipmi kernel module try: kld.kldload('/boot/kernel/ipmi.ko') except OSError as err: if err.errno != errno.EEXIST: logger.warning('Cannot load IPMI module: %s', str(err)) logger.warning('IPMI unavailable') return # Scan available channels for i in range(1, 17): try: system('/usr/local/bin/ipmitool', 'lan', 'print', str(i)) except SubprocessException: continue channels.append(i)
async def setup(middleware): try: kld.kldload('/boot/kernel/ipmi.ko') except OSError as e: # Only skip if not already loaded if e.errno != errno.EEXIST: middleware.logger.warn(f'Cannot load IPMI module: {e}') return # Scan available channels for i in range(1, 17): try: await run('/usr/local/bin/ipmitool', 'lan', 'print', str(i)) except subprocess.CalledProcessError: continue channels.append(i)
async def setup(middleware): try: kld.kldload('/boot/kernel/ipmi.ko') except OSError as e: # Only skip if not already loaded if e.errno != errno.EEXIST: middleware.logger.warn(f'Cannot load IPMI module: {e}') return # Scan available channels for i in range(1, 17): try: await run('/usr/local/bin/ipmitool', 'lan', 'print', str(i)) except subprocess.CalledProcessError: continue channels.append(i)
def _init(dispatcher, plugin): plugin.register_schema_definition('ipmi', { 'type': 'object', 'additionalProperties': False, 'properties': { 'id': {'type': 'integer'}, 'password': { 'type': 'string', 'maxLength': 20 }, 'dhcp': {'type': 'boolean'}, 'address': {'$ref': 'ipv4-address'}, 'netmask': {'type': 'integer'}, 'gateway': { 'anyOf': [ {'$ref': 'ipv4-address'}, {'type': 'null'} ] }, 'vlan_id': {'type': ['integer', 'null']} } }) plugin.register_provider('ipmi', IPMIProvider) plugin.register_task_handler('ipmi.update', ConfigureIPMITask) # Load ipmi kernel module try: kld.kldload('/boot/kernel/ipmi.ko') except OSError as err: if err.errno != errno.EEXIST: logger.warning('Cannot load IPMI module: %s', str(err)) logger.warning('IPMI unavailable') return # Scan available channels for i in range(1, 17): try: system('/usr/local/bin/ipmitool', 'lan', 'print', str(i)) except SubprocessException: continue channels.append(i)