# License for the specific language governing permissions and limitations # under the License. import abc import eventlet from dao.common import config from dao.common import log opts = [config.StrOpt('dhcp', 'driver', default='dao.control.worker.dhcp.neutron.NeutronHelper', help='Path to DHCP helper') ] config.register(opts) CONF = config.get_config() logger = log.getLogger(__name__) class DHCPBase(object): instance = None @classmethod def get_helper(cls, worker=None): """ :rtype: DHCPBase """ if cls.instance: return cls.instance module, cls_name = CONF.dhcp.driver.rsplit('.', 1) module = eventlet.import_patched(module)
default='8080', help='Port of Salt master RPC API.'), config.StrOpt('salt', 'username', default='salt', help='Username to access SALT API'), config.StrOpt('salt', 'password', help='Password to access SALT API'), config.StrOpt('salt', 'master_minion_id', help='ID of the Salt minion running at Salt master host.') ] config.register(opts) CONF = config.get_config() LOG = log.getLogger(__name__) class SaltDriver(driver.DummyDriver): def __init__(self): """Required configuration parameters:: [salt] master_host = <ip> master_port = <port> username = <username> password = <password> """ self.master = CONF.salt.master_host self.port = CONF.salt.master_port self.salt_url = 'http://' + self.master + ':' + self.port + '/run'