apache / apache/libcloud

RecordType.URL should be RecordType.URI

オープン
#1,523 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
stale
主要言語
Python
スター
2.1k
フォーク
931
平均マージ
1日 2時間
マージ済み PR(30日)
4

説明

## Summary

`libcloud.dns.types` defines a RecordType 'URL'. However, no such RR Type exists in DNS. Likely, this is supposed to refer to the 'URI' RR Type.

## Detailed Information

The authoritative list of DNS RR types is https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml. There is no 'URL' RR type in this list. There is a 'URI' RR type in this list, as defined in [RFC 7553](https://tools.ietf.org/html/rfc7553)

This RecordType is defined in 4 places in libcloud:

[libcloud.dns.types, line 112](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/types.py#L112):
```
URL = 'URL'
```

[libcloud.dns.drivers.cloudflare, line 171](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/cloudflare.py#L171): [sic!]
```
RecordType.URL: 'LOC'
```
According to the [Cloudflare API documentation](https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record), the correct name should indeed be `'URI'`.

[libcloud.dns.drivers.dnsimple, line 57](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/dnsimple.py#L57)
```
RecordType.URL: 'URL',
```
This seems correct. [DNSsimple indeed has a proprietory URL record](https://support.dnsimple.com/articles/url-record/).

[`libcloud.dns.drivers.zerigo`, line 142](https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/zerigo.py#L142)
```
RecordType.URL: 'URL',
```
http://www.zerigo.com gives an error. I get the impression this API is no longer functional.

Suggested Resolution
-----------

~~My suggestion is to change these occurrences into `'URI'`~~
I stand corrected, DNSsimple does indeed has a proprietory URL record type. However, Cloudflare does not.
My suggestion is to either remove support for the URI RR type at Cloudflare (it will likely not have worked due to the incorrect `'LOC'` string), or to add support for the URI RR type next to the (unofficial) URL RR type.

I'm happy to create a PR once there is consensus about the best approach to fix this.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

libcloud/dns/types.py と、issue で挙げられている Cloudflare、DNSimple、Zerigo の driver mappings を確認し、各プロバイダーがドキュメントで定義している record types と比較します。URL と URI に関するプロバイダー固有の挙動を解決し、Cloudflare の不整合な mapping またはサポート対象の record definitions を修正します。mappings が挙げられているプロバイダーの API と DNS standards を正確に反映していれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。