Onedata API Reference

REST API references for Onezone, Oneprovider, and Onepanel.

Check correctness of DNS entries for the cluster's domain

GET /dns_check

Returns results of the last DNS check, verifying the validity of DNS configuration for cluster's domain. Unless 'forceCheck' flag is set, the results may be cached.

Both Oneprovider and Onezone return field domain for checking if cluster's domain can be resolved.

In Oneprovider there may be additional field oneS3Subdomain for checking if OneS3 domain can be resolved if said service is enabled.

In Onezone there is additional field dnsZone for checking whether DNS zone management for the Onezone's domain has been delegated to Onezone server (SOA and NS records) allowing for subdomain delegation.

If the cluster is configured with an IP instead of a domain no results are returned.

Settings used for the check, ie. DNS servers used can be modified using the dns_check/configuration endpoint.

Query parameters

Parameter Type & Description
forceCheck
boolean

If true the DNS check cache is overridden and check is performed during handling of the request.

Request Examples

Shell
onepanel-rest-cli -u onepanel:$PASSPHRASE checkDns --host https://$PANEL_HOST:9443

Responses

application/json
200

The DNS check summary.

PropertyType & Description
domain
object (DnsCheckResult)

Describes results obtained from a DNS check. DNS check involves querying DNS servers to ensure publicly visible records match expected values.

summary required
string

An interpretation of results obtained from DNS check. Possible values are: 'unresolvable' - query returned empty results; 'missing_records' - only some of the expected results were returned; 'bad_records' - none of the expected results were returned; 'ok' - all of expected values were present in obtained results.

Enum:
unresolvablemissing_recordsbad_recordsok
expected required
array of strings

List of expected query results.

got required
array of strings

List of obtained query results.

recommended required
array of strings

List of suggested DNS records to set at your DNS provider to fulfill this check. Each record is provided in the format of BIND server.

oneS3Subdomain
object (DnsCheckResult)

Describes results obtained from a DNS check. DNS check involves querying DNS servers to ensure publicly visible records match expected values.

summary required
string

An interpretation of results obtained from DNS check. Possible values are: 'unresolvable' - query returned empty results; 'missing_records' - only some of the expected results were returned; 'bad_records' - none of the expected results were returned; 'ok' - all of expected values were present in obtained results.

Enum:
unresolvablemissing_recordsbad_recordsok
expected required
array of strings

List of expected query results.

got required
array of strings

List of obtained query results.

recommended required
array of strings

List of suggested DNS records to set at your DNS provider to fulfill this check. Each record is provided in the format of BIND server.

dnsZone
object (DnsCheckResult)

Describes results obtained from a DNS check. DNS check involves querying DNS servers to ensure publicly visible records match expected values.

summary required
string

An interpretation of results obtained from DNS check. Possible values are: 'unresolvable' - query returned empty results; 'missing_records' - only some of the expected results were returned; 'bad_records' - none of the expected results were returned; 'ok' - all of expected values were present in obtained results.

Enum:
unresolvablemissing_recordsbad_recordsok
expected required
array of strings

List of expected query results.

got required
array of strings

List of obtained query results.

recommended required
array of strings

List of suggested DNS records to set at your DNS provider to fulfill this check. Each record is provided in the format of BIND server.

timestamp
string

Time at which the DNS check was perfmormed. Formatted according to ISO 8601.

Example

application/json
{
  "timestamp": "2018-10-20T21:39:37",
  "domain": {
    "summary": "ok",
    "expected": [
      "10.11.12.13"
    ],
    "got": [
      "10.11.12.13"
    ]
  },
  "dnsZone": {
    "summary": "bad_records",
    "expected": [
      "10.11.12.13"
    ],
    "got": [
      "100.100.102.102"
    ]
  }
}
401

Unauthorized request.

403

Forbidden request.

404

Cluster not yet deployed.

500

Internal server error.

PropertyType & Description
error
object (ErrorDetails)

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}