Hi Dmitry, Our current validation implementation is based on jsonschema, we will figure out how to hack/configure it to provide more human readable message
Thanks, On Mon, Nov 24, 2014 at 2:34 PM, Dmitry Ukov <du...@mirantis.com> wrote: > That was my fault. I did not expect that timeout parameter is a mandatory > requirement for task. Every thing works perfectly fine. > Thanks for the help. > > On Mon, Nov 24, 2014 at 3:05 PM, Tatyana Leontovich < > tleontov...@mirantis.com> wrote: > >> Guys, >> task like >> - role: ['controller'] >> stage: post_deployment >> type: puppet >> parameters: >> puppet_manifest: puppet/site.pp >> puppet_modules: puppet/modules/ >> timeout: 360 >> works fine for me, so I believe your task should looks like >> >> cat tasks.yaml >> # This tasks will be applied on controller nodes, >> # here you can also specify several roles, for example >> # ['cinder', 'compute'] will be applied only on >> # cinder and compute nodes >> - role: ['controller'] >> stage: post_deployment >> type: puppet >> parameters: >> puppet_manifest: install_keystone_ldap.pp >> puppet_modules: /etc/puppet/modules/" >> >> And be sure that install_keystone_ldap.pp thos one invoke other manifests >> >> Best, >> Tatyana >> >> On Mon, Nov 24, 2014 at 12:49 PM, Dmitry Ukov <du...@mirantis.com> wrote: >> >>> Unfortunately this does not work >>> >>> cat tasks.yaml >>> # This tasks will be applied on controller nodes, >>> # here you can also specify several roles, for example >>> # ['cinder', 'compute'] will be applied only on >>> # cinder and compute nodes >>> - role: ['controller'] >>> stage: post_deployment >>> type: puppet >>> parameters: >>> puppet_manifest: install_keystone_ldap.pp >>> puppet_modules: "puppet/:/etc/puppet/modules/" >>> >>> >>> fpb --build . >>> /home/dukov/dev/.plugins_ldap/local/lib/python2.7/site-packages/pkg_resources.py:1045: >>> UserWarning: /home/dukov/.python-eggs is writable by group/others and >>> vulnerable to attack when used with get_resource_filename. Consider a more >>> secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE >>> environment variable). >>> warnings.warn(msg, UserWarning) >>> 2014-11-24 13:48:32 ERROR 15026 (cli) Wrong value format "0 -> >>> parameters", for file "./tasks.yaml", {'puppet_modules': >>> 'puppet/:/etc/puppet/modules/', 'puppet_manifest': >>> 'install_keystone_ldap.pp'} is not valid under any of the given schemas >>> Traceback (most recent call last): >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/cli.py", >>> line 90, in main >>> perform_action(args) >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/cli.py", >>> line 77, in perform_action >>> actions.BuildPlugin(args.build).run() >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/actions/build.py", >>> line 42, in run >>> self.check() >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/actions/build.py", >>> line 99, in check >>> self._check_structure() >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/actions/build.py", >>> line 111, in _check_structure >>> ValidatorManager(self.plugin_path).get_validator().validate() >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/validators/validator_v1.py", >>> line 39, in validate >>> self.check_schemas() >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/validators/validator_v1.py", >>> line 46, in check_schemas >>> self.validate_file_by_schema(v1.TASKS_SCHEMA, self.tasks_path) >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/validators/base.py", >>> line 47, in validate_file_by_schema >>> self.validate_schema(data, schema, path) >>> File >>> "/home/dukov/git/fuel/fuel-plugins/fuel_plugin_builder/fuel_plugin_builder/validators/base.py", >>> line 43, in validate_schema >>> value_path, path, exc.message)) >>> ValidationError: Wrong value format "0 -> parameters", for file >>> "./tasks.yaml", {'puppet_modules': 'puppet/:/etc/puppet/modules/', >>> 'puppet_manifest': 'install_keystone_ldap.pp'} is not valid under any of >>> the given schemas >>> >>> >>> On Mon, Nov 24, 2014 at 2:34 PM, Aleksandr Didenko < >>> adide...@mirantis.com> wrote: >>> >>>> Hi, >>>> >>>> according to [1] you should be able to use: >>>> >>>> puppet_modules: "puppet/:/etc/puppet/modules/" >>>> >>>> This is valid string yaml parameter that should be parsed just fine. >>>> >>>> [1] >>>> https://github.com/stackforge/fuel-web/blob/master/tasklib/tasklib/actions/puppet.py#L61-L62 >>>> >>>> Regards >>>> -- >>>> Alex >>>> >>>> >>>> On Mon, Nov 24, 2014 at 12:07 PM, Dmitry Ukov <du...@mirantis.com> >>>> wrote: >>>> >>>>> Hello All, >>>>> Current implementation of plugins in Fuel unpacks plugin tarball >>>>> into /var/www/nailgun/plugins/. >>>>> If we implement deployment part of plugin using puppet there is a >>>>> setting >>>>> puppet_modules: >>>>> >>>>> This setting should specify path to modules folder. As soon as main >>>>> deployment part of plugin is implemented as a Puppet module module >>>>> path setting should be: >>>>> >>>>> puppet_modules: puppet/ >>>>> >>>>> There is big probability that plugin implementation will require some >>>>> custom resources and functions which are implemented in fuel-library (e.g. >>>>> service config resources, stdlib functions e.t.c). So in order to use >>>>> them plugin developer has to copy them from fuel-library into plugin >>>>> (if i'm not missing something). This is not really convenient from my >>>>> perspective. >>>>> >>>>> I'd like to suggest to treat puppet_modules parameter as an array and >>>>> pass it to puppet binary as >>>>> # puppet apply --modulepath=<modulepath1>:<modulepath2> >>>>> This will allow to add /etc/puppet/modules as module path and use >>>>> resources and functions form fuel-library. >>>>> >>>>> P.S.: >>>>> puppet_modules: "puppet/:/etc/puppet/moules/: <- is not allowed by >>>>> yaml parser (and yaml format I believe) >>>>> >>>>> Any suggestions here? >>>>> >>>>> >>>>> -- >>>>> Kind regards >>>>> Dmitry Ukov >>>>> IT Engineer >>>>> Mirantis, Inc. >>>>> >>>>> >>>>> _______________________________________________ >>>>> OpenStack-dev mailing list >>>>> OpenStack-dev@lists.openstack.org >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> OpenStack-dev mailing list >>>> OpenStack-dev@lists.openstack.org >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> >>> >>> >>> -- >>> Kind regards >>> Dmitry Ukov >>> IT Engineer >>> Mirantis, Inc. >>> >>> >>> _______________________________________________ >>> OpenStack-dev mailing list >>> OpenStack-dev@lists.openstack.org >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>> >>> >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> > > > -- > Kind regards > Dmitry Ukov > IT Engineer > Mirantis, Inc. > > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > >
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev