diff --git a/.travis.yml b/.travis.yml index 61a4cbc7..717d8b49 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,11 @@ language: python python: - "2.7" env: + - > + DISTRIBUTION=ubuntu + DIST_VERSION=18_04-builded + MONGODB_VERSION=4.0 + MONGODB_PACKAGE=mongodb - > DISTRIBUTION=ubuntu DIST_VERSION=18_04-builded @@ -15,72 +20,72 @@ env: - > DISTRIBUTION=ubuntu DIST_VERSION=16_04-builded - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=ubuntu DIST_VERSION=16_04-builded - MONGODB_VERSION=3.4 + MONGODB_VERSION=3.6 - > DISTRIBUTION=ubuntu DIST_VERSION=16_04-builded - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.4 - > DISTRIBUTION=ubuntu-upstart DIST_VERSION=14.04 - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=ubuntu-upstart DIST_VERSION=14.04 - MONGODB_VERSION=3.4 + MONGODB_VERSION=3.6 - > DISTRIBUTION=ubuntu-upstart DIST_VERSION=14.04 - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.4 - > DISTRIBUTION=debian DIST_VERSION=9-builded - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=debian DIST_VERSION=9-builded - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.6 MONGODB_PACKAGE=mongodb - > DISTRIBUTION=debian DIST_VERSION=8-builded - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=debian DIST_VERSION=8-builded - MONGODB_VERSION=3.4 + MONGODB_VERSION=3.6 - > DISTRIBUTION=debian DIST_VERSION=8-builded - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.4 - > DISTRIBUTION=centos DIST_VERSION=6-builded - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=centos DIST_VERSION=6-builded - MONGODB_VERSION=3.4 + MONGODB_VERSION=3.6 - > DISTRIBUTION=centos DIST_VERSION=6-builded - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.4 - > DISTRIBUTION=centos DIST_VERSION=7-builded - MONGODB_VERSION=3.6 + MONGODB_VERSION=4.0 - > DISTRIBUTION=centos DIST_VERSION=7-builded - MONGODB_VERSION=3.4 + MONGODB_VERSION=3.6 - > DISTRIBUTION=centos DIST_VERSION=7-builded - MONGODB_VERSION=3.2 + MONGODB_VERSION=3.4 services: - docker diff --git a/README.md b/README.md index 27e52aad..c90055f4 100644 --- a/README.md +++ b/README.md @@ -10,15 +10,15 @@ Ansible role which manages [MongoDB](http://www.mongodb.org/). MongoDB support matrix: -| Distribution | < MongoDB 3.0 | MongoDB 3.2 | MongoDB 3.4 | MongoDB 3.6 | -| ------------ |:-------------:|:-----------:|:-----------:|:-----------:| -| Ubuntu 14.04 | :no_entry: | :white_check_mark:| :white_check_mark:| :white_check_mark:| -| Ubuntu 16.04 | :no_entry: | :white_check_mark:| :white_check_mark:| :white_check_mark:| -| Ubuntu 18.04 | :no_entry: | :x:| :x:| :white_check_mark:| -| Debian 8.x | :no_entry: | :white_check_mark:| :white_check_mark:| :white_check_mark:| -| Debian 9.x | :no_entry: | :white_check_mark:| :x:| :white_check_mark:| -| RHEL 6.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark:| -| RHEL 7.x | :no_entry: | :white_check_mark: | :white_check_mark: | :white_check_mark:| +| Distribution | < MongoDB 3.0 | MongoDB 3.2 | MongoDB 3.4 | MongoDB 3.6 | MongoDB 4.0 | +| ------------ |:-------------:|:-----------:|:-----------:|:-----------:|:-----------:| +| Ubuntu 14.04 | :no_entry: | :no_entry:| :white_check_mark:| :white_check_mark:| :white_check_mark:| +| Ubuntu 16.04 | :no_entry: | :no_entry:| :white_check_mark:| :white_check_mark:| :white_check_mark:| +| Ubuntu 18.04 | :no_entry: | :no_entry:| :x:| :white_check_mark:| :white_check_mark:| +| Debian 8.x | :no_entry: | :no_entry:| :white_check_mark:| :white_check_mark:| :white_check_mark:| +| Debian 9.x | :no_entry: | :no_entry:| :x:| :white_check_mark:| :white_check_mark:| +| RHEL 6.x | :no_entry: | :no_entry: | :white_check_mark: | :white_check_mark:| :white_check_mark:| +| RHEL 7.x | :no_entry: | :no_entry: | :white_check_mark: | :white_check_mark:| :white_check_mark:| - :white_check_mark: - fully tested, should works fine - :interrobang: - maybe works, not tested @@ -34,7 +34,7 @@ MongoDB support matrix: mongodb_package: mongodb-org # You can control installed version via this param. -# Should be '3.2', '3.4', '3.6'. This role doesn't support MongoDB < 3.2. +# Should be '3.4', '3.6' or '4.0'. This role doesn't support MongoDB < 3.4. # I will recommend you to use latest version of MongoDB. mongodb_version: "3.6" diff --git a/defaults/main.yml b/defaults/main.yml index 2f6014dd..ac224a2b 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,12 +4,12 @@ mongodb_package: mongodb-org mongodb_version: "3.6" mongodb_apt_keyserver: keyserver.ubuntu.com mongodb_apt_key_id: - "3.2": "EA312927" "3.4": "0C49F3730359A14518585931BC711F9BA15703C6" "3.6": "2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5" + "4.0": "9DA31620334BD75D9DCB49F368818C72E52529D4" mongodb_pymongo_from_pip: true # Install latest PyMongo via PIP or package manager -mongodb_pymongo_pip_version: 3.6.1 +mongodb_pymongo_pip_version: 3.7.1 mongodb_user_update_password: "on_create" # MongoDB user password update default policy mongodb_manage_service: true diff --git a/tasks/install.debian.yml b/tasks/install.debian.yml index aa75e663..c1643799 100644 --- a/tasks/install.debian.yml +++ b/tasks/install.debian.yml @@ -25,21 +25,22 @@ - name: Fail when used wrong mongodb_version variable with Debian Stretch fail: - msg: "mongodb_version variable should be '3.2' or '3.6' for Debian Stretch" + msg: "mongodb_version variable should be '3.6' or '4.0' for Debian Stretch" when: (mongodb_package == 'mongodb-org' and (mongodb_version is not defined or mongodb_repository[mongodb_major_version] is not defined - or mongodb_version != '3.6') and ansible_distribution_release == 'stretch') + or (mongodb_version != '3.6' and mongodb_version != '4.0')) + and (ansible_distribution_release == 'stretch' and ansible_distribution_release == 'jessie')) - name: Fail when used wrong mongodb_version variable with Ubuntu 18.04 fail: - msg: "mongodb_version variable should be '3.6' and mongodb_package should be 'mongodb' for Ubuntu 18.04" - when: ((mongodb_package == 'mongodb-org' or mongodb_version != '3.6') - and ansible_distribution_release == "bionic") + msg: "mongodb_version variable should be '3.6' or '4.0' and mongodb_package should be 'mongodb' for Ubuntu 18.04" + when: ((mongodb_package == 'mongodb-org' or (mongodb_version != '3.6' and mongodb_version != '4.0')) + and ansible_distribution_release == "bionic") - name: Fail when used wrong mongodb_version variable fail: - msg: "mongodb_version variable should be '3.2', '3.4' or '3.6'" + msg: "mongodb_version variable should be '3.4', '3.6' or '4.0'" when: (mongodb_package == 'mongodb-org' and (mongodb_version is not defined or mongodb_repository[mongodb_major_version] is not defined)) diff --git a/tests/host_vars/mongo3.yml b/tests/host_vars/mongo3.yml index 3ccc68c3..6f6b6f6f 100644 --- a/tests/host_vars/mongo3.yml +++ b/tests/host_vars/mongo3.yml @@ -1,6 +1,6 @@ --- mongodb_net_port: 30000 -mongodb_storage_journal_enabled: false +mongodb_storage_journal_enabled: "{{ mongodb_major_version | version_compare('4.0', '>=') }}" mongodb_storage_smallfiles: true mongodb_storage_prealloc: false mongodb_replication_params: diff --git a/vars/Debian.yml b/vars/Debian.yml index cc8b28e8..f177ee57 100644 --- a/vars/Debian.yml +++ b/vars/Debian.yml @@ -1,5 +1,5 @@ --- mongodb_repository: - "3.2": "deb http://repo.mongodb.org/apt/debian {{ ansible_distribution_release }}/mongodb-org/3.2 main" "3.4": "deb http://repo.mongodb.org/apt/debian {{ ansible_distribution_release }}/mongodb-org/3.4 main" "3.6": "deb http://repo.mongodb.org/apt/debian {{ ansible_distribution_release }}/mongodb-org/3.6 main" + "4.0": "deb http://repo.mongodb.org/apt/debian {{ ansible_distribution_release }}/mongodb-org/4.0 main" diff --git a/vars/RedHat.yml b/vars/RedHat.yml index bc633cda..0b01502b 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -1,13 +1,13 @@ --- mongodb_repository: - "3.2": "https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/$basearch/" "3.4": "https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/$basearch/" "3.6": "https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/$basearch/" + "4.0": "https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/$basearch/" mongodb_repository_gpgkey: - "3.2": "https://www.mongodb.org/static/pgp/server-3.2.asc" "3.4": "https://www.mongodb.org/static/pgp/server-3.4.asc" "3.6": "https://www.mongodb.org/static/pgp/server-3.6.asc" + "4.0": "https://www.mongodb.org/static/pgp/server-4.0.asc" mongodb_pidfile_path: "{{ '/var/run/mongodb/mongod.pid' if ('mongodb-org' in mongodb_package) else '' }}" diff --git a/vars/Ubuntu.yml b/vars/Ubuntu.yml index e9e2e587..084776c3 100644 --- a/vars/Ubuntu.yml +++ b/vars/Ubuntu.yml @@ -1,5 +1,5 @@ --- mongodb_repository: - "3.2": "deb http://repo.mongodb.org/apt/ubuntu {{ ansible_distribution_release }}/mongodb-org/3.2 multiverse" "3.4": "deb http://repo.mongodb.org/apt/ubuntu {{ ansible_distribution_release }}/mongodb-org/3.4 multiverse" "3.6": "deb http://repo.mongodb.org/apt/ubuntu {{ ansible_distribution_release }}/mongodb-org/3.6 multiverse" + "4.0": "deb http://repo.mongodb.org/apt/ubuntu {{ ansible_distribution_release }}/mongodb-org/4.0 multiverse"