ecTopology

Content Platform Tenant Management Help

Version
9.7.x
File Size
4269 KB
Audience
anonymous
Part Number
MK-95HCPH002-19

The ecTopology data type describes the ecTopologies resource.

ecTopology data type properties

The following table describes the properties included in the ecTopology data type.

Property name Data type Description Notes
description String

Specifies the description of the erasure coding topology. This description is optional. The default is no description.

To remove the description from an existing erasure coding topology, specify the description property with no value.

This property is optional on a PUT request.
erasureCodedObjects Long Specifies the number of objects and parts of multipart objects on the local HCP system that were erasure coded according to this erasure coding topology. An object is counted as erasure coded if a chunk for it is stored on the system. This property is not valid on a PUT or POST request. It is returned only by a verbose GET request.
erasureCodingDelay Integer Specifies the erasure coding delay for the erasure coding topology as a number of days. Valid values are integers in the range zero through 3,650. The default is zero. This property is optional on a PUT request.
fullCopy Boolean

Specifies whether the erasure coding topology uses full-copy distribution or chunk distribution. Valid values are:

true
The erasure coding topology uses full-copy distribution.
false
The erasure coding topology uses chunk distribution.

The default is false.

This property is optional on a PUT request.
hcpSystems List Lists the HCP systems that are included in the erasure coding topology. Each system is identified by the fully qualified name of the domain associated with the [[hcp_system]] network on that system.

This property is not valid on a PUT or POST request.

In XML, the element that identifies each system is name. In JSON, the name in the name/value pair that lists the systems is name.

id String Specifies the ID for the erasure coding topology. This property is not valid on a PUT or POST request. It is returned only by a verbose GET request.
minimumObjectSize Long

Specifies the minimum size for objects to be erasure coded. Valid values are:

  • 4096
  • 16384
  • 32768
  • 65536
  • 131072
  • 262144
  • 524288
  • 1048576

The default is 4096.

This property is optional on a PUT request.
name String Specifies the name of the erasure coding topology. The name must be from one through 64 characters long and can contain any valid UTF-8 characters, including white space. Erasure coding topology names are not case sensitive. This property is required on a PUT request.
protectionStatus String

Specifies the current status of the erasure coding topology with respect to how well-protected erasure-coded objects are. Possible values are:

BROKEN
Two or more systems in the topology are unavailable. Objects erasure coded according to the topology are inaccessible and are not protected.
HEALTHY
All systems in the topology are available. Objects erasure coded according to the topology can be read and are fully protected.
RETIRED
The topology has finished retiring.
RETIRING
The topology is in the process of retiring.
UNKNOWN
HCP cannot determine the protection status.
VULNERABLE
One system in the topology is unavailable, and the loss of a link or suspension of activity on a link would prevent an additional system from receiving data or chunks for newly ingested objects. Objects erasure coded according to the topology can be read but are not fully protected.
This property is not valid on a PUT or POST request.
readStatus String

Specifies the current status of the erasure coding topology with respect to the ability to read erasure-coded objects. Possible values are:

BROKEN
Two or more systems in the topology are unavailable. Objects erasure coded according to the topology are inaccessible.
HEALTHY
All systems in the topology are available. Objects erasure coded according to the topology can be read.
RETIRED
The topology has finished retiring.
UNKNOWN
HCP cannot determine the read status.
VULNERABLE
One system in the topology is unavailable. Objects erasure-coded according to the topology can be read, but the loss of a link would cause those objects to become inaccessible.
This property is not valid on a PUT or POST request.
replicationLinks replication Links

Specifies the replication links included in the erasure coding topology.

This property is required on a PUT request. It is not valid on a POST request.

The properties returned for each replication link in response to a GET request for an erasure coding topology depend on whether the request includes the verbose=true query parameter.

restorePeriod Integer Specifies the restore period for the erasure coding topology as a number of days. Valid values are integers in the range zero through 180. The default is zero This property is optional on a PUT request.
state String

Specifies the state of the erasure coding topology. Possible values are:

ACTIVE
The topology is currently being used to erasure-code newly ingested objects that are subject to erasure coding.
RETIRED
The topology is retired.
RETIRING
The topology is in the process of retiring.
This property is not valid on a PUT or POST request.
tenants List Lists the tenants included in the erasure coding topology.

This property is not valid on a PUT or POST request.

In XML, the element that identifies each tenant is name. In JSON, the name in the name/value pair that lists the tenants is name.

type String

Specifies the type of the underlying replication topology. Valid values for an erasure coding topology with four, five, or six systems are:

FULLY_CONNECTED
The erasure coding topology is based on a fully connected active/active replication topology.
RING
The erasure coding topology is based on an active/active replication ring topology.

For an erasure coding topology with three systems, the value of this property must be FULLY_CONNECTED.

These values are not case-sensitive.

This property is required on a PUT request. It is not valid on a POST request.

Example

Here's an XML example of the ecTopology data type; the properties shown are those that are returned in response to a verbose GET request:

<ecTopology>
    <description>Erasure coding topology for the US, Europe, Canada, and
        Africa-North divisions.</description>
    <erasureCodedObjects>3289</erasureCodedObjects>
    <erasureCodingDelay>10</erasureCodingDelay>
    <fullCopy>false</fullCopy>
    <hcpSystems>
        <name>hcp-an.example.com</name>
        <name>hcp-ca.example.com</name>
        <name>hcp-eu.example.com</name>
        <name>hcp-us.example.com</name>
    </hcpSystems>
    <id>faa9b2e5-a8b0-4211-ac83-6a25dff50800</id>
    <minimumObjectSize>4096</minimumObjectSize>
    <name>ex-corp-4</name>
    <protectionStatus>HEALTHY</protectionStatus>
    <readStatus>HEALTHY</readStatus>
    <replicationLinks>
        <replicationLink>
            <hcpSystems>
                <name>hcp-ca.example.com</name>
                <name>hcp-eu.example.com</name>
            </hcpSystems>
            <name>eu-ca</name>
            <pausedTenantsCount>0</pausedTenantsCount>
            <state>HEALTHY</state>
            <uuid>7ae4101c-6e29-426e-ae71-9a7a529f019d</uuid>
        </replicationLink>
        <replicationLink>
            <hcpSystems>
                <name>hcp-eu.example.com</name>
                <name>hcp-us.example.com</name>
            </hcpSystems>
            <name>us-eu</name>
            <pausedTenantsCount>0</pausedTenantsCount>
            <state>HEALTHY</state>
            <uuid>32871da5-2355-458a-90f5-1717aa684d6f</uuid>
        </replicationLink>
        <replicationLink>
            <hcpSystems>
                <name>hcp-an.example.com</name>
                <name>hcp-us.example.com</name>
            </hcpSystems>
            <name>us-an</name>
            <pausedTenantsCount>0</pausedTenantsCount>
            <state>HEALTHY</state>
            <uuid>c8c875ad-dbfe-437d-abd3-862a6c719894</uuid>
        </replicationLink>
        <replicationLink>
            <hcpSystems>
                <name>hcp-an.example.com</name>
                <name>hcp-ca.example.com</name>
            </hcpSystems>
            <name>ca-an</name>
            <pausedTenantsCount>0</pausedTenantsCount>
            <state>HEALTHY</state>
            <uuid>a1f21e03-fb46-48cc-967e-b0cedf80bb20</uuid>
        </replicationLink>
    </replicationLinks>
    <restorePeriod>5</restorePeriod>
    <state>ACTIVE</state>
    <tenants>
        <name>research-dev</name>
        <name>sales-mktg</name>
        <name>exec</name>
        <name>finance</name>
    </tenants>
    <type>RING</type>
</ecTopology>

Query parameter for retiring an erasure coding topology

You use the retire query parameter to retire an erasure coding topology. You use this parameter on a POST request against the topology resource. You cannot include a request body with this request.

Here's a sample POST request that retires the erasure coding topology named ex-corp-3.

curl -k -d "<ecTopology/>"
    -H "Authorization: HCP bGdyZWVu:35dc4c4aa08fe0deab7e292e00eb8e97"
    "https://admin.hcp-us.example.com:9090/mapi/services/erasureCoding/
        ecTopologies/ex-corp-3?retire"

Query parameter for forcing the deletion of an erasure coding topology

You can delete an erasure coding topology only while either of these is true:

  • At least one system in the topology is available, the total number of erasure-coded objects and erasure-coded parts of multipart objects on each available system is zero, and the state of the topology is retired. These are the normal conditions for deleting a topology.
  • No more than one system in the topology is unavailable, the total number of erasure-coded objects and erasure-coded parts of multipart objects on each available system is zero, and the state of the topology is retiring. To delete the topology under these conditions, you need to include the force=true query parameter on the DELETE request.
Important: Deleting an erasure coding topology under these conditions may result in inaccessible data in namespaces on the unavailable system, even if those namespaces are configured to be compliant. You should delete the topology only if that system is no longer needed. If the system is still needed, wait to delete the topology until the topology has finished retiring on all systems.

Here's a sample DELETE request that deletes the erasure coding topology named ex-corp-3 while the topology meets the second set of conditions listed above:

curl -k -X DELETE
    -H "Authorization: HCP bGdyZWVu:35dc4c4aa08fe0deab7e292e00eb8e97"
    "https://admin.hcp-us.example.com:9090/mapi/services/erasureCoding/
        ecTopologies/ex-corp-3?force=true"