Пример #1
0
    def _desc(self):
        hosts_info = self._get_short_hosts_info()

        for host_info in hosts_info:
            connected_hosts_names = list()
            short_hostname = host_info['name'].replace('.' + host_info['domain_name'], '')
            compute_resource_info = self._fapi.compute_resources.index(per_page=sys.maxsize,
                                                     search={self._form_search_string(["name={short_hostname}".
                                                                                      format(short_hostname=short_hostname)])}
                                                     )['results']
            if compute_resource_info:
                compute_resource_id = compute_resource_info[0]['id']
                connected_hosts_info = self._fapi.hosts.index(per_page=sys.maxsize,
                                                         search={self._form_search_string(["compute_resource_id={id}".
                                                                                          format(id=compute_resource_id)])}
                                                         )['results']
                connected_hosts_names = [x['name'] for x in connected_hosts_info]
            SWKHelperFunctions.print_line_with_host_prefix("", host_info['name'])
            print("Hostgroup:\t{hg}\nOS:\t\t{os}\nIP:\t\t{ip}\nResource:\t{res}\nEnv:\t\t{env}\nComment:\t{cmnt}".format(
                hg=host_info['hostgroup_name'], os=host_info['operatingsystem_name'], ip=host_info['ip'],
                cmnt=host_info['comment'], res=host_info['compute_resource_name'],
                env=host_info['environment_name']
            ))
            if connected_hosts_names:
                print("Cnctd hosts:\t{cnctd_hosts}".format(cnctd_hosts=' '.join(connected_hosts_names)))
Пример #2
0
 def _add_classes_to_groups(self, classes_short_info):
     hostgroups_short_info = self._get_hostgroups_short_info()
     class_ids_list = self._form_class_ids_list(classes_short_info)
     for hostgroup_info in hostgroups_short_info:
         logging.debug("hostgroup_clasess_create args: {0}".format(inspect.getargspec(self._fapi.hostgroups.hostgroup_classes_create)))
         for class_id in class_ids_list:
             self._fapi.hostgroups.hostgroup_classes_create(hostgroup_id=hostgroup_info['id'], puppetclass_id=class_id)
         SWKHelperFunctions.print_line_with_host_prefix("done", hostgroup_info['name'])
Пример #3
0
 def _rm_classes_from_groups(self, classes_short_info):
     hostgroups_short_info = self._get_hostgroups_short_info()
     class_ids_list = self._form_class_ids_list(classes_short_info)
     for hostgroup_info in hostgroups_short_info:
         for class_id in class_ids_list:
             self._fapi.hostgroups.hostgroup_classes_hostgroup_id_puppetclass_destroyids(hostgroup_id=hostgroup_info['id'],
                                                                               id=class_id)
         SWKHelperFunctions.print_line_with_host_prefix("done", hostgroup_info['name'])
Пример #4
0
 def _add_classes_to_hosts(self, classes_short_info):
     class_ids_list = self._form_class_ids_list(classes_short_info)
     for host in self._hostlist_def_domain:
         logging.debug("hosts methods: {0}".format(dir(self._fapi.hosts)))
         logging.debug("host_clasess_create args: {0}".format(inspect.getargspec(self._fapi.hosts.host_classes_create)))
         for class_id in class_ids_list:
             self._fapi.hosts.host_classes_create(host_id=host, puppetclass_id=class_id)
         SWKHelperFunctions.print_line_with_host_prefix("done", host)
Пример #5
0
 def _set_hosts_environment(self, environment_id):
     try:
         for host in self._hostlist_def_domain:
             self._fapi.hosts.update(host={'environment_id': environment_id}, id=host)
             SWKHelperFunctions.print_line_with_host_prefix("done", host)
         self._kill_cache()
     except Exception as e:
         raise ForemanError(str(e))
Пример #6
0
 def _getcls(self):
     hosts_info = self._get_verbose_hosts_info()
     for host_info in hosts_info:
         try:
             SWKHelperFunctions.print_line_with_host_prefix("", host_info['name'])
             for puppet_class in host_info['all_puppetclasses']:
                 print(puppet_class['name'])
         except KeyError:
             raise ForemanError("Foreman info about host says it has no 'all_puppetclasses' field")
         except TypeError:
             raise ForemanError("Foreman returned nonsense. Most probably one of hosts provided doesn't exist.")
Пример #7
0
 def _getgcls(self):
     logging.debug("hostgroups methods: {0}".format(dir(self._fapi.hostgroups)))
     hostgroups_info = self._get_verbose_hostgroups_info()
     for hostgroup_info in hostgroups_info:
         try:
             SWKHelperFunctions.print_line_with_host_prefix("", hostgroup_info['name'])
             for puppet_class in hostgroup_info['puppetclasses']:
                 print(puppet_class['name'])
         except KeyError:
             raise ForemanError("Foreman info about group says it has no 'puppetclasses' field")
         except TypeError:
             raise ForemanError("Foreman returned nonsense. Most probably one of hostgroups provided doesn't exist.")
Пример #8
0
 def _rm_classes_from_hosts(self, classes_short_info):
     class_ids_list = self._form_class_ids_list(classes_short_info)
     for host in self._hostlist_def_domain:
         for class_id in class_ids_list:
             self._fapi.hosts.host_classes_host_id_puppetclass_destroyids(host_id=host, id=class_id)
         SWKHelperFunctions.print_line_with_host_prefix("done", host)
Пример #9
0
 def _getenv(self):
     hosts_info = self._get_short_hosts_info()
     for host_info in hosts_info:
         SWKHelperFunctions.print_line_with_host_prefix(host_info['environment_name'],
                                                       host_info['name'])