4450e7ba31
If you pass unicode multi-byte character to 'hypervisor-list' and 'instance-usage-audit-log' commands using --matching and --before options respectively, it returns keyerror. This patch fixes these issues by encoding the host name and date passed to the --matching and --before options respectively. Closes-Bug: #1804156 Change-Id: I9587af7e0fdd921fcaebe3e5c6c5bb40a9393e01
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
# Copyright 2013 Rackspace Hosting
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from oslo_utils import encodeutils
|
|
import six
|
|
from six.moves.urllib import parse
|
|
|
|
from novaclient import base
|
|
|
|
|
|
class InstanceUsageAuditLog(base.Resource):
|
|
pass
|
|
|
|
|
|
class InstanceUsageAuditLogManager(base.Manager):
|
|
resource_class = InstanceUsageAuditLog
|
|
|
|
def get(self, before=None):
|
|
"""Get server usage audits.
|
|
|
|
:param before: Filters the response by the date and time
|
|
before which to list usage audits.
|
|
"""
|
|
if before:
|
|
if six.PY2:
|
|
before = encodeutils.safe_encode(before)
|
|
return self._get('/os-instance_usage_audit_log/%s' %
|
|
parse.quote(before, safe=''),
|
|
'instance_usage_audit_log')
|
|
else:
|
|
return self._get('/os-instance_usage_audit_log',
|
|
'instance_usage_audit_logs')
|