From 378c7626ca108a73d4cfd665e6bf2222b7ddcbe5 Mon Sep 17 00:00:00 2001 From: yves Date: Wed, 20 Mar 2019 10:18:36 +0800 Subject: [PATCH] add mongo index --- .../roles/mongo_3_2/files/mongo-index.py | 62 +++++++++++++++++++ playbooks/roles/mongo_3_2/tasks/main.yml | 12 ++++ 2 files changed, 74 insertions(+) create mode 100644 playbooks/roles/mongo_3_2/files/mongo-index.py diff --git a/playbooks/roles/mongo_3_2/files/mongo-index.py b/playbooks/roles/mongo_3_2/files/mongo-index.py new file mode 100644 index 00000000000..cf77b76f783 --- /dev/null +++ b/playbooks/roles/mongo_3_2/files/mongo-index.py @@ -0,0 +1,62 @@ +import pymongo +import sys +import urllib +from pymongo import MongoClient + + +username = urllib.quote_plus(sys.argv[1]) +password = urllib.quote_plus(sys.argv[2]) + +client = MongoClient('mongodb://%s:%s@127.0.0.1' % (username, password)) + +db_edxapp = client['edxapp'] +collection_mav = db_edxapp['modulestore.active_versions'] +collection_mav.create_index( + [("org", pymongo.ASCENDING), + ("run", pymongo.ASCENDING), + ("course", pymongo.ASCENDING)], + backgroud=True) +collection_fc = db_edxapp['fs.chunks'] +collection_fc.create_index([("files_id". pymongo.ASCENDING)], backgroud=True) + +db_ccs = client['cs_comments_service'] +collection_contents = db_ccs['contents'] +collection_contents.create_index( + [("author_id", pymongo.ASCENDING), + ("course_id", pymongo.ASCENDING), + ("anonymous", pymongo.ASCENDING), + ("anonymous_to_peers", pymongo.ASCENDING), + ("_type", pymongo.ASCENDING)], + backgroud=True) +collection_contents.create_index( + [("_id", pymongo.ASCENDING), + ("_type", pymongo.ASCENDING)], + backgroud=True) +collection_contents.create_index( + [("_type", pymongo.ASCENDING), + ("commentable_id", pymongo.ASCENDING), + ("course_id", pymongo.ASCENDING), + ("context", pymongo.ASCENDING)], + backgroud=True) +collection_contents.create_index( + [("_type", pymongo.ASCENDING), + ("commentable_id", pymongo.ASCENDING), + ("course_id", pymongo.ASCENDING), + ("group_id", pymongo.ASCENDING)], + backgroud=True) +collection_contents.create_index( + [("created_at", pymongo.ASCENDING), + ("comment_thread_id", pymongo.ASCENDING), + ("_type", pymongo.ASCENDING)], + backgroud=True) +collection_contents.create_index([("votes.up", pymongo.ASCENDING)], backgroud=True) +collection_contents.create_index([("votes.down", pymongo.ASCENDING)], backgroud=True) +collection_contents.create_index([("_type", pymongo.ASCENDING)], backgroud=True) +collection_users = db_ccs['users'] +collection_users.create_index([("external_id", pymongo.ASCENDING)], backgroud=True) +collection_users.create_index([("username", pymongo.ASCENDING)], backgroud=True) +collection_subscriptions = db_ccs['subscriptions'] +collection_subscriptions.create_index( + [("subscriber_id", pymongo.ASCENDING), + ("source_type", pymongo.ASCENDING)], + backgroud=True) \ No newline at end of file diff --git a/playbooks/roles/mongo_3_2/tasks/main.yml b/playbooks/roles/mongo_3_2/tasks/main.yml index 19731ddf009..0e78b615cf6 100644 --- a/playbooks/roles/mongo_3_2/tasks/main.yml +++ b/playbooks/roles/mongo_3_2/tasks/main.yml @@ -335,3 +335,15 @@ tags: - "manage" - "manage:start" + +- name: Cpoy mongodb indexes file + copy: + src: "mongo-index.py" + dest: "/tmp/mongo-index.py" + tags: + - install + +- name: Create indexes + shell: "python /tmp/mongo-index.py {{MONGO_ADMIN_USER}} {{MONGO_ADMIN_PASSWORD}}" + tags: + - install