This issue causes the schema check to fail when provisioning. Steps to reproduce:
(linchpin-test) [vagrant@localhost workspace]$ pip install -e ~/linch-pin
Obtaining file:///home/vagrant/linch-pin
Requirement already satisfied: Click in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from linchpin==0.8.1)
Requirement already satisfied: ansible in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from linchpin==0.8.1)
Requirement already satisfied: jinja2 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from linchpin==0.8.1)
Requirement already satisfied: tabulate in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from linchpin==0.8.1)
Requirement already satisfied: jsonschema in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from linchpin==0.8.1)
Requirement already satisfied: PyYAML in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from ansible->linchpin==0.8.1)
Requirement already satisfied: paramiko in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from ansible->linchpin==0.8.1)
Requirement already satisfied: pycrypto>=2.6 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from ansible->linchpin==0.8.1)
Requirement already satisfied: setuptools in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from ansible->linchpin==0.8.1)
Requirement already satisfied: MarkupSafe in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from jinja2->linchpin==0.8.1)
Requirement already satisfied: functools32; python_version == "2.7" in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from jsonschema->linchpin==0.8.1)
Requirement already satisfied: pyasn1>=0.1.7 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: cryptography>=1.1 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: idna>=2.0 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: cffi>=1.4.1 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: enum34 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: ipaddress in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: six>=1.4.1 in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Requirement already satisfied: pycparser in /home/vagrant/linchpin-test/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.1->paramiko->ansible->linchpin==0.8.1)
Installing collected packages: linchpin
Running setup.py develop for linchpin
Successfully installed linchpin
(linchpin-test) [vagrant@localhost workspace]$ linchpin rise
Finding topology in local folder ./topology
Finding layout in local folder ./layouts
{'linchpin_config': '/home/vagrant/devel/workspace/linchpin_config.yml', 'inventory_layout_file': '/home/vagrant/devel/workspace/layouts/my_layout.yml', 'state': 'present', 'outputfolder_path': '/home/vagrant/devel/workspace/outputs', 'inventory_outputs_path': '/home/vagrant/devel/workspace/inventory', 'topology': '/home/vagrant/devel/workspace/topologies/mytopology.yml'}
Traceback (most recent call last):
File "/home/vagrant/linchpin-test/bin/linchpin", line 11, in <module>
load_entry_point('linchpin', 'console_scripts', 'linchpin')()
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args[1:], **kwargs)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/vagrant/linch-pin/linchpin.py", line 201, in rise
output = lpcli.lp_rise(lpf, target)
File "/home/vagrant/linch-pin/cli/cli.py", line 99, in lp_rise
console=True)
File "/home/vagrant/linch-pin/linchpin_api/v1/invoke_playbooks.py", line 110, in invoke_linchpin
results = pbex.run()
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/executor/playbook_executor.py", line 81, in run
pb = Playbook.load(playbook_path, variable_manager=self._variable_manager, loader=self._loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/__init__.py", line 53, in load
pb._load_playbook_data(file_name=file_name, variable_manager=variable_manager)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/__init__.py", line 98, in _load_playbook_data
entry_obj = Play.load(entry, variable_manager=variable_manager, loader=self._loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/play.py", line 116, in load
return p.load_data(data, variable_manager=variable_manager, loader=loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/base.py", line 249, in load_data
self._attributes[name] = method(name, ds[name])
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/play.py", line 196, in _load_roles
roles.append(Role.load(ri, play=self))
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/role/__init__.py", line 127, in load
r._load_role_data(role_include, parent_role=parent_role)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/role/__init__.py", line 180, in _load_role_data
self._task_blocks = load_list_of_blocks(task_data, play=self._play, role=self, loader=self._loader, variable_manager=self._variable_manager)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/helpers.py", line 57, in load_list_of_blocks
loader=loader
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/block.py", line 76, in load
return b.load_data(data, variable_manager=variable_manager, loader=loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/base.py", line 249, in load_data
self._attributes[name] = method(name, ds[name])
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/block.py", line 112, in _load_block
use_handlers=self._use_handlers,
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/helpers.py", line 302, in load_list_of_tasks
t = Task.load(task_ds, block=block, role=role, task_include=task_include, variable_manager=variable_manager, loader=loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/task.py", line 139, in load
return t.load_data(data, variable_manager=variable_manager, loader=loader)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/base.py", line 239, in load_data
ds = self.preprocess_data(ds)
File "/home/vagrant/linchpin-test/lib/python2.7/site-packages/ansible/playbook/task.py", line 181, in preprocess_data
raise AnsibleParserError(to_native(e), obj=ds)
ansible.errors.AnsibleParserError: no action detected in task. This often indicates a misspelled module name, or incorrect module path.
The error appears to have been in '/home/vagrant/linch-pin/provision/roles/common/tasks/main.yml': line 10, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: "schema check for given topology file"
^ here
The error appears to have been in '/home/vagrant/linch-pin/provision/roles/common/tasks/main.yml': line 10, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: "schema check for given topology file"
^ here
(linchpin-test) [vagrant@localhost workspace]$ linchpin rise
Finding topology in local folder ./topology
Finding layout in local folder ./layouts
{'linchpin_config': '/home/vagrant/devel/workspace/linchpin_config.yml', 'inventory_layout_file': '/home/vagrant/devel/workspace/layouts/my_layout.yml', 'state': 'present', 'outputfolder_path': '/home/vagrant/devel/workspace/outputs', 'inventory_outputs_path': '/home/vagrant/devel/workspace/inventory', 'topology': '/home/vagrant/devel/workspace/topologies/mytopology.yml'}
PLAY [including the configuration files] ***************************************
TASK [Include linchpin_config] *************************************************
ok: [localhost] => (item=/home/vagrant/linch-pin/provision/../linchpin_config.yml)
PLAY [schema check and Pre Provisioning Activities on topology_file] **********
TASK [common : Including Linchpin config vars] *********************************
ok: [localhost]