Ejemplo n.º 1
0
# 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)
Ejemplo n.º 2
0
                  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'