diff --git a/keystoneauth1/session.py b/keystoneauth1/session.py index d0794e93..317324e2 100644 --- a/keystoneauth1/session.py +++ b/keystoneauth1/session.py @@ -623,14 +623,14 @@ class Session(object): elif self.app_name: agent.append(self.app_name) - for additional in self.additional_user_agent: - agent.append('%s/%s' % additional) - if client_name and client_version: agent.append('%s/%s' % (client_name, client_version)) elif client_name: agent.append(client_name) + for additional in self.additional_user_agent: + agent.append('%s/%s' % additional) + if not agent: # NOTE(jamielennox): determine_user_agent will return an empty # string on failure so checking for None will ensure it is only diff --git a/keystoneauth1/tests/unit/test_session.py b/keystoneauth1/tests/unit/test_session.py index 5aa0ccba..c411f83f 100644 --- a/keystoneauth1/tests/unit/test_session.py +++ b/keystoneauth1/tests/unit/test_session.py @@ -1307,7 +1307,7 @@ class AdapterTest(utils.TestCase): adap.get(url) - agent = 'ksatest/1.2.3 one/1.1.1 two/2.2.2 testclient/4.5.6' + agent = 'ksatest/1.2.3 testclient/4.5.6 one/1.1.1 two/2.2.2' self.assertEqual(agent + ' ' + client_session.DEFAULT_USER_AGENT, self.requests_mock.last_request.headers['User-Agent'])