'default_dns_zone', help='DNS zone for environment.'), config.StrOpt('foreman', 'user', default='', help='Foreman user name for login.'), config.StrOpt('foreman', 'password', default='', help='Foreman user password.'), config.StrOpt('foreman', 'url', default='https://127.0.0.1:443', help='FOreman API endpoint URL.'), config.IntOpt('dhcp', 'first_ip_offset', default=4, help='First ip in a subnet available for allocation'), config.IntOpt('dhcp', 'last_ip_offset', default=-3, help='Last ip in a subnet available for allocation'), config.StrOpt('dhcp', 'agent_url', default='tcp://0.0.0.0:5557'), config.StrOpt('openstack', 'username', help='DAO user name to authorize to OpenStack.'), config.StrOpt('openstack', 'password', help='DAO password to authorize to OpenStack.'), config.StrOpt('openstack', 'project', help='OpenStack project for the DAO user.'),
import netaddr import time import os from dao.common import config from dao.common import log from dao.common import utils from dao.dhcp.db import api from dao.dhcp import base opts = [ config.StrOpt('dhcp', 'leases_dir', '/etc/dhcp/conf.d', help='Path to the directory with static leases'), config.IntOpt('dhcp', 'restart_delay', default=4, help='Delay before restarting dhcp') ] config.register(opts) CONF = config.get_config() LOG = log.getLogger(__name__) Subnet = base.Subnet class DHCPController(object): pending_restarts = False @classmethod def enable(cls):
import netaddr from dao.common import config from dao.common import log opts = [ config.JSONOpt('dhcp', 'vlans', [100, 101], help='Subnet vlans to be pulled from DB.'), config.JSONOpt('dhcp', 'dhcp_vlans', [100], help='Subnet vlans to allow dynamic leases. ' 'For us this is IPMI vlan only'), config.IntOpt('dhcp', 'first_offset', default=4, help='First address offset available for leasing'), config.IntOpt('dhcp', 'last_offset', default=-2, help='Last address offset available for leasing'), ] config.register(opts) CONF = config.get_config() LOG = log.getLogger(__name__) class Subnet(object): def __init__(self, subnet_id, vlan, ip, mask, gw, first_ip): self.subnet_id = subnet_id
from dao.common import log from dao.common import utils from dao.control import exceptions cmdgen = eventlet.import_patched('pysnmp.entity.rfc3413.oneliner.cmdgen') opts = [ config.BoolOpt('worker', 'ipmi_timeout', default=20 * 60, help='Timeout for IPMI operation.'), config.StrOpt('worker', 'snmp_community', default='public', help='SNMP community data field for snmpv1'), config.IntOpt('worker', 'snmp_port', default=161, help='SNMP port to use') ] config.register(opts) CONF = config.get_config() LOG = log.getLogger(__name__) mib_builder = builder.MibBuilder() mib_builder.loadModules('SNMPv2-MIB') mib_view = view.MibViewController(mib_builder) class IPMIHelper(object): user = CONF.worker.ipmi_login password = CONF.worker.ipmi_password brand_name = None
import eventlet from dao.common import config from dao.common import exceptions from dao.common import log opts = [ config.StrOpt( 'rpc', 'ip', help='IP Address of the current host on management network.'), config.StrOpt('rpc', 'url_pattern', default='tcp://{ip}:{port}', help='URL pattern to be used by RPC'), config.IntOpt('rpc', 'rcv_timeout', default=20, help='Receive message timeout'), config.IntOpt('rpc', 'send_timeout', default=20, help='Send message timeout'), config.StrOpt('rpc', 'driver', default='dao.common.rpc_driver.amqp', help='PRC driver implementation'), ] config.register(opts) CONF = config.get_config() LOG = log.getLogger(__name__)
from dao.common import log sql_opts = [ cfg.StrOpt( 'db', 'sql_connection', default='sqlite:///' + os.path.abspath( os.path.join(os.path.dirname(__file__), '../', '$sqlite_db')), help='The SQLAlchemy connection string used to connect to the ' 'database'), cfg.StrOpt('db', 'sqlite_db', default='dao.sqlite', help='the filename to use with sqlite'), cfg.IntOpt('db', 'sql_idle_timeout', default=3600, help='timeout before idle sql connections are reaped'), cfg.BoolOpt('db', 'sqlite_synchronous', default=True, help='If passed, use synchronous mode for sqlite'), cfg.IntOpt('db', 'sql_min_pool_size', default=1, help='Minimum number of SQL connections to keep open in a ' 'pool'), cfg.IntOpt('db', 'sql_max_pool_size', default=5, help='Maximum number of SQL connections to keep open in a ' 'pool'),
from dao.common import exceptions from dao.common import log from dao.common.rpc_driver import base opts = [ config.StrOpt('rabbit', 'host', default='127.0.0.1', help='IP Address of the rabbit'), config.StrOpt('rabbit', 'user', default='guest', help='Rabbit user to use'), config.StrOpt('rabbit', 'password', default='guest', help='Rabbit password to use'), config.IntOpt('rabbit', 'port', default=5672, help='Rabbit port to use'), config.IntOpt('rabbit', 'keep_alive', default=60, help='Keep alive heardbeat'), config.IntOpt('rabbit', 'reconnect_on', default=2, help='Reconnect timeout'), ] config.register(opts) CONF = config.get_config() logger = log.getLogger(__name__) def get_connection():