diff --git a/mistralclient/api/httpclient.py b/mistralclient/api/httpclient.py index f355cca6..83bdf28c 100644 --- a/mistralclient/api/httpclient.py +++ b/mistralclient/api/httpclient.py @@ -178,7 +178,10 @@ class HTTPClient(object): headers['X-Target-User-Id'] = self.target_user_id if self.target_insecure: - headers['X-Target-Insecure'] = self.target_insecure + # Note(akovi): due to changes in requests, this parameter + # must be a string. Basically, it is a truthy value on + # the server side. + headers['X-Target-Insecure'] = str(self.target_insecure) if self.target_region_name: headers['X-Target-Region-Name'] = self.target_region_name diff --git a/mistralclient/tests/functional/cli/v2/cli_tests_v2.py b/mistralclient/tests/functional/cli/v2/cli_tests_v2.py index 18a384a2..9ad9525f 100644 --- a/mistralclient/tests/functional/cli/v2/cli_tests_v2.py +++ b/mistralclient/tests/functional/cli/v2/cli_tests_v2.py @@ -2038,3 +2038,21 @@ class NegativeCLITests(base_v2.MistralClientTestBase): 'action-execution-update', params='%s ERROR' % direct_ex_id ) + + def test_target_action_execution(self): + command = ( + '--debug ' + '--os-target-tenant-name={tenantname} ' + '--os-target-username={username} ' + '--os-target-password="{password}" ' + '--os-target-auth-url="{auth_url}" ' + '--target_insecure ' + 'run-action heat.stacks_list' + ).format( + tenantname=self.clients.tenant_name, + username=self.clients.username, + password=self.clients.password, + auth_url=self.clients.uri + ) + + self.mistral_alt_user(cmd=command) diff --git a/mistralclient/tests/unit/test_httpclient.py b/mistralclient/tests/unit/test_httpclient.py index dba27680..68806cdd 100644 --- a/mistralclient/tests/unit/test_httpclient.py +++ b/mistralclient/tests/unit/test_httpclient.py @@ -162,7 +162,7 @@ class HTTPClientTest(base.BaseClientTest): self.assertEqual(target_auth_token, headers['X-Target-Auth-Token']) self.assertEqual(target_user_id, headers['X-Target-User-Id']) self.assertEqual(target_project_id, headers['X-Target-Project-Id']) - self.assertEqual(target_insecure, headers['X-Target-Insecure']) + self.assertEqual(str(target_insecure), headers['X-Target-Insecure']) self.assertEqual(target_region, headers['X-Target-Region-Name']) self.assertEqual(target_user_domain_name, headers['X-Target-User-Domain-Name'])