Example #1
0
    def validate(self):
        """ Iterates over class attributes and verifies that they have been set
        during the config parsing or config writing process
        """

        ok_missing = ['user_data', 'networks']
        for obj in [
                obj for obj in dir(self)
                if not obj.startswith('__') and obj not in ok_missing
        ]:
            if getattr(self, obj) is None:
                raise AttributeError("Config file parsing failed - key %s"
                                     " is missing or has no value in section"
                                     " 'launch-configuration'"
                                     " Try re-running with --create-config" %
                                     obj)

        if not isinstance(self.metadata, dict):
            raise AttributeError(
                utils.get_parse_error('metadata', 'launch-configuration',
                                      'dictionary'))
        if not isinstance(self.image, str):
            raise AttributeError(
                utils.get_parse_error('image', 'launch-configuration',
                                      'string'))

        if not isinstance(self.networks, list):
            raise AttributeError(
                utils.get_parse_error('networks', 'launch-configuration',
                                      'list'))

        if not isinstance(self.skip_default_networks, bool):
            raise AttributeError(
                utils.get_parse_error('skip_default_networks',
                                      'launch-configuration', 'boolean'))

        if self.cloud_init and self.cloud_init is not '':
            if not utils.is_readable(self.cloud_init):
                raise AttributeError("Config file validation failed cloud_init"
                                     " file not readable")
            self.config_drive = True
        else:
            self.cloud_init = None
        return True
    def validate(self):
        """ Iterates over class attributes and verifies that they have been set
        during the config parsing or config writing process
        """

        ok_missing = ['user_data', 'networks']
        for obj in [obj for obj in dir(self) if not
                    obj.startswith('__') and obj not in ok_missing]:
            if getattr(self, obj) is None:
                raise AttributeError("Config file parsing failed - key %s"
                                     " is missing or has no value in section"
                                     " 'launch-configuration'"
                                     " Try re-running with --create-config" %
                                     obj)

        if not isinstance(self.metadata, dict):
            raise AttributeError(utils.get_parse_error('metadata',
                                                       'launch-configuration',
                                                       'dictionary'))
        if not isinstance(self.image, str):
            raise AttributeError(utils.get_parse_error('image',
                                                       'launch-configuration',
                                                       'string'))

        if not isinstance(self.networks, list):
            raise AttributeError(utils.get_parse_error('networks',
                                                       'launch-configuration',
                                                       'list'))

        if not isinstance(self.skip_default_networks, bool):
            raise AttributeError(utils.get_parse_error('skip_default_networks',
                                                       'launch-configuration',
                                                       'boolean'))

        if self.cloud_init and self.cloud_init is not '':
            if not utils.is_readable(self.cloud_init):
                raise AttributeError(
                    "Config file validation failed cloud_init"
                    " file not readable")
            self.config_drive = True
        else:
            self.cloud_init = None
        return True
    def validate(self):
        """ Iterates over class attributes and verifies that they have been set
        during the config parsing or config writing process
        """
        ok_missing = ['id']
        expected_ints = ['scale_up', 'scale_down', 'max_entities',
                         'min_entities', 'cooldown']
        for obj in [obj for obj in dir(self)
                    if not obj.startswith('__') and obj not in ok_missing]:
            if getattr(self, obj) is None:
                raise AttributeError(
                    "Config file parsing failed - key %s missing or has no"
                    " value in section 'autoscale' Try re-running"
                    " with --create-config" % obj)
            if not isinstance(getattr(self, obj), int) \
               and obj in expected_ints:
                raise AttributeError(utils.get_parse_error(obj, 'autoscale',
                                                           'int'))
        if not isinstance(self.name, str):
            raise AttributeError(utils.get_parse_error('name', 'autoscale',
                                                       'str'))

        return True