'Update the group.
Expected format of the input parameter \'body\':
.. code-block:: json
"group":
"name": "my_group",
"description": "My group",
"add_volumes": "volume-uuid-1,volume-uuid-2,...",
"remove_volumes": "volume-uuid-8,volume-uuid-9,..."'

@wsgi.Controller.api_version(GROUP_API_VERSION)
def update(self, req, id, body):

    LOG.debug('Update    called    for    group    %s.', id)
    if (not body):
        msg = _('Missing    request    body.')
        raise exc.HTTPBadRequest(explanation=msg)
    self.assert_valid_body(body, 'group')
    context = req.environ['cinder.context']
    group = body.get('group')
    self.validate_name_and_description(group)
    name = group.get('name')
    description = group.get('description')
    add_volumes = group.get('add_volumes')
    remove_volumes = group.get('remove_volumes')
    if ((name is None) and (description is None) and (not add_volumes) and (not remove_volumes)):
        msg = _('Name,    description,    add_volumes,    and    remove_volumes    can    not    be    all    empty    in    the    request    body.')
        raise exc.HTTPBadRequest(explanation=msg)
    LOG.info('Updating    group    %(id)s    with    name    %(name)s    description:    %(description)s    add_volumes:    %(add_volumes)s    remove_volumes:    %(remove_volumes)s.', {'id': id, 'name': name, 'description': description, 'add_volumes': add_volumes, 'remove_volumes': remove_volumes}, context=context)
    try:
        group = self.group_api.get(context, id)
        self._check_default_cgsnapshot_type(group.group_type_id)
        self.group_api.update(context, group, name, description, add_volumes, remove_volumes)
    except exception.GroupNotFound:
        raise
    except exception.InvalidGroup as error:
        raise exc.HTTPBadRequest(explanation=error.msg)
    return webob.Response(status_int=http_client.ACCEPTED)
