Re: [openstack-dev] [Fuel] Plugins improvement
Evgeniy, Thanks a lot! On Mon, Nov 24, 2014 at 5:15 PM, Evgeniy L e...@mirantis.com wrote: 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/
[openstack-dev] [Fuel] Plugins improvement
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
Re: [openstack-dev] [Fuel] Plugins improvement
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
Re: [openstack-dev] [Fuel] Plugins improvement
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
Re: [openstack-dev] [Fuel] Plugins improvement
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
Re: [openstack-dev] [Fuel] Plugins improvement
I tried to reproduce this behavior with tasks.yaml: # Deployment is required for controllers - role: ['controller'] stage: post_deployment type: puppet parameters: puppet_manifest: site.pp puppet_modules: puppet/:/etc/puppet/modules timeout: 360 And actually plugin was built successfully, so as Tatyana and Alex said - the problem is not with puppet_modules format. I would sugest to update fuel-plugin-builder, and if this issue will be reproduced - you can show your plugin on gerrit review or personal github, and we can try to build it. On Mon, Nov 24, 2014 at 1: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
Re: [openstack-dev] [Fuel] Plugins improvement
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
Re: [openstack-dev] [Fuel] Plugins improvement
I did not expect that timeout parameter is a mandatory requirement for task UX is obviously has to be improved here. Can we make a clear error, if there is no required parameter, instead of throwing unclear exception? 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
Re: [openstack-dev] [Fuel] Plugins improvement
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