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)
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()
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 = []
def __init__(self, conf, log): self.conf = conf self.log = log self.keystone = keystone_client( self.conf.keystone_version, get_session()) self.nova = \ nova_client(conf.nova_version, get_session()) self.users = {} self.projects = {} self.roles = {} self.use_exist_role = False self.roles_for_user = {} self.roles_for_admin = {}
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
def create_flavor(self): self.nova = \ nova_client(self.conf.nova_version, get_session()) flavors = {flavor.name: flavor for flavor in self.nova.flavors.list()} if self.conf.flavor not in flavors: self.nova.flavors.create(self.conf.flavor, 512, 1, 1)
def __init__(self, conf, log): self.conf = conf self.log = log self.glance = \ glance_client(conf.glance_version, get_session()) self.use_existing_image = False self.image = None
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))
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))
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)
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()
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
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 = {}
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
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)
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()
def __init__(self, conf, inspector_url, log): super(SampleMonitor, self).__init__(conf, inspector_url, log) self.session = get_session() self.pinger = None
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()