Commit Graph

55 Commits (becd626c8e63a967c8efaf4bedd957caaed37e91)

Author SHA1 Message Date
Mike Danese a05c3c0efd autogenerated 2017-04-14 10:40:57 -07:00
Justin Santa Barbara 4c0e0fc890 dnsprovider: Avoid panic if fields are nil
The aws-sdk has some helper functions which should generally be used
whenever dereferencing an AWS provided pointer, in case the pointer is
nil, which would otherwise be a panic.

Issue https://github.com/kubernetes/kops/issues/2347
2017-04-12 02:13:50 -04:00
Justin Santa Barbara 66640c7852 route53: set WithCredentialsChainVerboseErrors
Otherwise we get an error message which is confusingly written on
authentication failures.
2017-02-22 23:19:18 -05:00
Kubernetes Submit Queue c577108c06 Merge pull request #39964 from justinsb/route53_logger
Automatic merge from submit-queue (batch tested with PRs 39991, 39964)

route53 dnsprovider: add more logging

In the aws cloudprovider, we have a custom logger.  This adds the same
logger to the route53 dnsprovider.

We copy the (simple) code in anticipation that the providers are likely
to live in separate repos in future.

```release-note
federation aws: add logging of route53 calls
```
2017-02-19 19:47:36 -08:00
Kubernetes Submit Queue 8631aa2eb2 Merge pull request #39991 from justinsb/verbose_changeset_logging
Automatic merge from submit-queue

dnsprovider route53: log changeset details at v(8)

Otherwise it can be hard to know exactly what is changing and whether
the changes could be optimized, or to troubleshoot if someone were
accidentally to have a bug in their calling code.

```release-note
NONE
```
2017-02-19 19:07:17 -08:00
Justin Santa Barbara 5db0778823 dnsprovider route53: log changeset details at v(8)
Otherwise it can be hard to know exactly what is changing and whether
the changes could be optimized, or to troubleshoot if someone were
accidentally to have a bug in their calling code.
2017-02-19 17:26:16 -05:00
Justin Santa Barbara df91e00231 route53 dnsprovider: add more logging
In the aws cloudprovider, we have a custom logger.  This adds the same
logger to the route53 dnsprovider.

We copy the (simple) code in anticipation that the providers are likely
to live in separate repos in future.
2017-02-19 17:25:40 -05:00
Justin Santa Barbara fb9af639d3 dnsprovider: Expose parent objects in interfaces
This will allow us to pass e.g. a ResourceRecordChangeset, rather than a
ResourceRecordChangeset, the parent ResourceRecordSets, and the
grandparent Zone.

Laying the groundwork for simplifying / optimizing the federation logic.
2017-02-19 02:01:30 -05:00
Kubernetes Submit Queue b2ea780731 Merge pull request #39957 from justinsb/dnsprovider_upsert
Automatic merge from submit-queue

dnsprovider: Add upsert

Although Google Cloud DNS requires strict add & remove calls, most
dnsproviders actually support upsert, and an add & remove is much more
expensive (primarily because of the need to fetch the pre-image).

Add support for 'upsert' operations, which don't require the pre-image,
and simply overwrite the existing record.  This is much cheaper on
Amazon Route53, for example.

```release-note
NONE
```
2017-02-07 10:01:11 -08:00
Kubernetes Submit Queue 570d45088a Merge pull request #40197 from justinsb/route53_peekaboo
Automatic merge from submit-queue (batch tested with PRs 37617, 40197)

dnsprovider: Add direct access to Route53 data

This methods allow us to develop advanced functionality for Route53,
before we add all the functionality to the cross-provider interface.
Use of these methods should be avoided, and adding methods to the
cross-provider interfaces should be preferred.

```release-note
NONE
```
2017-02-01 20:46:38 -08:00
Justin Santa Barbara 662ba86e16 dnsprovider: Add upsert
Although Google Cloud DNS requires strict add & remove calls, most
dnsproviders actually support upsert, and an add & remove is much more
expensive (primarily because of the need to fetch the pre-image).

Add support for 'upsert' operations, which don't require the pre-image,
and simply overwrite the existing record.  This is much cheaper on
Amazon Route53, for example.
2017-01-28 22:22:00 -05:00
Kubernetes Submit Queue a931b7e238 Merge pull request #40357 from sttts/sttts-more-cutoffs-2
Automatic merge from submit-queue (batch tested with PRs 39538, 40188, 40357, 38214, 40195)

genericapiserver: cut off more dependencies – episode 2

Compare commit subjects.

approved based on #40363
2017-01-25 17:47:13 -08:00
Kubernetes Submit Queue dd4de1e7d4 Merge pull request #39956 from justinsb/dnsprovider_isempty
Automatic merge from submit-queue

dnsprovider: Add IsEmpty method

When batching changes, it is often handy to know whether a changeset
IsEmpty, and thus does not need to be Apply-ed.

```release-note
NONE
```
2017-01-25 15:07:32 -08:00
Dr. Stefan Schimanski a0137e9b28 Update generated files 2017-01-25 19:49:45 +01:00
Dr. Stefan Schimanski d7eb3b6870 pkg/util: move uuid and strategicpatch into k8s.io/apimachinery 2017-01-25 19:45:09 +01:00
Clayton Coleman be6d2933df
refactor: Move *Options references to metav1 2017-01-24 13:41:51 -05:00
Justin Santa Barbara 176dfa3109 dnsprovider: Add direct access to Route53 data
This methods allow us to develop advanced functionality for Route53,
before we add all the functionality to the cross-provider interface.
Use of these methods should be avoided, and adding methods to the
cross-provider interfaces should be preferred.
2017-01-20 01:20:35 -05:00
Justin Santa Barbara 5d740dce6a dnsprovider: Add IsEmpty method
When batching changes, it is often handy to know whether a changeset
IsEmpty, and thus does not need to be Apply-ed.
2017-01-16 10:25:54 -05:00
Jeff Grafton 20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
Mike Danese 161c391f44 autogenerated 2016-12-29 13:04:10 -08:00
Kubernetes Submit Queue 45d2449f13 Merge pull request #39061 from xulike666/fix-typo-assistant
Automatic merge from submit-queue

Fix typo for federation/*

**What this PR does / why we need it**:
 Increase code readability for this new member in v1.5

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 

**Special notes for your reviewer**: 
Could we develop a typo-fix bot along with a k8s terminology dictionary ? 

**Release note**:

```release-note
```
2016-12-21 07:07:29 -08:00
Aaron.L.Xu 853167624e fix typo for federation/* 2016-12-20 20:00:10 -08:00
Justin Santa Barbara 6e3eab491f dnsprovider: Expose route53 constructor
This enables testing when the dnsprovider is used externally (with a
mock Route53 API, as we do in kops), and also might be useful for
constructing with a particular client instance with extra options.
2016-12-20 18:13:34 -05:00
Aaron.L.Xu 8a4fc9c7fd fix typo on federation/pkg/dnsprovider/plugins.go 2016-12-20 02:27:00 -08:00
Mike Danese c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
shashidharatd 2807e8050e Implement CoreDNS as external dns provider for federation 2016-12-06 16:20:55 +05:30
Clayton Coleman 35a6bfbcee
generated: refactor 2016-11-23 22:30:47 -06:00
Mike Danese 3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Kubernetes Submit Queue 563d23960d Merge pull request #32581 from justinsb/dns_expose_provider_id
Automatic merge from submit-queue

DNS Federation: Add ID to Zone interface
2016-09-24 00:15:05 -07:00
Justin Santa Barbara 816e50bd8d Add ID to Zone interface
This allows us to differentiate when we have two HostedZones with the
same DNS name.
2016-09-16 21:32:10 -04:00
Davanum Srinivas 64efc3a744 Update Google Cloud API client import paths
Bump version of golang.org/x/oauth2
Vendor google.golang.org/cloud/
Vendor google.golang.org/api/
Vendor cloud.google.com/go/compute/
Replace google.golang.org/cloud with cloud.google.com/go/

Fixes #30069
2016-09-13 22:21:06 -04:00
Jedrzej Nowak 6aaad93908 Typos and englishify federation 2016-09-09 09:53:24 +02:00
Madhusudan.C.S b4ea59e65a Update dnsprovider multi-type support test to test for an A-record and an AAAA-record.
Having an A-record and a CNAME-record in the tests led to a confusion
that dns providers support such configurations. This change avoids
that confusion by putting only compatible records for the same domain
name in the tests.
2016-08-16 14:38:16 -07:00
Lucas Käldström c88a07ce1a Run goimports 2016-08-02 15:12:39 +03:00
Harry Zhang c495397cae Refactor uuid into its own pkg 2016-07-30 00:07:02 -04:00
Justin Santa Barbara 756c17315b Fix route53 stub matching logic: match name & type 2016-07-22 15:09:04 -04:00
Justin Santa Barbara 6463a220ee Expose Changesets (transactions) in dns provider
This makes the dnsprovider usable in more scenarios, and it also solves
some TODOs in the federation code.
2016-07-22 08:43:20 -04:00
Quinton Hoole 3dd1c0088e Use ResourceRecordSetsEquivalent() instead of == to compare rrsets. Fixes #28135 2016-07-20 15:49:19 -07:00
k8s-merge-robot 4d896cd3b2 Merge pull request #29008 from justinsb/pages_and_pages_of_hosted_zones
Automatic merge from submit-queue

dnsprovider: Use route53 page functions to avoid truncated results

The List<Type>Pages functions make it pretty easy to avoid result truncation;
switch to using them
2016-07-19 20:29:44 -07:00
Davanum Srinivas 2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
Justin Santa Barbara c8ec72e33c dnsprovider: Use route53 page functions to avoid truncated results
The List<Type>Pages functions make it pretty easy to avoid result truncation;
switch to using them
2016-07-15 11:36:39 -04:00
Matt Liggett a8b1c2e903 Add printf formatting for rrset objects.
Without this you just get two pointers in the debug log.

Before:

I0627 21:48:44.136615       1 dns.go:215] Existing recordset {0xc820168830 0xc820691540} is not equal to needed recordset &{0xc820168848 0xc820686040}, removing existing and adding needed.

After:

I0627 22:26:46.221856       1 dns.go:215] Existing recordset                <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221885       1 dns.go:216] ... not equal to needed recordset <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221919       1 dns.go:217] ... removing existing and adding needed.
2016-06-30 16:40:44 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Quinton Hoole 37ce95e107 Add unit test for zone addition to all dnsproviders. Fixes #27785 2016-06-21 18:38:39 -07:00
Quinton Hoole c1604d84b8 Added managed zone creation to all dnsproviders. 2016-06-20 22:47:05 -07:00
Quinton Hoole acaad60620 Rename dnsprovider/providers/aws/route53/internal/testing to stubs. 2016-06-20 16:29:07 -07:00
Mike Danese 4dd7b7c6ef fix some vets 2016-06-20 14:16:43 -07:00
Quinton Hoole 30afb6b072 Return error not empty list when dnsprovider returns an error. 2016-06-18 16:15:55 -07:00
mfanjie dd78dd8e2b 1. ensure dns record when ingress ip is assigned after ready address creation
2. ensure dns record removal when service being removed
2016-06-14 15:36:37 +08:00
mfanjie 318f37ce0f add federation-name and zone-name as controller manager flags 2016-06-14 15:36:37 +08:00