Merge changes from topic "rmq_standalone" into release/2019.2.0

* changes:
  Added check of ssl options for nova cells database_connection
  For support non-clustered RabbitMQ configuration added check of use_vip_address option for nova.controller.nova_update_cell1 state
diff --git a/_states/novang.py b/_states/novang.py
index b496117..88cffcb 100644
--- a/_states/novang.py
+++ b/_states/novang.py
@@ -65,10 +65,14 @@
            'changes': {},
            'result': False,
            'comment': 'Cell "{0}" does not exists'.format(name)}
-    cell_uuid = __salt__['cmd.shell']('nova-manage cell_v2 list_cells 2>/dev/null | awk \'/' + name + '/ {print $4}\'')
+    cell_uuid, ssl_enable = (__salt__['cmd.shell']('nova-manage cell_v2 list_cells 2>/dev/null | awk \'/' + name + '/ {print $4, $8}\'')).split(' ', 1)
+    if 'ssl' in ssl_enable:
+        db_options = '?charset=utf8&ssl_ca=/etc/nova/ssl/mysql/ca-cert.pem&ssl_cert=/etc/nova/ssl/mysql/client-cert.pem&ssl_key=/etc/nova/ssl/mysql/client-key.pem'
+    else:
+        db_options = '?charset=utf8'
     if cell_uuid:
         try:
-            __salt__['cmd.shell']('nova-manage cell_v2 update_cell --cell_uuid ' + cell_uuid + ' --transport-url ' + transport_url + ' --database_connection ' + db_engine + '+pymysql://' + db_user + ':' + db_password + '@' + db_address + '/' + db_name + '?charset=utf8')
+            __salt__['cmd.shell']('nova-manage cell_v2 update_cell --cell_uuid ' + cell_uuid + ' --transport-url ' + transport_url + ' --database_connection ' + '"' + db_engine + '+pymysql://' + db_user + ':' + db_password + '@' + db_address + '/' + db_name + db_options + '"')
             ret['result'] = True
             ret['comment'] = 'Cell {0} updated'.format(name)
             ret['changes'][name] = 'Cell {0} successfuly updated'.format(name)
diff --git a/nova/controller.sls b/nova/controller.sls
index dfd33ff..73ff759 100644
--- a/nova/controller.sls
+++ b/nova/controller.sls
@@ -390,7 +390,7 @@
   novang.update_cell:
   - name: "cell1"
   - db_name: {{ controller.database.name }}
-{%- if controller.message_queue.members is defined %}
+{%- if controller.message_queue.members is defined and not controller.message_queue.get('use_vip_address', False) %}
   - transport_url: rabbit://{% for member in controller.message_queue.members -%}
                              {{ controller.message_queue.user }}:{{ controller.message_queue.password }}@{{ member.host }}:{{ member.get('port', rabbit_port) }}
                              {%- if not loop.last -%},{%- endif -%}