# See the License for the specific language governing permissions and
 # limitations under the License.
 ---
+- name: Create rabbitmq configuration
+  template:
+    src: rabbitmq.config.j2
+    dest: /etc/rabbitmq/rabbitmq.config
+
+- name: Define user definitions file
+  template:
+    src: user_definitions.json.j2
+    dest: /etc/rabbitmq/definitions.json
+
 - name: Restart rabbitmq
   service:
     name: rabbitmq-server
 - name: rabbitmqctl start_app
   shell: rabbitmqctl start_app
 
-- name: Configure rabbitmq
-  rabbitmq_user:
-    user: yardstick
-    password: yardstick
-    configure_priv: .*
-    read_priv: .*
-    write_priv: .*
-    state: present
+- name: Enable management plugin
+  shell: rabbitmq-plugins enable rabbitmq_management
 
--- /dev/null
+ [\r
+    {rabbitmq_management, [\r
+       {load_definitions, "/etc/rabbitmq/definitions.json"}\r
+    ]}\r
+].
\ No newline at end of file
 
--- /dev/null
+ {\r
+    "users": [{\r
+        "name": "yardstick",\r
+        "password_hash": "{{  }}",\r
+        "hashing_algorithm": "rabbit_password_hashing_sha256",\r
+        "tags": ""\r
+    }],\r
+    "vhosts": [{\r
+        "name": "/"\r
+    }],\r
+    "permissions": [{\r
+        "user": "yardstick",\r
+        "vhost": "/",\r
+        "configure": ".*",\r
+        "write": ".*",\r
+        "read": ".*"\r
+    }],\r
+    "parameters": [],\r
+    "policies": [],\r
+    "queues": [],\r
+    "exchanges": [],\r
+    "bindings": []\r
+}\r