Commit Graph

52455 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
94abce7c2d Merge pull request #49700 from wanghaoran1988/convert_to_table_printer
Automatic merge from submit-queue (batch tested with PRs 48487, 49009, 49862, 49843, 49700)

Add some table printers
2017-08-04 23:40:10 -07:00
Kubernetes Submit Queue
deb5c77ce1 Merge pull request #49843 from alrs/kubectl-rolling_updater-swallowed-error
Automatic merge from submit-queue (batch tested with PRs 48487, 49009, 49862, 49843, 49700)

fix swallowed error in kubectl rolling_updater

This fixes a swallowed error in kubectl. 

AddDeploymentKeyToReplicationController() is already tested, but there was an error that was not being exposed.

```release-note
NONE
```
2017-08-04 23:40:07 -07:00
Kubernetes Submit Queue
eeb72d7892 Merge pull request #49862 from dixudx/kubectl_run_labels
Automatic merge from submit-queue (batch tested with PRs 48487, 49009, 49862, 49843, 49700)

add label examples for kubectl run

**What this PR does / why we need it**:

Add `--labels` examples for kubectl run

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

**Special notes for your reviewer**:
/cc @ahmetb 

**Release note**:

```release-note
add examples for kubectl run --labels
```
2017-08-04 23:40:05 -07:00
Kubernetes Submit Queue
361079af43 Merge pull request #49009 from x13n/fluentd
Automatic merge from submit-queue (batch tested with PRs 48487, 49009, 49862, 49843, 49700)

Enable overriding fluentd resources in GCP

**What this PR does / why we need it**: This enables overriding fluentd resources in GCP, when there is a need for custom ones.

**Release note**:

```release-note
NONE
```
2017-08-04 23:40:02 -07:00
Kubernetes Submit Queue
7c9ba69617 Merge pull request #48487 from dixudx/validate_cadvisor_rootpath
Automatic merge from submit-queue (batch tested with PRs 48487, 49009, 49862, 49843, 49700)

validate cadvisor rootpath

**What this PR does / why we need it**:

When working on issue #48452, I found [KubeletConfiguration.RootDirectory](https://github.com/kubernetes/kubernetes/blob/master/cmd/kubelet/app/server.go#L525) was never been validated. The default value is set to ["/var/lib/kubelet"](https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/componentconfig/v1alpha1/defaults.go#L342).

If this directory does not exist in the file system, the [cadvisor.manager](https://github.com/kubernetes/kubernetes/blob/master/vendor/github.com/google/cadvisor/manager/manager.go#L679) will fail to gather the information for metrics.

> error trying to get filesystem Device for dir /var/lib/kubelet: err: stat failed on /var/lib/kubelet with error: no such file or directory

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

**Special notes for your reviewer**:

/cc @feiskyer @k82cn

**Release note**:

```release-note
validate cadvisor rootpath
```
2017-08-04 23:40:00 -07:00
Kubernetes Submit Queue
fc89743dca Merge pull request #47353 from apelisse/http-cache
Automatic merge from submit-queue

go-client: Use httpcache client for all requests, even though only openapi returns ETags for caching

**What this PR does / why we need it**: Use HTTP ETag for caching Swagger spec download

This also adds a new command-line flag "cachedir" to specify where the cache should keep its file. It defaults to `$HOME/.kube/http-cache`.

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

**Special notes for your reviewer**:
Because this adds a bunch of dependencies, and removes a couple of files, I do recommend reading each commit individually.

**Release note**:
```release-note
```
2017-08-04 21:02:50 -07:00
Kubernetes Submit Queue
29ab38e898 Merge pull request #50172 from mingzhaodotname/patch-1
Automatic merge from submit-queue

Update build requirements

**What this PR does / why we need it**:
Update the build requirements for docker so that the three configurations are shown as sub-lists instead of a parallel list. 

Currently, the requirements are shown in this way.
1. xxx
2. xxx
3. xxx
4. xxx
5. xxx

But it should be shown as something like this:
1. xxx
  * xxx
  * xxx
  * xxx
2. xxx

The problem is because markdown doesn't support well for ordered sub-list under ordered list. So, change it to unordered sub-list can avoid this problem.
2017-08-04 19:03:48 -07:00
Kubernetes Submit Queue
ed481a073e Merge pull request #50133 from xiangpengzhao/update-owner
Automatic merge from submit-queue

Update OWNERS to correct members' handles

**What this PR does / why we need it**:
Fix some typos of members' handles as per https://github.com/kubernetes/kubernetes/issues/50048#issuecomment-319831957.

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

**Special notes for your reviewer**:
/cc @madhusudancs @sebgoa @liggitt @saad-ali

**Release note**:

```release-note
NONE
```
2017-08-04 18:13:31 -07:00
Kubernetes Submit Queue
cdb7a2bbf2 Merge pull request #47282 from pmorie/staging-infos
Automatic merge from submit-queue

Add information about staging repos to README

Pretty much what it sounds like.
2017-08-04 16:22:49 -07:00
Paul Morie
9e40d630c7 Add info about staging repos to staging/README.md 2017-08-04 18:00:32 -04:00
Antoine Pelisse
d6348cc1ff c-go/transport: Add test for CacheRoundTripper 2017-08-04 14:39:22 -07:00
Antoine Pelisse
e77d298f83 c-go: Add dependencies for http-cache 2017-08-04 14:39:22 -07:00
Antoine Pelisse
d7bba25d4a c-go: Use http Etag cache
Add a new command-line cachedir flag to specify where to store the http
cache responses. This cache will only be used for OpenAPI Swagger spec
for now (as this is the only end-point that returns an ETag).
2017-08-04 14:36:32 -07:00
Antoine Pelisse
a1d0384e82 openapi: Remove cache mechanism
The cache will be removed and replaced with HTTP Etag caching instead.
This patch is simply removing the existing mechanism.
2017-08-04 14:36:32 -07:00
Kubernetes Submit Queue
90a45b2df3 Merge pull request #49547 from k82cn/k8s_42001_0
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

Task 0: Added node taints labels and feature flags

**What this PR does / why we need it**:
Added node taint const for node condition.

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

**Release note**:
```release-note
None
```
2017-08-04 14:29:42 -07:00
Kubernetes Submit Queue
34e9c6fa5d Merge pull request #41611 from cblecker/clientgo-public-pem-functions
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

Move remaining cert helper functions from pkg/serviceaccount to client-go/util/cert

**What this PR does / why we need it**:
Unifies all remaining certificate helper functions from pkh/serviceaccount to client-go/util/cert. Private key functions were moved in #40907

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

**Special notes for your reviewer**:

**Release note**:
2017-08-04 14:29:39 -07:00
Kubernetes Submit Queue
fae79dd4b4 Merge pull request #47181 from dims/fail-on-swap-enabled
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

Fail on swap enabled and deprecate experimental-fail-swap-on flag

**What this PR does / why we need it**:

    * Deprecate the old experimental-fail-swap-on
    * Add a new flag fail-swap-on and set it to true

    Before this change, we would not fail when swap is on. With this
    change we fail for everyone when swap is on, unless they explicitly
    set --fail-swap-on to false.

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

Fixes #34726

**Special notes for your reviewer**:

**Release note**:

```release-note
Kubelet will by default fail with swap enabled from now on. The experimental flag "--experimental-fail-swap-on" has been deprecated, please set the new "--fail-swap-on" flag to false if you wish to run with /proc/swaps on.
```
2017-08-04 14:29:36 -07:00
Kubernetes Submit Queue
b070227e89 Merge pull request #48366 from wongma7/flex-e2e
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

Add basic install and mount flexvolumes e2e tests

fixes https://github.com/kubernetes/kubernetes/issues/47010

These two tests install a skeleton "dummy" flex driver, attachable and non-attachable respectively, then test that a pod can successfully use the flex driver. They are labeled disruptive because kubelet and controller-manager get restarted as part of the flex install. IMO it's important to keep this install procedure as part of the test to isolate any bugs with the startup plugin probe code.

There is a bit of an ugly dependency on cluster/gce/config-test.sh because --flex-volume-plugin-dir must be set to a dir that's readable from controller-manager container and writable by the flex e2e test. The default path is not writable on GCE masters with read-only root so I picked a location that looks okay.

In the "dummy" drivers I trick kubelet into thinking there is a mount point by doing "mount -t tmpfs none ${MNTPATH} >/dev/null 2>&1", hope that is okay.

I have only tested on GCE and theoretically they may work on AWS but I don't think there is a need to test on multiple cloudproviders.

-->
```release-note
NONE
```
2017-08-04 14:29:34 -07:00
Kubernetes Submit Queue
370a4d6d4e Merge pull request #50119 from caesarxuchao/increase-gc-timeout-2
Automatic merge from submit-queue (batch tested with PRs 50119, 48366, 47181, 41611, 49547)

increase the GC e2e test timeout

Fix https://github.com/kubernetes/kubernetes/issues/50047. 

The root cause is #50046. See log analysis in #50047. For now, we just increase the timeout.
2017-08-04 14:29:32 -07:00
Ming Zhao
e391509f81 Update build requirements 2017-08-04 14:01:34 -07:00
Kubernetes Submit Queue
f189d7f72e Merge pull request #49501 from sttts/sttts-kube-gen-deps
Automatic merge from submit-queue

kube-gen: cut off dependencies

Only gengo is left and apimachinery/pkg/openapi. The later will go away when #48861 merges.

This is the preparation that we can use kube-gen also from apimachinery without circular dependencies.
2017-08-04 11:37:45 -07:00
Kubernetes Submit Queue
898b1b3330 Merge pull request #50028 from julia-stripe/fix-incorrect-scheduler-bind-call
Automatic merge from submit-queue

Fix incorrect call to 'bind' in scheduler

I previously submitted https://github.com/kubernetes/kubernetes/pull/49661 -- I'm not sure if that PR is too big or what, but this is an attempt at a smaller PR that makes progress on the same issue and is easier to review.

**What this PR does / why we need it**:

In this refactor (https://github.com/kubernetes/kubernetes/commit/ecb962e6585#diff-67f2b61521299ca8d8687b0933bbfb19R223) the scheduler code was refactored into separate `bind` and `assume` functions. When that happened, `bind` was called with `pod` as an argument. The argument to `bind` should be the assumed pod, not the original pod. Evidence that `assumedPod` is the correct argument bind and not `pod`: 80f26fa8a8/plugin/pkg/scheduler/scheduler.go (L229-L234). (and it says `assumed` in the function signature for `bind`, even though it's not called with the assumed pod as an argument).

This is an issue (and causes #49314, where pods that fail to bind to a node get stuck indefinitely) in the following scenario:

1. The pod fails to bind to the node
2. `bind` calls `ForgetPod` with the `pod` argument
3. since `ForgetPod` is expecting the assumed pod as an argument (because that's what's in the scheduler cache), it fails with an error like `scheduler cache ForgetPod failed: pod test-677550-rc-edit-namespace/nginx-jvn09 state was assumed on a different node`
4. The pod gets lost forever because of some incomplete error handling (which I haven't addressed here in the interest of making a simpler PR)

In this PR I've fixed the call to `bind` and modified the tests to make sure that `ForgetPod` gets called with the correct argument (the assumed pod) when binding fails.

**Which issue this PR fixes**: fixes #49314

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-08-04 10:33:10 -07:00
Kubernetes Submit Queue
4a8d041c4c Merge pull request #50088 from wojtek-t/ha_etcd_migration
Automatic merge from submit-queue

Fix etcd migration for HA clusters

@jpbetz 

Fix #43600
2017-08-04 09:44:14 -07:00
Kubernetes Submit Queue
a826c378e5 Merge pull request #49985 from dqminh/fix-race-federation-controller
Automatic merge from submit-queue

federation-controller/clustercontroller: fix race when updating data

Fix #49958

Updates for ClusterController's maps were made without locking which can lead
to race conditions.

This change adds a RWMutex to protect the data. We lock and unlock them
whenever the data is accessed to make sure that we dont slow down too much
2017-08-04 08:52:54 -07:00
Matthew Wong
55a417e84f Add basic install and mount flexvolumes e2e tests 2017-08-04 10:39:24 -04:00
Kubernetes Submit Queue
8b30aaec39 Merge pull request #47028 from xilabao/compact-same-resourcenamea-rule
Automatic merge from submit-queue

compact rules which has the same ResourceName

**What this PR does / why we need it**:
make compact rule more elegant.
Before
```
# ./cluster/kubectl.sh describe clusterrole system:kube-scheduler
Name:		system:kube-scheduler
Labels:		kubernetes.io/bootstrapping=rbac-defaults
Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
PolicyRule:
  Resources			Non-Resource URLs	Resource Names		Verbs
  ---------			-----------------	--------------		-----
  bindings			[]			[]			[create]
  endpoints			[]			[]			[create]
  endpoints			[]			[kube-scheduler]	[delete]
  endpoints			[]			[kube-scheduler]	[get]
  endpoints			[]			[kube-scheduler]	[patch]
  endpoints			[]			[kube-scheduler]	[update]
  events			[]			[]			[create patch update]
  nodes				[]			[]			[get list watch]
  persistentvolumeclaims	[]			[]			[get list watch]
  persistentvolumes		[]			[]			[get list watch]
  pods				[]			[]			[get list watch]
  pods/binding			[]			[]			[create]
  pods/status			[]			[]			[update]
  replicasets.extensions	[]			[]			[get list watch]
  replicationcontrollers	[]			[]			[get list watch]
  services			[]			[]			[get list watch]
  statefulsets.apps		[]			[]			[get list watch]
```
After
```
# ./cluster/kubectl.sh describe clusterrole system:kube-scheduler
Name:		system:kube-scheduler
Labels:		kubernetes.io/bootstrapping=rbac-defaults
Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
PolicyRule:
  Resources			Non-Resource URLs	Resource Names		Verbs
  ---------			-----------------	--------------		-----
  bindings			[]			[]			[create]
  endpoints			[]			[]			[create]
  endpoints			[]			[kube-scheduler]	[delete get patch update]
  events			[]			[]			[create patch update]
  nodes				[]			[]			[get list watch]
  persistentvolumeclaims	[]			[]			[get list watch]
  persistentvolumes		[]			[]			[get list watch]
  pods				[]			[]			[get list watch]
  pods/binding			[]			[]			[create]
  pods/status			[]			[]			[update]
  replicasets.extensions	[]			[]			[get list watch]
  replicationcontrollers	[]			[]			[get list watch]
  services			[]			[]			[get list watch]
  statefulsets.apps		[]			[]			[get list watch]
```
**Which issue this PR fixes**:

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-04 05:51:47 -07:00
Kubernetes Submit Queue
e331de9ef3 Merge pull request #48952 from php-coder/remove_old_stuff
Automatic merge from submit-queue

kubelet: remove code for handling old pod/containers paths

**What this PR does / why we need it**:
This PR removes the code for handling the paths that has been deprecated for a long time.

**Release note**:

```release-note
NONE
```

CC @simo5
2017-08-04 04:55:00 -07:00
Kubernetes Submit Queue
68a722155b Merge pull request #50096 from nicksardo/bump-glbc-0.9.6
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

GCE: Bump GLBC version to 0.9.6

Closes #50095

**Release note**:
```release-note
GCE: Bump GLBC version to 0.9.6
```
2017-08-04 00:21:00 -07:00
Kubernetes Submit Queue
704cc7f9f6 Merge pull request #50070 from dixudx/remove_013_to_avoid_bad_words
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

Remove 0,1,3 from rand.String to avoid 'bad words'

**What this PR does / why we need it**:

Remove 0,1,3 from the runes to prevent accidental bad words profanity

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

**Special notes for your reviewer**:
/cc @mml  @jamesawebb1  @spiffxp 

**Release note**:

```release-note
Remove 0,1,3 from rand.String, to avoid 'bad words'
```
2017-08-04 00:20:57 -07:00
Kubernetes Submit Queue
c66d2499da Merge pull request #50098 from nikhita/crd-data-race
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

apiextensions: fix data race in storage

Fixes data race in CRD storage.

Copy to a new map because we cannot write to storageMap without a race as it is used without locking elsewhere.

**Release note**:

```release-note
NONE
```

/cc @sttts
2017-08-04 00:20:55 -07:00
Kubernetes Submit Queue
6065a0daab Merge pull request #49863 from resouer/eclass-test
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

Cover equivalence cache tests in scheduler core

**What this PR does / why we need it**:

Finish the last part of equivalence class scheduling #17390 : complete unit tests.

Also, removed `InvalidateCachedPredicateItemForPod` which is unused in latest design.

```
godep go test -v equivalence_cache_test.go  equivalence_cache.go  -cover

PASS
coverage: 92.3% of statements
ok  	command-line-arguments	0.071s
```

**Release note**:

```release-note
NONE
```
2017-08-04 00:20:52 -07:00
xiangpengzhao
f003ee9b29 Update OWNERS to correct members' handles. 2017-08-04 15:00:15 +08:00
Kubernetes Submit Queue
0a4903b0e0 Merge pull request #46685 from xilabao/fix-err-message-in-namespace_policy
Automatic merge from submit-queue

fix err message in namespace_policy

**What this PR does / why we need it**:

**Which issue this PR fixes**: fixes #49541

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-03 23:59:05 -07:00
Dr. Stefan Schimanski
3cb93f7269 Update generated files 2017-08-04 08:10:38 +02:00
Kubernetes Submit Queue
15842f3769 Merge pull request #50059 from ddysher/local-e2e-bug-fix
Automatic merge from submit-queue

Fix pointer bug in local volume e2e test

**What this PR does / why we need it**:
Fix pointer bug in local volume e2e test

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/kubernetes/issues/50043

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-03 23:10:23 -07:00
Dr. Stefan Schimanski
4b709e8485 kube-gen: unify update-codecgen.sh scripts 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski
34397721d6 kube-gen: cut off conversion-gen from k8s.io/apimachinery 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski
8a0c28eb04 kube-gen: cut off protobuf-gen from apimachinery 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski
927341c6d3 verify-staging-import: ignore k8s.io/kube-gen/test 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski
98042b77f3 kube-gen: fixup moved tests 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski
86ca7fbd92 kube-gen: move client-gen tests into test dir 2017-08-04 08:03:15 +02:00
Kubernetes Submit Queue
e29ead1154 Merge pull request #50090 from gmarek/EventClient
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Explicitly use Core client as EventClient in hollow node
2017-08-03 22:22:05 -07:00
Kubernetes Submit Queue
151b8118d5 Merge pull request #50069 from fisherxu/master
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Fix comment of isHTTPSURL

**What this PR does / why we need it**:
fix comment of isHTTPSURL
2017-08-03 22:22:03 -07:00
Kubernetes Submit Queue
65e6bf8d76 Merge pull request #50019 from deads2k/server-38-storage
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

create default storage selection functions

The vast majority of our REST storage needs either default selection predicates or minor tweaks the the field selection criteria.  This pull makes that work without any special fields set, but also allows the more complex configuration where it is required.  I only changed one storage an example.  Once this merges, I'll update the others.

@kubernetes/sig-api-machinery-misc @wojtek-t @smarterclayton @sttts @cheftako ptal.
2017-08-03 22:22:00 -07:00
Kubernetes Submit Queue
9a26cdfb52 Merge pull request #50084 from bskiba/ca_tolerate_unready
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Allow for some pods not to get scheduled in CA tests.

This will allow us to ignore long tail node creation or failure
to create some nodes when running scalability tests on kubemark.

**Release note**:

```
NONE
```
2017-08-03 22:21:56 -07:00
Kubernetes Submit Queue
0c2f816646 Merge pull request #48237 from xiangpengzhao/fix-proxy-test
Automatic merge from submit-queue

Add test for kube-proxy running with "--cleanup-iptables=true"

**What this PR does / why we need it**:
Add test to prevent such kube-proxy panic to happen again.

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

**Special notes for your reviewer**:
Forgot to add this in last PR #48183. Should we also add this to v1.7 milestone?
/cc @ncdc @dchen1107 

**Release note**:

```release-note
NONE
```
2017-08-03 22:03:31 -07:00
Kubernetes Submit Queue
325a53aa75 Merge pull request #47200 from maisem/cassandra
Automatic merge from submit-queue

Adding a Cassandra upgrade test

Tests for #38336
2017-08-03 18:42:13 -07:00
Chao Xu
47b019978e increase the GC e2e test timeout because the API re-discovery increases the latency 2017-08-03 18:27:46 -07:00
Kubernetes Submit Queue
d15baf69e1 Merge pull request #48969 from ixdy/update-kazel
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Run kazel on the entire tree

**What this PR does / why we need it**: part of #47558: auto-generate `BUILD` files on the entire tree, since this is what `gazelle` does, and it'll make subsequent reviews easier if less is changing.

**Release note**:

```release-note
NONE
```
/assign
/release-note-none
2017-08-03 16:43:41 -07:00
Kubernetes Submit Queue
063fc6a73a Merge pull request #43586 from rpothier/cidr_set_ipv6
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Adding IPv6 to cidr_set and cidr_set_test

**What this PR does / why we need it**:
This allows IPv6 in cidr_set

Currently cidr_set only supports IPv4. This adds IPv6 compatibility and adds
IPv6 unit tests.

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

**Special notes for your reviewer**:
The IPv6 code here makes some assumptions.
The subnets should be at least /64. (maximum 64 bits of prefix)
The subnet mask size cannot be greater than 30 more than the cluster mask size.

**Release note**:

```release-note
```
2017-08-03 16:43:39 -07:00