Esempio n. 1
0
 def __init__(self):
     LOG.debug("Starting RuntimeAgent.")
     # Get monitor name and service
     conf = SysUtil().get_sys_conf()
     monitor_name = conf.get('monitoring')
     self.monitoring_service = FactoryAgent.get_agent(monitor_name)
     self.policy_threads = {}
     self.heat_client = HeatClient()
     self.checker_threads = {}
Esempio n. 2
0
 def __init__(self):
     LOG.debug("Starting RuntimeAgent.")
     # Get monitor name and service
     conf = SysUtil().get_sys_conf()
     monitor_name = conf.get('monitoring')
     self.monitoring_service = FactoryAgent.get_agent(monitor_name)
     self.policy_threads = {}
     self.heat_client = HeatClient()
     self.checker_threads = {}
Esempio n. 3
0
    def __init__(self, conf=None):
        if not conf:
            from util.SysUtil import SysUtil

            self.conf = SysUtil().get_sys_conf()
        else:
            self.conf = conf
        self.nova = client.Client('2',
                                  self.conf['os_username'],
                                  self.conf['os_password'],
                                  self.conf['os_tenant'],
                                  self.conf['os_auth_url'],
                                  region_name=self.conf['os_region_name'])
Esempio n. 4
0
    def __init__(self, conf=None):
        if not conf:
            from util.SysUtil import SysUtil

            self.conf = SysUtil().get_sys_conf()
        else:
            self.conf = conf
        self.nova = client.Client('2', self.conf['os_username'], self.conf['os_password'], self.conf['os_tenant'],
                                  self.conf['os_auth_url'], region_name=self.conf['os_region_name'])
Esempio n. 5
0
 def __init__(self):
     self.heatclient = HeatClient()
     conf = SysUtil().get_sys_conf()
     LOG.debug("Get runtime agent: " + conf['runtime_agent'])
     self.runtime_agent = FactoryAgent().get_agent(conf['runtime_agent'])
     #self.register_agent = FactoryAgent().get_agent(conf['register_agent'])
     self.template_manager = FactoryAgent().get_agent(
         conf['template_manager'])
     self.db = FactoryAgent().get_agent(conf['database_manager'])
     self.checker = FactoryAgent().get_agent(conf['checker'])
Esempio n. 6
0
    def __init__(self):
        # self.heatclient = HeatClient()
        conf = SysUtil().get_sys_conf()
        self.template_manager = FactoryAgent().get_agent(conf['template_manager'])
        self.db = FactoryAgent().get_agent(conf['database_manager'])
        self.runtime_agent = FactoryAgent().get_agent(conf['runtime_agent'])

        #self.reg = FactoryAgent().get_agent(file_name=conf['register_agent_file'],
        #                                    class_name=conf['register_agent_class'])
        pass
Esempio n. 7
0
 def __init__(self, topology):
     super(CheckerThread, self).__init__()
     self.heatclient = HeatClient()
     self.topology = topology
     self.db = DatabaseManager()
     self.is_stopped = False
     self.is_dns_configured = False
     self.novac = NovaClient()
     #self.dns_configurator = ImsDnsClient()
     self.neutronc = NeutronClient(
         utilSys.get_endpoint(
             'network',
             region_name=SysUtil().get_sys_conf()['os_region_name']),
         utilSys.get_token())
Esempio n. 8
0
        def __init__(self):
            """
            dialect+driver://username:password@host:port/database
            """

            self.conf = SysUtil().get_sys_conf()
            db_username = self.conf['db_username']
            db_password = self.conf['db_password']
            db_url = self.conf['db_url']
            db_name = self.conf['db_name']

            self.engine = create_engine(
                'sqlite://',
                connect_args={'check_same_thread': False},
                poolclass=StaticPool)
            self._scoped_session = scoped_session(
                sessionmaker(bind=self.engine, expire_on_commit=True))
            self.session = None
Esempio n. 9
0
    def __init__(self, topology, runtime_agent, policy, service_instance,
                 lock):
        super(PolicyThread, self).__init__()
        self.policy = policy
        self.service_instance = service_instance
        self.topology = topology

        self.runtime_agent = runtime_agent
        self.monitor = runtime_agent.monitoring_service
        self.lock = lock

        # hack for avoiding autoscaling at startup
        self.counter = 0
        self.is_stopped = False
        conf = SysUtil().get_sys_conf()
        self.template_manager = FactoryAgent().get_agent(
            conf['template_manager'])
        self.db = FactoryAgent().get_agent(conf['database_manager'])
        self.heat_client = HeatClient()
Esempio n. 10
0
 def run(self):
     LOG.debug("Starting new thread")
     i = 0
     while i < 18:
         for service_instance in self.topology.service_instances:
             for unit in service_instance.units:
                 if i == 0:
                     unit.state = 'Initialised'
                 else:
                     unit.state = 'Started'
                     dbm_name = SysUtil().get_sys_conf()['database_manager']
                     db = FactoryAgent.get_agent(dbm_name)
                     db.update(unit)
                     # conf = SysUtil().get_sys_conf().props
                     # runtime_agent = FactoryAgent().get_agent(conf['runtime_agent'])
                     # runtime_agent.run(self.topology)
             if i > 1:
                 return
         time.sleep(2)
         i += 1
     LOG.error("Can't get info on the units after 180 seconds, is there a problem?")
Esempio n. 11
0
import os
from util.SysUtil import SysUtil
import logging

__author__ = 'lto'

PATH = os.path.abspath(
    os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))

if __name__ == '__main__':
    logging.basicConfig(
        format=
        '%(asctime)s_%(process)d:%(pathname)s:%(lineno)d [%(levelname)s] %(message)s',
        level=logging.DEBUG)
    logger = logging.getLogger("EMMLogger")
    handler = logging.FileHandler('%s/logs/%s.log' %
                                  (PATH, os.path.basename(__file__)))
    handler.setLevel(logging.DEBUG)
    formatter = logging.Formatter(
        '%(asctime)s_%(process)d:%(pathname)s:%(lineno)d [%(levelname)s] %(message)s'
    )
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    sys_util = SysUtil()
    sys_util.init_sys()

    print sys_util.get_sys_conf().props
Esempio n. 12
0
class Client:
    def __init__(self, conf=None):
        if not conf:
            from util.SysUtil import SysUtil

            self.conf = SysUtil().get_sys_conf()
        else:
            self.conf = conf
        self.nova = client.Client('2', self.conf['os_username'], self.conf['os_password'], self.conf['os_tenant'],
                                  self.conf['os_auth_url'], region_name=self.conf['os_region_name'])

    def list_servers(self):
        res = self.nova.servers.list()
        for s in res:
            logger.debug(s)
            for k, v in s.networks.iteritems():
                for ip in v:
                    try:
                        logger.debug(self.get_floating_ip(ip))
                    except:
                        continue

    def get_floating_ip(self, ip):
        res = self.nova.floating_ips.list()
        for _fip in res:
            if _fip.ip == ip:
                return _fip
        raise NotFoundException("Floating ip " + ip + " not found")

    def get_floating_ips(self):
        res = self.nova.floating_ips.list()
        return res

    def set_ips(self, unit):
        for k, v in self.nova.servers.get(unit.ext_id).networks.iteritems():
            for ip in v:
                try:
                    unit.floating_ips[k] = self.get_floating_ip(ip).ip
                    logger.debug(ip + " is a floating ip")
                except NotFoundException as e:
                    unit.ips[k] = ip
                    logger.debug(ip + " is a fixed ip")
        logger.debug("ips: " + str(unit.ips))
        logger.debug("floating_ips: " + str(unit.floating_ips))

    def get_images(self, object=True):
        images_repr = self.nova.images.list()
        images = []
        for image_repr in images_repr:
            if object:
                images.append(Image(name=image_repr.name, ext_id=image_repr.id, status=image_repr.status,
                                    created=image_repr.created, updated=image_repr.updated))
            else:
                images.append(image_repr._info)
        return images

    def get_flavors(self, object=True):
        flavors_repr = self.nova.flavors.list()
        flavors = []
        for flavor_repr in flavors_repr:
            if object:
                flavors.append(Flavor(name=flavor_repr.name, ram=flavor_repr.ram, vcpus=flavor_repr.vcpus))
            else:
                flavors.append(flavor_repr._info)
        return flavors

    def get_keys(self, object=True):
        keys_repr = self.nova.keypairs.list()
        keys = []
        for key_repr in keys_repr:
            if object:
                keys.append(Key(name=(key_repr.name)))
            else:
                keys.append(key_repr._info)
        return keys

    def get_quotas(self, object=True):
        quotas_repr = self.nova.quotas.get(tenant_id=self.conf.get('os_tenant'))
        if object:
            quotas = (Quotas(**quotas_repr._info))
        else:
            quotas = (quotas_repr._info)
        return quotas
import os
from util.SysUtil import SysUtil
import logging


__author__ = 'lto'

PATH = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), os.pardir))


if __name__ == '__main__':
    logging.basicConfig(format='%(asctime)s_%(process)d:%(pathname)s:%(lineno)d [%(levelname)s] %(message)s',level=logging.DEBUG)
    logger = logging.getLogger("EMMLogger")
    handler = logging.FileHandler('%s/logs/%s.log' % (PATH, os.path.basename(__file__)))
    handler.setLevel(logging.DEBUG)
    formatter = logging.Formatter('%(asctime)s_%(process)d:%(pathname)s:%(lineno)d [%(levelname)s] %(message)s')
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    sys_util = SysUtil()
    sys_util.init_sys()

    print sys_util.get_sys_conf().props;
Esempio n. 14
0
class Client:
    def __init__(self, conf=None):
        if not conf:
            from util.SysUtil import SysUtil

            self.conf = SysUtil().get_sys_conf()
        else:
            self.conf = conf
        self.nova = client.Client('2',
                                  self.conf['os_username'],
                                  self.conf['os_password'],
                                  self.conf['os_tenant'],
                                  self.conf['os_auth_url'],
                                  region_name=self.conf['os_region_name'])

    def list_servers(self):
        res = self.nova.servers.list()
        for s in res:
            LOG.debug(s)
            for k, v in s.networks.iteritems():
                for ip in v:
                    try:
                        LOG.debug(self.get_floating_ip(ip))
                    except:
                        continue

    def get_floating_ip(self, ip):
        res = self.nova.floating_ips.list()
        for _fip in res:
            if _fip.ip == ip:
                return _fip
        raise NotFoundException("Floating ip " + ip + " not found")

    def get_floating_ips(self):
        res = self.nova.floating_ips.list()
        return res

    def set_ips(self, unit):
        for k, v in self.nova.servers.get(unit.ext_id).networks.iteritems():
            for ip in v:
                try:
                    unit.floating_ips[k] = self.get_floating_ip(ip).ip
                    LOG.debug(ip + " is a floating ip")
                except NotFoundException as e:
                    unit.ips[k] = ip
                    LOG.debug(ip + " is a fixed ip")
        LOG.debug("ips: " + str(unit.ips))
        LOG.debug("floating_ips: " + str(unit.floating_ips))

    def get_images(self, object=True):
        images_repr = self.nova.images.list()
        images = []
        for image_repr in images_repr:
            if object:
                images.append(
                    Image(name=image_repr.name,
                          ext_id=image_repr.id,
                          status=image_repr.status,
                          created=image_repr.created,
                          updated=image_repr.updated))
            else:
                images.append(image_repr._info)
        return images

    def get_flavors(self, object=True):
        flavors_repr = self.nova.flavors.list()
        flavors = []
        for flavor_repr in flavors_repr:
            if object:
                flavors.append(
                    Flavor(name=flavor_repr.name,
                           ram=flavor_repr.ram,
                           vcpus=flavor_repr.vcpus))
            else:
                flavors.append(flavor_repr._info)
        return flavors

    def get_keys(self, object=True):
        keys_repr = self.nova.keypairs.list()
        keys = []
        for key_repr in keys_repr:
            if object:
                keys.append(Key(name=(key_repr.name)))
            else:
                keys.append(key_repr._info)
        return keys

    def get_quotas(self, object=True):
        quotas_repr = self.nova.quotas.get(
            tenant_id=self.conf.get('os_tenant'))
        if object:
            quotas = (Quotas(**quotas_repr._info))
        else:
            quotas = (quotas_repr._info)
        return quotas