Add default limit for container/object

Default container name length less than or equal to 256 in link[1],
as the same time,default object name length less than or equal to 1024
in link[2]. Thereforce, I check the length of container and object in take_action.
and if it's greater than 256/1024 I warn the user.

[1] https://github.com/openstack/swift/blob/master/swift/common/constraints.py#L39
[2] https://github.com/openstack/swift/blob/master/swift/common/constraints.py#L35

Change-Id: I304b77cbc464eaba041321654cc29248cbe4b9a6
This commit is contained in:
zheng yin 2016-09-23 19:42:40 +08:00
parent 465a5d08e0
commit 9912fdd7ff
2 changed files with 21 additions and 0 deletions

View File

@ -15,11 +15,18 @@
"""Container v1 action implementations"""
import logging
from osc_lib.cli import parseractions
from osc_lib.command import command
from osc_lib import utils
import six
from openstackclient.i18n import _
LOG = logging.getLogger(__name__)
class CreateContainer(command.Lister):
"""Create new container"""
@ -38,6 +45,10 @@ class CreateContainer(command.Lister):
results = []
for container in parsed_args.containers:
if len(container) > 256:
LOG.warning(
_('Container name is %s characters long, the default limit'
' is 256'), len(container))
data = self.app.client_manager.object_store.container_create(
container=container,
)

View File

@ -15,12 +15,18 @@
"""Object v1 action implementations"""
import logging
from osc_lib.cli import parseractions
from osc_lib.command import command
from osc_lib import utils
import six
from openstackclient.i18n import _
LOG = logging.getLogger(__name__)
class CreateObject(command.Lister):
"""Upload object to container"""
@ -44,6 +50,10 @@ class CreateObject(command.Lister):
results = []
for obj in parsed_args.objects:
if len(obj) > 1024:
LOG.warning(
_('Object name is %s characters long, default limit'
' is 1024'), len(obj))
data = self.app.client_manager.object_store.object_create(
container=parsed_args.container,
object=obj,