コード例 #1
0
               '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.'),
コード例 #2
0
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):
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
ファイル: base.py プロジェクト: isabella232/dao-common
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__)
コード例 #6
0
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'),
コード例 #7
0
ファイル: amqp.py プロジェクト: isabella232/dao-common
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():