Hello community,

here is the log from the commit of package python-mistralclient for 
openSUSE:Factory checked in at 2017-09-23 21:34:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mistralclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-mistralclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-mistralclient"

Sat Sep 23 21:34:12 2017 rev:4 rq:528107 version:3.1.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-mistralclient/python-mistralclient.changes    
    2017-08-28 15:31:07.423013203 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-mistralclient.new/python-mistralclient.changes
   2017-09-23 21:34:20.981283327 +0200
@@ -1,0 +2,10 @@
+Thu Sep 21 15:33:49 UTC 2017 - [email protected]
+
+- update to version 3.1.3
+  - Fix how "--limit" is passed to the server for action executions
+  - Update .gitreview for stable/pike
+  - Enable ssl support for keycloak auth module
+  - Updated from global requirements
+  - Update UPPER_CONSTRAINTS_FILE for stable/pike
+
+-------------------------------------------------------------------

Old:
----
  python-mistralclient-3.1.1.tar.gz

New:
----
  python-mistralclient-3.1.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-mistralclient.spec ++++++
--- /var/tmp/diff_new_pack.sf09Ex/_old  2017-09-23 21:34:21.833163524 +0200
+++ /var/tmp/diff_new_pack.sf09Ex/_new  2017-09-23 21:34:21.837162961 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-mistralclient
-Version:        3.1.1
+Version:        3.1.3
 Release:        0
 Summary:        Python API and CLI for OpenStack Mistral
 License:        Apache-2.0
@@ -30,7 +30,7 @@
 BuildRequires:  python-fixtures >= 3.0.0
 BuildRequires:  python-mock >= 2.0
 BuildRequires:  python-nose
-BuildRequires:  python-openstackclient >= 3.3.0
+BuildRequires:  python-openstackclient >= 3.11.0
 BuildRequires:  python-oslotest >= 1.10.0
 BuildRequires:  python-osprofiler >= 1.4.0
 BuildRequires:  python-pbr >= 2.0.0
@@ -39,10 +39,10 @@
 BuildRequires:  python-testrepository >= 0.0.18
 BuildRequires:  python-testtools >= 1.4.0
 Requires:       python-PyYAML >= 3.10.0
-Requires:       python-cliff >= 2.6.0
+Requires:       python-cliff >= 2.8.0
 Requires:       python-keystoneclient >= 3.8.0
-Requires:       python-os-client-config >= 1.27.0
-Requires:       python-osc-lib >= 1.5.1
+Requires:       python-os-client-config >= 1.28.0
+Requires:       python-osc-lib >= 1.7.0
 Requires:       python-oslo.i18n >= 2.1.0
 Requires:       python-oslo.utils >= 3.20.0
 Requires:       python-osprofiler >= 1.4.0
@@ -59,7 +59,7 @@
 Summary:        Documentation for OpenStack Mistral API client libary
 Group:          Documentation
 BuildRequires:  python-Sphinx
-BuildRequires:  python-openstackdocstheme >= 1.11.0
+BuildRequires:  python-openstackdocstheme >= 1.16.0
 
 %description doc
 Client library for Mistral built on the Mistral API. It provides a Python API

++++++ _service ++++++
--- /var/tmp/diff_new_pack.sf09Ex/_old  2017-09-23 21:34:21.869158461 +0200
+++ /var/tmp/diff_new_pack.sf09Ex/_new  2017-09-23 21:34:21.869158461 +0200
@@ -1,6 +1,6 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/openstack/python-mistralclient/python-mistralclient.spec.j2</param>
+    <param 
name="input-template">https://git.openstack.org/cgit/openstack/rpm-packaging/plain/openstack/python-mistralclient/python-mistralclient.spec.j2?h=stable/pike</param>
     <param name="output-name">python-mistralclient.spec</param>
     <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/global-requirements.txt</param>
     <param name="changelog-email">[email protected]</param>

++++++ python-mistralclient-3.1.1.tar.gz -> python-mistralclient-3.1.3.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-mistralclient-3.1.1/AUTHORS 
new/python-mistralclient-3.1.3/AUTHORS
--- old/python-mistralclient-3.1.1/AUTHORS      2017-07-25 08:11:25.000000000 
+0200
+++ new/python-mistralclient-3.1.3/AUTHORS      2017-09-08 00:21:46.000000000 
+0200
@@ -35,6 +35,7 @@
 Lucky samadhiya <[email protected]>
 Marcos Fermin Lobo <[email protected]>
 Michal Gershenzon <[email protected]>
+Mike Fedosin <[email protected]>
 Nikolay Mahotkin <[email protected]>
 OpenStack Release Bot <[email protected]>
 Pierre-Arthur MATHIEU <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-mistralclient-3.1.1/ChangeLog 
new/python-mistralclient-3.1.3/ChangeLog
--- old/python-mistralclient-3.1.1/ChangeLog    2017-07-25 08:11:25.000000000 
+0200
+++ new/python-mistralclient-3.1.3/ChangeLog    2017-09-08 00:21:45.000000000 
+0200
@@ -1,6 +1,19 @@
 CHANGES
 =======
 
+3.1.3
+-----
+
+* Enable ssl support for keycloak auth module
+* Updated from global requirements
+* Update UPPER\_CONSTRAINTS\_FILE for stable/pike
+
+3.1.2
+-----
+
+* Fix how "--limit" is passed to the server for action executions
+* Update .gitreview for stable/pike
+
 3.1.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-mistralclient-3.1.1/PKG-INFO 
new/python-mistralclient-3.1.3/PKG-INFO
--- old/python-mistralclient-3.1.1/PKG-INFO     2017-07-25 08:11:27.000000000 
+0200
+++ new/python-mistralclient-3.1.3/PKG-INFO     2017-09-08 00:21:47.000000000 
+0200
@@ -1,11 +1,12 @@
 Metadata-Version: 1.1
 Name: python-mistralclient
-Version: 3.1.1
+Version: 3.1.3
 Summary: Mistral Client Library
 Home-page: 
http://docs.openstack.org/developer/mistral/guides/mistralclient_guide.html
 Author: OpenStack
 Author-email: [email protected]
 License: Apache Software License
+Description-Content-Type: UNKNOWN
 Description: ========================
         Team and repository tags
         ========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/functionaltests/resources/v2/wf_v2.yaml 
new/python-mistralclient-3.1.3/functionaltests/resources/v2/wf_v2.yaml
--- old/python-mistralclient-3.1.1/functionaltests/resources/v2/wf_v2.yaml      
2017-07-25 08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/functionaltests/resources/v2/wf_v2.yaml      
2017-09-08 00:17:49.000000000 +0200
@@ -7,9 +7,15 @@
   tasks:
     hello:
       action: std.echo output="Hello"
-      wait-before: 5
+      wait-before: 1
       publish:
-        result: <% task(hello).result %>
+        result: <% task().result %>
+      on-success: bye
+
+    bye:
+      action: std.echo output="Bye"
+      publish:
+        result: <% $.result + ', ' + task().result %>
 
 wf1:
   type: reverse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/api/v2/action_executions.py 
new/python-mistralclient-3.1.3/mistralclient/api/v2/action_executions.py
--- old/python-mistralclient-3.1.1/mistralclient/api/v2/action_executions.py    
2017-07-25 08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/mistralclient/api/v2/action_executions.py    
2017-09-08 00:17:49.000000000 +0200
@@ -13,9 +13,12 @@
 #    limitations under the License.
 
 import json
+import six
 
 from mistralclient.api import base
 
+urlparse = six.moves.urllib.parse
+
 
 class ActionExecution(base.Resource):
     resource_name = 'ActionExecution'
@@ -66,15 +69,20 @@
     def list(self, task_execution_id=None, limit=None):
         url = '/action_executions'
 
-        qparams = {}
-
         if task_execution_id:
             url = '/tasks/%s/action_executions' % task_execution_id
 
+        url += "%s"
+
+        qparams = {}
+
         if limit:
             qparams['limit'] = limit
 
-        return self._list(url, response_key='action_executions')
+        query_string = ("?%s" % urlparse.urlencode(list(qparams.items()))
+                        if qparams else "")
+
+        return self._list(url % query_string, response_key='action_executions')
 
     def get(self, id):
         self._ensure_not_empty(id=id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/auth/keycloak.py 
new/python-mistralclient-3.1.3/mistralclient/auth/keycloak.py
--- old/python-mistralclient-3.1.1/mistralclient/auth/keycloak.py       
2017-07-25 08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/mistralclient/auth/keycloak.py       
2017-09-08 00:17:49.000000000 +0200
@@ -13,8 +13,11 @@
 #    limitations under the License.
 
 import logging
+import os
 import pprint
+
 import requests
+from six.moves import urllib
 
 from mistralclient import auth
 
@@ -111,11 +114,13 @@
 
         return response
 
+    @staticmethod
     def _authenticate_with_token(auth_url, client_id, client_secret,
                                  auth_token, cacert=None, insecure=None):
         # TODO(rakhmerov): Implement.
         raise NotImplementedError
 
+    @staticmethod
     def _authenticate_with_password(auth_url, client_id, client_secret,
                                     realm_name, username, password,
                                     cacert=None, insecure=None):
@@ -124,6 +129,10 @@
             (auth_url, realm_name)
         )
 
+        verify = None
+        if urllib.parse.urlparse(access_token_endpoint).scheme == "https":
+            verify = False if insecure else cacert
+
         client_auth = (client_id, client_secret)
 
         body = {
@@ -137,7 +146,7 @@
             access_token_endpoint,
             auth=client_auth,
             data=body,
-            verify=not insecure
+            verify=verify
         )
 
         try:
@@ -151,6 +160,24 @@
         return resp.json()['access_token']
 
 
+def get_system_ca_file():
+    """Return path to system default CA file."""
+    # Standard CA file locations for Debian/Ubuntu, RedHat/Fedora,
+    # Suse, FreeBSD/OpenBSD, MacOSX, and the bundled ca
+    ca_path = ['/etc/ssl/certs/ca-certificates.crt',
+               '/etc/pki/tls/certs/ca-bundle.crt',
+               '/etc/ssl/ca-bundle.pem',
+               '/etc/ssl/cert.pem',
+               '/System/Library/OpenSSL/certs/cacert.pem',
+               requests.certs.where()]
+    for ca in ca_path:
+        LOG.debug("Looking for ca file %s", ca)
+        if os.path.exists(ca):
+            LOG.debug("Using ca file %s", ca)
+            return ca
+    LOG.warning("System ca file could not be found.")
+
+
 # An example of using KeyCloak OpenID authentication.
 if __name__ == '__main__':
     print("Using username/password to get access token from KeyCloak...")
@@ -158,13 +185,15 @@
     auth_handler = KeycloakAuthHandler()
 
     a_token = auth_handler.authenticate(
-        "https://my.keycloak:8443/auth";,
-        client_id="mistral_client",
-        client_secret="4a080907-921b-409a-b793-c431609c3a47",
-        realm_name="mistral",
-        username="user",
-        password="secret",
-        insecure=True
+        dict(
+            "https://my.keycloak:8443/auth";,
+            client_id="mistral_client",
+            client_secret="4a080907-921b-409a-b793-c431609c3a47",
+            realm_name="mistral",
+            username="user",
+            password="secret",
+            insecure=True
+        )
     )
 
     print("Access token: %s" % a_token)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/commands/v2/action_executions.py 
new/python-mistralclient-3.1.3/mistralclient/commands/v2/action_executions.py
--- 
old/python-mistralclient-3.1.1/mistralclient/commands/v2/action_executions.py   
    2017-07-25 08:08:07.000000000 +0200
+++ 
new/python-mistralclient-3.1.3/mistralclient/commands/v2/action_executions.py   
    2017-09-08 00:17:50.000000000 +0200
@@ -154,6 +154,7 @@
             action_input = utils.load_json(parsed_args.input)
 
         mistral_client = self.app.client_manager.workflow_engine
+
         action_ex = mistral_client.action_executions.create(
             parsed_args.name,
             action_input,
@@ -196,10 +197,14 @@
     def _get_resources(self, parsed_args):
         if parsed_args.limit is None:
             parsed_args.limit = base.DEFAULT_LIMIT
-            LOG.info("limit is set to %s by default. Set "
-                     "the limit explicitly using \'--limit\', if required. "
-                     "Use \'--limit\' -1 to fetch the full result set.",
-                     base.DEFAULT_LIMIT)
+
+            LOG.info(
+                "limit is set to %s by default. Set "
+                "the limit explicitly using \'--limit\', if required. "
+                "Use \'--limit\' -1 to fetch the full result set.",
+                base.DEFAULT_LIMIT
+            )
+
         mistral_client = self.app.client_manager.workflow_engine
 
         return mistral_client.action_executions.list(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/commands/v2/executions.py 
new/python-mistralclient-3.1.3/mistralclient/commands/v2/executions.py
--- old/python-mistralclient-3.1.1/mistralclient/commands/v2/executions.py      
2017-07-25 08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/mistralclient/commands/v2/executions.py      
2017-09-08 00:17:50.000000000 +0200
@@ -126,10 +126,14 @@
     def _get_resources(self, parsed_args):
         if parsed_args.limit is None:
             parsed_args.limit = base.DEFAULT_LIMIT
-            LOG.info("limit is set to %s by default. Set "
-                     "the limit explicitly using \'--limit\', if required. "
-                     "Use \'--limit\' -1 to fetch the full result set.",
-                     base.DEFAULT_LIMIT)
+
+            LOG.info(
+                "limit is set to %s by default. Set "
+                "the limit explicitly using \'--limit\', if required. "
+                "Use \'--limit\' -1 to fetch the full result set.",
+                base.DEFAULT_LIMIT
+            )
+
         mistral_client = self.app.client_manager.workflow_engine
 
         return mistral_client.executions.list(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/commands/v2/tasks.py 
new/python-mistralclient-3.1.3/mistralclient/commands/v2/tasks.py
--- old/python-mistralclient-3.1.1/mistralclient/commands/v2/tasks.py   
2017-07-25 08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/mistralclient/commands/v2/tasks.py   
2017-09-08 00:17:50.000000000 +0200
@@ -97,10 +97,14 @@
     def _get_resources(self, parsed_args):
         if parsed_args.limit is None:
             parsed_args.limit = base.DEFAULT_LIMIT
-            LOG.info("limit is set to %s by default. Set "
-                     "the limit explicitly using \'--limit\', if required. "
-                     "Use \'--limit\' -1 to fetch the full result set.",
-                     base.DEFAULT_LIMIT)
+
+            LOG.info(
+                "limit is set to %s by default. Set "
+                "the limit explicitly using \'--limit\', if required. "
+                "Use \'--limit\' -1 to fetch the full result set.",
+                base.DEFAULT_LIMIT
+            )
+
         mistral_client = self.app.client_manager.workflow_engine
 
         return mistral_client.tasks.list(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/tests/functional/cli/v2/cli_tests_v2.py
 
new/python-mistralclient-3.1.3/mistralclient/tests/functional/cli/v2/cli_tests_v2.py
--- 
old/python-mistralclient-3.1.1/mistralclient/tests/functional/cli/v2/cli_tests_v2.py
        2017-07-25 08:08:07.000000000 +0200
+++ 
new/python-mistralclient-3.1.3/mistralclient/tests/functional/cli/v2/cli_tests_v2.py
        2017-09-08 00:17:50.000000000 +0200
@@ -1252,14 +1252,35 @@
         )
 
         wf_name = self.get_field_value(act_ex, 'Workflow name')
-        status = self.get_field_value(act_ex, 'State')
+        state = self.get_field_value(act_ex, 'State')
 
         self.assertEqual(
             act_ex_from_list['ID'],
             self.get_field_value(act_ex, 'ID')
         )
         self.assertEqual(self.direct_wf['Name'], wf_name)
-        self.assertEqual('SUCCESS', status)
+        self.assertEqual('SUCCESS', state)
+
+    def test_act_execution_list_with_limit(self):
+        self.wait_execution_success(self.direct_ex_id)
+
+        act_execs = self.mistral_admin('action-execution-list')
+
+        # The workflow execution started in setUp()
+        # generates 2 action executions.
+        self.assertGreater(len(act_execs), 1)
+
+        act_execs = self.mistral_admin(
+            'action-execution-list',
+            params="--limit 1"
+        )
+
+        self.assertEqual(len(act_execs), 1)
+
+        act_ex = act_execs[0]
+
+        self.assertEqual(self.direct_wf['Name'], act_ex['Workflow name'])
+        self.assertEqual('SUCCESS', act_ex['State'])
 
     def test_act_execution_create_delete(self):
         action_ex = self.mistral_admin(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/mistralclient/tests/unit/v2/test_action_executions.py
 
new/python-mistralclient-3.1.3/mistralclient/tests/unit/v2/test_action_executions.py
--- 
old/python-mistralclient-3.1.1/mistralclient/tests/unit/v2/test_action_executions.py
        2017-07-25 08:08:07.000000000 +0200
+++ 
new/python-mistralclient-3.1.3/mistralclient/tests/unit/v2/test_action_executions.py
        2017-09-08 00:17:49.000000000 +0200
@@ -24,7 +24,6 @@
     'state': 'RUNNING',
 }
 
-
 URL_TEMPLATE = '/action_executions'
 URL_TEMPLATE_ID = '/action_executions/%s'
 
@@ -94,6 +93,21 @@
 
         self.assertEqual(expected, action_execution.to_dict())
 
+    def test_list_with_limit(self):
+        self.requests_mock.get(
+            self.TEST_URL + URL_TEMPLATE,
+            json={'action_executions': [ACTION_EXEC]}
+        )
+
+        action_execution_list = self.action_executions.list(limit=1)
+
+        self.assertEqual(1, len(action_execution_list))
+
+        last_request = self.requests_mock.last_request
+
+        # Make sure that limit is passed to the server correctly.
+        self.assertEqual(['1'], last_request.qs['limit'])
+
     def test_get(self):
         url = self.TEST_URL + URL_TEMPLATE_ID % ACTION_EXEC['id']
         self.requests_mock.get(url, json=ACTION_EXEC)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/python_mistralclient.egg-info/PKG-INFO 
new/python-mistralclient-3.1.3/python_mistralclient.egg-info/PKG-INFO
--- old/python-mistralclient-3.1.1/python_mistralclient.egg-info/PKG-INFO       
2017-07-25 08:11:25.000000000 +0200
+++ new/python-mistralclient-3.1.3/python_mistralclient.egg-info/PKG-INFO       
2017-09-08 00:21:46.000000000 +0200
@@ -1,11 +1,12 @@
 Metadata-Version: 1.1
 Name: python-mistralclient
-Version: 3.1.1
+Version: 3.1.3
 Summary: Mistral Client Library
 Home-page: 
http://docs.openstack.org/developer/mistral/guides/mistralclient_guide.html
 Author: OpenStack
 Author-email: [email protected]
 License: Apache Software License
+Description-Content-Type: UNKNOWN
 Description: ========================
         Team and repository tags
         ========================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/python-mistralclient-3.1.1/python_mistralclient.egg-info/pbr.json 
new/python-mistralclient-3.1.3/python_mistralclient.egg-info/pbr.json
--- old/python-mistralclient-3.1.1/python_mistralclient.egg-info/pbr.json       
2017-07-25 08:11:25.000000000 +0200
+++ new/python-mistralclient-3.1.3/python_mistralclient.egg-info/pbr.json       
2017-09-08 00:21:46.000000000 +0200
@@ -1 +1 @@
-{"git_version": "0f28372", "is_release": true}
\ No newline at end of file
+{"git_version": "c33d39c", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-mistralclient-3.1.1/test-requirements.txt 
new/python-mistralclient-3.1.3/test-requirements.txt
--- old/python-mistralclient-3.1.1/test-requirements.txt        2017-07-25 
08:08:07.000000000 +0200
+++ new/python-mistralclient-3.1.3/test-requirements.txt        2017-09-08 
00:17:50.000000000 +0200
@@ -11,4 +11,4 @@
 tempest>=16.1.0 # Apache-2.0
 osprofiler>=1.4.0 # Apache-2.0
 reno!=2.3.1,>=1.8.0 # Apache-2.0
-openstackdocstheme>=1.11.0 # Apache-2.0
+openstackdocstheme>=1.16.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-mistralclient-3.1.1/tox.ini 
new/python-mistralclient-3.1.3/tox.ini
--- old/python-mistralclient-3.1.1/tox.ini      2017-07-25 08:08:07.000000000 
+0200
+++ new/python-mistralclient-3.1.3/tox.ini      2017-09-08 00:17:50.000000000 
+0200
@@ -5,7 +5,7 @@
 
 [testenv]
 usedevelop = True
-install_command = {toxinidir}/tools/tox_install.sh 
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
 {opts} {packages}
+install_command = {toxinidir}/tools/tox_install.sh 
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike}
 {opts} {packages}
 setenv =
     VIRTUAL_ENV={envdir}
     NOSE_WITH_OPENSTACK=1


Reply via email to