Merge "Drop Travis CI support"
diff --git a/README.rst b/README.rst
index 281b710..c682b23 100644
--- a/README.rst
+++ b/README.rst
@@ -991,6 +991,7 @@
         backend:
           engine: ovn
           ovsdb_connection: tcp:127.0.0.1:6640
+          mac_table_size: 16384
         metadata:
           enabled: true
           ovsdb_server_iface: ptcp:6640:127.0.0.1
diff --git a/_modules/neutronv2/common.py b/_modules/neutronv2/common.py
index 699c6d9..88c08b6 100644
--- a/_modules/neutronv2/common.py
+++ b/_modules/neutronv2/common.py
@@ -1,9 +1,13 @@
 import functools
 import logging
-import os_client_config
 import time
 
-from salt.exceptions import CommandExecutionError
+try:
+    import os_client_config
+except ImportError:
+    os_client_config = None
+from salt import exceptions
+
 
 log = logging.getLogger(__name__)
 
@@ -49,6 +53,10 @@
 
 
 def _get_raw_client(cloud_name):
+    if not os_client_config:
+        raise exceptions.SaltInvocationError(
+            "Cannot load os-client-config. Please check your environment "
+            "configuration.")
     service_type = 'network'
     config = os_client_config.OpenStackConfig()
     cloud = config.get_one_cloud(cloud_name)
@@ -130,7 +138,7 @@
         break
     if not response or not response.content:
         if e:
-            raise CommandExecutionError(e)
+            raise exceptions.CommandExecutionError(e)
         else:
             return {}
     try:
diff --git a/metadata/service/compute/ovn/single.yml b/metadata/service/compute/ovn/single.yml
index 187f180..644e76b 100644
--- a/metadata/service/compute/ovn/single.yml
+++ b/metadata/service/compute/ovn/single.yml
@@ -19,6 +19,7 @@
       backend:
         engine: ovn
         ovsdb_connection: tcp:127.0.0.1:6640
+        mac_table_size: 16384
       metadata:
         enabled: true
         ovsdb_server_iface: ptcp:6640:127.0.0.1
diff --git a/neutron/compute.sls b/neutron/compute.sls
index e815410..708a51d 100644
--- a/neutron/compute.sls
+++ b/neutron/compute.sls
@@ -148,6 +148,13 @@
   - name: "ovs-vsctl set open .
    external-ids:ovn-bridge-mappings=physnet1:{{ compute.external_bridge }}"
 
+        {%- if compute.backend.mac_table_size is defined %}
+set_bridge_mactable_size:
+  cmd.run:
+  - name: ovs-vsctl set Bridge {{ compute.external_bridge }} other-config:mac-table-size={{ compute.backend.mac_table_size }}
+  - unless: ovs-vsctl get Bridge {{ compute.external_bridge }} other-config:mac-table-size | grep -qF {{ compute.backend.mac_table_size }}
+        {%- endif %}
+
       {%- endif %}
 
 ovn_services:
diff --git a/neutron/files/pike/neutron-server.conf b/neutron/files/pike/neutron-server.conf
index b1a4628..75b6508 100644
--- a/neutron/files/pike/neutron-server.conf
+++ b/neutron/files/pike/neutron-server.conf
@@ -1009,7 +1009,7 @@
 admin_tenant_name={{ server.backend.tenant }}
 {%- endif %}
 auth_region={{ server.identity.region }}
-auth_protocol=http
+auth_protocol={{ server.identity.get('protocol', 'http') }}
 revocation_cache_time = 10
 auth_type = password
 auth_host = {{ server.identity.host }}
@@ -2300,7 +2300,10 @@
 admin_password = {{ server.identity.password }}
 admin_user = {{ server.identity.user }}
 admin_tenant_name = {{ server.identity.tenant }}
-auth_url = http://{{ server.identity.host }}:35357/v2.0
+auth_url = {{ server.identity.get('protocol', 'http') }}://{{ server.identity.host }}:35357/v2.0
+{%- if server.identity.get('protocol', 'http') == 'https' %}
+cafile={{ server.identity.get('cacert_file', server.cacert_file) }}
+{%- endif %}
 {%- endif -%}
 
 {% if lbaas.engine == "avinetworks" %}
diff --git a/neutron/server.sls b/neutron/server.sls
index 25b7d3c..e13dc75 100644
--- a/neutron/server.sls
+++ b/neutron/server.sls
@@ -45,6 +45,9 @@
   file.managed:
   - source: salt://neutron/files/{{ server.version }}/ContrailPlugin.ini
   - template: jinja
+  - user: neutron
+  - group: neutron
+  - mode: 640
   - require:
     - pkg: neutron_server_packages
     - pkg: neutron_contrail_package
diff --git a/tests/pillar/compute_ovn.sls b/tests/pillar/compute_ovn.sls
index f3fbaf1..8ced50d 100644
--- a/tests/pillar/compute_ovn.sls
+++ b/tests/pillar/compute_ovn.sls
@@ -8,6 +8,7 @@
     backend:
       engine: ovn
       ovsdb_connection: tcp:127.0.0.1:6640
+      mac_table_size: 8192
     metadata:
       enabled: true
       ovsdb_server_iface: ptcp:6640:127.0.0.1