Пример #1
0
    def getTargetSystems(self, oses):
        '''get target systems.'''
        from chef import DataBag
        try:
            databags = DataBag.list(api=self.api)
        except Exception as error:
            logging.error('%s failed to get the databags', self.NAME)
            logging.exception(error)
            raise error

        target_systems = {}
        for os_version in oses:
            target_systems[os_version] = []

        for databag in databags:
            target_system = databag
            global_databag_item = self.getGlobalDataBagItem(
                self.getDataBag(target_system))
            support_oses = global_databag_item.get('support_oses', [])
            for os_version in oses:
                for support_os in support_oses:
                    if fnmatch.fnmatch(os_version, support_os):
                        target_systems[os_version].append(target_system)
                        break

        return target_systems
Пример #2
0
    def getTargetSystems(self, oses):
        '''get target systems.'''
        from chef import DataBag
        try:
            databags = DataBag.list(api=self.api)
        except Exception as error:
            logging.error('%s failed to get the databags', self.NAME)
            logging.exception(error)
            raise error

        target_systems = {}
        for os_version in oses:
            target_systems[os_version] = []

        for databag in databags:
            target_system = databag
            global_databag_item = self.getGlobalDataBagItem(
                self.getDataBag(target_system))
            support_oses = global_databag_item.get('support_oses', [])
            for os_version in oses:
                for support_os in support_oses:
                    if fnmatch.fnmatch(os_version, support_os):
                        target_systems[os_version].append(target_system)
                        break

        return target_systems
Пример #3
0
 def get_databag_list(self, databag=''):
     #returns a list of all available data bags on the chef_server
     data_bag_list = []
     try:
         data_bags = DataBag(databag,self.api)
         for items in data_bags.list(self.api):
             data_bag_list.append(items)
         if not data_bag_list:
             raise Exception, "No Data bags items found"
         else:
             return data_bag_list
     except Exception as exp_object:
         exc_type, exc_obj, exc_tb = sys.exc_info()
         self.ah_obj.print_exception("chef_helper.py", "get_databag_list()", exp_object, exc_type, exc_obj, exc_tb)
         return []
Пример #4
0
    def get_target_systems(self, oses):
        """get target systems."""
        from chef import DataBag
        databags = DataBag.list(api=self.api_)
        target_systems = {}
        for os_version in oses:
            target_systems[os_version] = []

        for databag in databags:
            target_system = databag
            global_databag_item = self._get_global_databag_item(
                self._get_databag(target_system))
            support_oses = global_databag_item['support_oses']
            for os_version in oses:
                for support_os in support_oses:
                    if fnmatch.fnmatch(os_version, support_os):
                        target_systems[os_version].append(target_system)
                        break

        return target_systems
Пример #5
0
    def get_target_systems(self, oses):
        """get target systems."""
        from chef import DataBag
        databags = DataBag.list(api=self.api_)
        target_systems = {}
        for os_version in oses:
            target_systems[os_version] = []

        for databag in databags:
            target_system = databag
            global_databag_item = self._get_global_databag_item(
                self._get_databag(target_system))
            support_oses = global_databag_item['support_oses']
            for os_version in oses:
                for support_os in support_oses:
                    if fnmatch.fnmatch(os_version, support_os):
                        target_systems[os_version].append(target_system)
                        break

        return target_systems
    def get_databags(self):
        if not self.authenticated:
            return []

        vals = self._bag_adapter.filter(list(DataBag.list(api=self._api)))
        return sorted(vals)
 def test_list(self):
     bags = DataBag.list()
     self.assertIn('test_1', bags)
     self.assertIsInstance(bags['test_1'], DataBag)
 def test_create_bag(self):
     name = self.random()
     bag = DataBag.create(name)
     self.register(bag)
     self.assertIn(name, DataBag.list())
Пример #9
0
 def test_list(self):
     bags = DataBag.list(self.api)
     self.assertIn('test_1', bags)
     self.assertIsInstance(bags['test_1'], DataBag)
Пример #10
0
 def test_create_bag(self):
     name = self.random()
     bag = DataBag.create(name, self.api)
     self.register(bag)
     self.assertIn(name, DataBag.list(self.api))