Enabling object versioning

To enable object versioning, use the following steps.

Note: Object versioning is only supported with objects stored in traditional Swift object storage format. Containers which store their objects in unified file and object storage policies cannot be used with object versioning.
  1. Add the section filter:versioned_writes to the proxy-server.conf file:
    1. To determine whether the section is present in the file, run the following command:
      mmobj config list --ccrfile proxy-server.conf --section "filter:versioned_writes"
      The command displays output similar to this output when the section is present:
      [filter:versioned_writes]
      use = egg:swift#versioned_writes
      
    2. If the section is not present, run the following command to add it:
      mmobj config change --ccrfile proxy-server.conf --section "filter:versioned_writes" --property "use" --value "egg:swift#versioned_writes"
  2. To set the filter:versioned_writes attribute to true, run the following command:
    mmobj config change --ccrfile proxy-server.conf --section "filter:versioned_writes" --property "allow_versioned_writes" --value "true"
  3. Add the versioned_writes module to the proxy-server pipeline:
    1. To determine whether the module is present in the pipeline, run the following command:
      mmobj config list --ccrfile proxy-server.conf --section "pipeline:main" --property "pipeline"
      The command displays the pipeline module list as in the following example:
      pipeline = healthcheck cache . . . slo dlo versioned_writes proxy-server
    2. If the versioned_writes module is not included in the pipeline module list, add it to the pipeline immediately before the proxy-server module.
      To add it to the pipeline, run the mmobj command. Make sure that the command is all on one line when you enter it:
      mmobj config change --ccrfile proxy-server.conf --section "pipeline:main" --property "pipeline" --value "healthcheck
           cache ... slo dlo versioned_writes proxy-server"
      This command is an example. When you run the command on your system, follow these steps:
      1. In the --value parameter, specify the actual list of pipeline modules that are displayed on your system in the output when you determine whether the module is present in the pipeline. Enclose the list in double quotation marks.
      2. In the list of pipeline modules that you specify, insert the versioned_writes pipeline module immediately before the proxy-server module.