Though actually the plugin does work when using it with the "lookup" syntax.
The tasks in the plugin docs should be replaced with this:
tasks:
- set_fact:
entry: "{{ lookup('mongodb', mongodb_parameters) }}"
- debug: msg="Mongo has already started with the following PID [{{
entry.pid }}]"
- David
On Monday, December 25, 2017 at 11:34:25 AM UTC+2, David Resnick wrote:
>
> Yes, the mongodb lookup plugin is broken in ansible >= 2.4.1.0.
>
> The problem is with this line
> <https://github.com/ansible/ansible/blob/4d67cdd1f73ced35dc63aa422a996b7496e0a710/lib/ansible/plugins/lookup/mongodb.py#L168>
> :
>
> def run(self, terms, variables, **kwargs):
> ret = []
> for term in terms:
> When trying to run the example from the documentation, terms holds a
> dictionary with the mongo parameters and not a list.
>
> I will try to open an issue and submit a pull request for fixing this.
>
> - David
>
>
> On Saturday, November 4, 2017 at 6:29:30 PM UTC+2, Marcelo Oliveira wrote:
>>
>> Hello everybody,
>>
>> I am learning ansible through its official documentation and videos on
>> youtube, but sadly I can't get it working with its lookup-mongodb module as
>> described at
>> http://docs.ansible.com/ansible/latest/playbooks_lookups.html#mongodb-lookup
>> I am using Ubuntu 16.04 based distro (Elementary OS Loki), Python 2.7.12,
>> ansible 2.4.1.0 (installed from ppa:ansible/ansible) and I have
>> also python-pymongo version 3.2-1build1 installed.
>>
>> When I try to run the example taught in the official documentation (see
>> link above), I got the following error:
>>
>>
>> app@store:~/ansible_tutorial$ ansible-playbook playbook.yml -vvv
>> ansible-playbook 2.4.1.0
>> config file = /home/app/ansible_tutorial/ansible.cfg
>> configured module search path = [u'/home/app/.ansible/plugins/modules',
>> u'/usr/share/ansible/plugins/modules']
>> ansible python module location =
>> /usr/lib/python2.7/dist-packages/ansible
>> executable location = /usr/bin/ansible-playbook
>> python version = 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0
>> 20160609]
>> Using /home/app/ansible_tutorial/ansible.cfg as config file
>> Parsed /home/app/ansible_tutorial/hosts inventory source with ini plugin
>>
>> PLAYBOOK: playbook.yml
>> **************************************************************************************************************************************************
>> 1 plays in playbook.yml
>>
>> PLAY [localhost]
>> ********************************************************************************************************************************************************
>> META: ran handlers
>>
>> TASK [debug]
>> ************************************************************************************************************************************************************
>> task path: /home/app/ansible_tutorial/playbook.yml:26
>> The full traceback is:
>> Traceback (most recent call last):
>> File
>> "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line
>> 88, in run
>> items = self._get_loop_items()
>> File
>> "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line
>> 216, in _get_loop_items
>> items = mylookup.run(terms=loop_terms, variables=self._job_vars,
>> wantlist=True)
>> File
>> "/usr/lib/python2.7/dist-packages/ansible/plugins/lookup/mongodb.py", line
>> 210, in run
>> * connection_string = term.get(u'connection_string',
>> u"mongodb://localhost")*
>> *AttributeError: 'unicode' object has no attribute 'get'*
>>
>> *fatal: [localhost]: FAILED! => {*
>> * "msg": "Unexpected failure during module execution.", *
>> * "stdout": ""*
>> *}*
>> to retry, use: --limit @/home/app/ansible_tutorial/playbook.retry
>>
>> PLAY RECAP
>> **************************************************************************************************************************************************************
>> localhost : ok=0 changed=0 unreachable=0
>> failed=1
>>
>>
>> As far as I can understand, those bold lines are telling me what is going
>> wrong, the connection to the database.
>> I've searched everywhere I could on internet and watched many ansible
>> videos on youtube but I couldn't find how I can fix it, it must be
>> something very simple.
>>
>> From the MongoDB side:
>> I installed it in the same machine, it is running, and it has the local
>> database and startup_log collection, as you may find below:
>>
>> app@store:~/ansible_tutorial$ mongo
>> MongoDB shell version: 3.2.17
>> connecting to: test
>> Server has startup warnings:
>> 2017-11-04T09:39:25.859-0200 I CONTROL [initandlisten]
>> 2017-11-04T09:39:25.859-0200 I CONTROL [initandlisten] ** WARNING:
>> /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
>> 2017-11-04T09:39:25.859-0200 I CONTROL [initandlisten] ** We
>> suggest setting it to 'never'
>> 2017-11-04T09:39:25.859-0200 I CONTROL [initandlisten]
>> > show dbs
>> *local 0.000GB*
>> > use local
>> switched to db local
>> > show collections
>> *startup_log*
>> > db.startup_log.find()
>> { "_id" : "store-1509763862598", "hostname" : "store", "startTime" :
>> ISODate("2017-11-04T02:51:02Z"), "startTimeLocal" : "Sat Nov 4
>> 00:51:02.598", "cmdLine" : { "config" : "/etc/mongod.conf", "net" : {
>> "bindIp" : "127.0.0.1", "port" : 27017 }, "storage" : { "dbPath" :
>> "/var/lib/mongodb", "journal" : { "enabled" : true } }, "systemLog" : {
>> "destination" : "file", "logAppend" : true, "path" :
>> "/var/log/mongodb/mongod.log", "quiet" : true } }, "pid" :
>> NumberLong(9044), "buildinfo" : { "version" : "3.2.17", "gitVersion" :
>> "186656d79574f7dfe0831a7e7821292ab380f667", "modules" : [ ], "allocator" :
>> "tcmalloc", "javascriptEngine" : "mozjs", "sysInfo" : "deprecated",
>> "versionArray" : [ 3, 2, 17, 0 ], "openssl" : { "running" : "OpenSSL 1.0.2g
>> 1 Mar 2016", "compiled" : "OpenSSL 1.0.2g 1 Mar 2016" },
>> "buildEnvironment" : { "distmod" : "ubuntu1604", "distarch" : "x86_64",
>> "cc" : "/opt/mongodbtoolchain/v2/bin/gcc: gcc (GCC) 5.4.0", "ccflags" :
>> "-fno-omit-frame-pointer -fPIC -fno-strict-aliasing -ggdb -pthread -Wall
>> -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O2
>> -Wno-unused-local-typedefs -Wno-unused-function
>> -Wno-deprecated-declarations -Wno-unused-but-set-variable
>> -Wno-missing-braces -fno-builtin-memcmp", "cxx" :
>> "/opt/mongodbtoolchain/v2/bin/g++: g++ (GCC) 5.4.0", "cxxflags" :
>> "-Wnon-virtual-dtor -Woverloaded-virtual -Wno-maybe-uninitialized
>> -std=c++11", "linkflags" : "-fPIC -pthread -Wl,-z,now -rdynamic
>> -fuse-ld=gold -Wl,-z,noexecstack -Wl,--warn-execstack", "target_arch" :
>> "x86_64", "target_os" : "linux" }, "bits" : 64, "debug" : false,
>> "maxBsonObjectSize" : 16777216, "storageEngines" : [ "devnull",
>> "ephemeralForTest", "mmapv1", "wiredTiger" ] } }
>> { "_id" : "store-1509795565866", "hostname" : "store", "startTime" :
>> ISODate("2017-11-04T11:39:25Z"), "startTimeLocal" : "Sat Nov 4
>> 09:39:25.866", "cmdLine" : { "config" : "/etc/mongod.conf", "net" : {
>> "bindIp" : "127.0.0.1", "port" : 27017 }, "storage" : { "dbPath" :
>> "/var/lib/mongodb", "journal" : { "enabled" : true } }, "systemLog" : {
>> "destination" : "file", "logAppend" : true, "path" :
>> "/var/log/mongodb/mongod.log", "quiet" : true } }, "pid" :
>> NumberLong(7673), "buildinfo" : { "version" : "3.2.17", "gitVersion" :
>> "186656d79574f7dfe0831a7e7821292ab380f667", "modules" : [ ], "allocator" :
>> "tcmalloc", "javascriptEngine" : "mozjs", "sysInfo" : "deprecated",
>> "versionArray" : [ 3, 2, 17, 0 ], "openssl" : { "running" : "OpenSSL 1.0.2g
>> 1 Mar 2016", "compiled" : "OpenSSL 1.0.2g 1 Mar 2016" },
>> "buildEnvironment" : { "distmod" : "ubuntu1604", "distarch" : "x86_64",
>> "cc" : "/opt/mongodbtoolchain/v2/bin/gcc: gcc (GCC) 5.4.0", "ccflags" :
>> "-fno-omit-frame-pointer -fPIC -fno-strict-aliasing -ggdb -pthread -Wall
>> -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O2
>> -Wno-unused-local-typedefs -Wno-unused-function
>> -Wno-deprecated-declarations -Wno-unused-but-set-variable
>> -Wno-missing-braces -fno-builtin-memcmp", "cxx" :
>> "/opt/mongodbtoolchain/v2/bin/g++: g++ (GCC) 5.4.0", "cxxflags" :
>> "-Wnon-virtual-dtor -Woverloaded-virtual -Wno-maybe-uninitialized
>> -std=c++11", "linkflags" : "-fPIC -pthread -Wl,-z,now -rdynamic
>> -fuse-ld=gold -Wl,-z,noexecstack -Wl,--warn-execstack", "target_arch" :
>> "x86_64", "target_os" : "linux" }, "bits" : 64, "debug" : false,
>> "maxBsonObjectSize" : 16777216, "storageEngines" : [ "devnull",
>> "ephemeralForTest", "mmapv1", "wiredTiger" ] } }
>> >
>>
>> Does anyone have an idea on how I can get it working?
>>
>>
>> Many thanks,
>> Marcelo
>>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/c3a33f6e-8962-4f50-9be4-d37118725eb4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.