Пример #1
0
 def _init_novaclients(self):
     self.NUMBER_OF_CLIENTS = self.conf.instance_count
     auth = get_identity_auth(project=self.conf.doctor_project)
     session = get_session(auth=auth)
     for i in range(self.NUMBER_OF_CLIENTS):
         self.novaclients.append(
             nova_client(self.conf.nova_version, session))
Пример #2
0
 def __init__(self, trasport_url, session_id, data, parent, conf, log):
     Thread.__init__(self)
     self.session_id = session_id
     self.parent = parent
     self.log = log
     self.conf = conf
     self.url = 'http://%s:%s' % (conf.admin_tool.ip, conf.admin_tool.port)
     self.projects_state = dict()  # current state for each project
     self.proj_server_actions = dict()  # actions for each project server
     self.projects_servers = dict()  # servers processed in current state
     self.maint_proj_servers = dict()  # servers under whole maintenance
     self.hosts = data['hosts']
     self.maintenance_at = data['maintenance_at']
     self.computes_disabled = list()
     self.metadata = data['metadata']
     self.auth = get_identity_auth(project=self.conf.doctor_project)
     self.state = data['state']
     self.aodh = aodh_client(self.conf.aodh_version,
                             get_session(auth=self.auth))
     self.nova = nova_client(self.conf.nova_version,
                             get_session(auth=self.auth))
     self.log.info('transport_url %s' % trasport_url)
     transport = messaging.get_transport(self.conf, trasport_url)
     self.notif_proj = messaging.Notifier(transport,
                                          'maintenance.planned',
                                          driver='messaging',
                                          topics=['notifications'])
     self.notif_proj = self.notif_proj.prepare(publisher_id='admin_tool')
     self.notif_admin = messaging.Notifier(transport,
                                           'maintenance.host',
                                           driver='messaging',
                                           topics=['notifications'])
     self.notif_admin = self.notif_admin.prepare(publisher_id='admin_tool')
     self.stopped = False
     self.log.info('Admin tool session %s initialized' % self.session_id)
Пример #3
0
 def __init__(self, conf):
     self.conf = conf
     self.image = Image(self.conf, LOG)
     self.user = User(self.conf, LOG)
     self.installer = get_installer(self.conf, LOG)
     auth = get_identity_auth(project=self.conf.doctor_project)
     self.nova = nova_client(self.conf.nova_version, get_session(auth=auth))
Пример #4
0
    def __init__(self, conf, log, trasport_url):
        super(SampleInspector, self).__init__(conf, log)
        self.inspector_url = self.get_inspector_url()
        self.novaclients = list()
        self._init_novaclients()
        # Normally we use this client for non redundant API calls
        self.nova = self.novaclients[0]

        auth = get_identity_auth(project=self.conf.doctor_project)
        session = get_session(auth=auth)
        if self.conf.inspector.update_neutron_port_dp_status:
            self.neutron = neutron_client(session)

        self.servers = collections.defaultdict(list)
        self.hostnames = list()
        self.app = None

        try:
            transport = oslo_messaging.get_notification_transport(self.conf,
                                                                  trasport_url)
            self.notif = oslo_messaging.Notifier(transport,
                                                 'compute.instance.update',
                                                 driver='messaging',
                                                 topics=['notifications'])
            self.notif = self.notif.prepare(publisher_id='sample')
        except:
            self.notif = None
Пример #5
0
 def __init__(self, conf, log):
     super(VitrageInspector, self).__init__(conf, log)
     self.auth = get_identity_auth()
     self.keystone = keystone_client(self.conf.keystone_version,
                                     get_session(auth=self.auth))
     self.vitrage = vitrage_client(self.conf.vitrage_version,
                                   get_session(auth=self.auth))
     self.inspector_url = self.get_inspector_url()
Пример #6
0
 def __init__(self, conf, log):
     super(CongressInspector, self).__init__(conf, log)
     self.is_create_doctor_datasource = False
     self.doctor_datasource_id = None
     self.auth = get_identity_auth()
     self.congress = congress_client(get_session(auth=self.auth))
     self._init_driver_and_ds()
     self.inspector_url = self.get_inspector_url()
Пример #7
0
 def __init__(self, conf, log):
     self.conf = conf
     self.log = log
     self.auth = get_identity_auth(username=self.conf.doctor_user,
                                   password=self.conf.doctor_passwd,
                                   project=self.conf.doctor_project)
     self.neutron = neutron_client(get_session(auth=self.auth))
     self.net = None
     self.subnet = None
Пример #8
0
 def __init__(self, conf, log):
     self.conf = conf
     self.log = log
     auth = get_identity_auth(project=self.conf.doctor_project)
     self.heat = heat_client(self.conf.heat_version, get_session(auth=auth))
     self.stack_name = None
     self.stack_id = None
     self.template = None
     self.parameters = {}
     self.files = {}
Пример #9
0
 def __init__(self, conf, log):
     self.conf = conf
     self.log = log
     self.auth = get_identity_auth(username=self.conf.doctor_user,
                                   password=self.conf.doctor_passwd,
                                   project=self.conf.doctor_project)
     self.nova = \
         nova_client(conf.nova_version,
                     get_session(auth=self.auth))
     self.neutron = neutron_client(get_session(auth=self.auth))
     self.servers = {}
     self.vm_names = []
Пример #10
0
    def __init__(self, conf, log):
        super(SampleInspector, self).__init__(conf, log)
        self.inspector_url = self.get_inspector_url()
        self.novaclients = list()
        self._init_novaclients()
        # Normally we use this client for non redundant API calls
        self.nova = self.novaclients[0]

        auth = get_identity_auth(project=self.conf.doctor_project)
        session = get_session(auth=auth)
        if self.conf.inspector.update_neutron_port_dp_status:
            self.neutron = neutron_client(session)

        self.servers = collections.defaultdict(list)
        self.hostnames = list()
        self.app = None
Пример #11
0
 def __init__(self, trasport_url, conf, log):
     self.conf = conf
     self.log = log
     self.admin_session = get_session()
     self.keystone = keystone_client(self.conf.keystone_version,
                                     get_session())
     self.nova = nova_client(conf.nova_version, get_session())
     auth = get_identity_auth(project=self.conf.doctor_project)
     self.neutron = neutron_client(get_session(auth=auth))
     self.stack = Stack(self.conf, self.log)
     if self.conf.admin_tool.type == 'sample':
         self.admin_tool = get_admin_tool(trasport_url, self.conf, self.log)
         self.endpoint = 'maintenance'
     else:
         self.endpoint = 'v1/maintenance'
     self.app_manager = get_app_manager(self.stack, self.conf, self.log)
     self.inspector = get_inspector(self.conf, self.log, trasport_url)
Пример #12
0
 def __init__(self, conf, installer, user, log, transport_url):
     self.conf = conf
     self.log = log
     self.user = user
     self.installer = installer
     auth = get_identity_auth(project=self.conf.doctor_project)
     self.nova = nova_client(self.conf.nova_version, get_session(auth=auth))
     self.test_dir = get_doctor_test_root_dir()
     self.down_host = None
     self.GetLog = False
     self.disable_network_log = None
     self.network = Network(self.conf, log)
     self.instance = Instance(self.conf, log)
     self.alarm = Alarm(self.conf, log)
     self.inspector = get_inspector(self.conf, log, transport_url)
     self.monitor = get_monitor(self.conf,
                                self.inspector.get_inspector_url(), log)
     self.consumer = get_consumer(self.conf, log)
Пример #13
0
 def __init__(self, stack, conf, app_manager, log):
     Thread.__init__(self)
     self.stack = stack
     self.conf = conf
     self.port = self.conf.app_manager.port
     self.app_manager = app_manager
     self.log = log
     self.intance_ids = None
     self.auth = get_identity_auth(project=self.conf.doctor_project)
     self.session = get_session(auth=self.auth)
     self.nova = nova_client(self.conf.nova_version,
                             self.session)
     self.neutron = neutron_client(session=self.session)
     self.headers = {
         'Content-Type': 'application/json',
         'Accept': 'application/json'}
     if self.conf.admin_tool.type == 'fenix':
         self.headers['X-Auth-Token'] = self.session.get_token()
     self.orig_number_of_instances = self.number_of_instances()
     self.ha_instances = self.get_ha_instances()
     self.floating_ip = None
     self.active_instance_id = self.active_instance_id()
Пример #14
0
 def __init__(self, conf, log):
     super(CongressInspector, self).__init__(conf, log)
     self.auth = get_identity_auth()
     self.congress = congress_client(get_session(auth=self.auth))
     self._init_driver_and_ds()
     self.inspector_url = self.get_inspector_url()