profile
viewpoint
Thomas Runyon runyontr Runyon Solutions Doylestown, PA Kubernetes consulting

runyontr/k8s-canary 16

Walkthrough of Canary deployment on Kubernetes

kudobuilder/terraform-provider-kudo 10

Terraform provider for KUDO

runyontr/kaudit 8

Auditing tool for resources in Kubernetes

runyontr/kubefed-demo 2

Demo of Kubefed running with multiple Minikubes

runyontr/afero 0

A FileSystem Abstraction System for Go

runyontr/ark 0

Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.

push eventkudobuilder/operators

Andreas Neumann

commit sha 0a1719d4ed69536aca1f252821d729663be191e6

Install cassandra from repository, not local Signed-off-by: Andreas Neumann <aneumann@mesosphere.com>

view details

push time in 21 hours

create barnchkudobuilder/operators

branch : an/remove-cassandra-sources

created branch time in a day

pull request commentkudobuilder/operators

Upgrade to zookeeper 3.6.2

@dick-twocows I've created a PR to customize the image version with a parameter - that seems to be more useful than to add a operator version for each minor zk version - #306

y0psolo

comment created time in a day

PR opened kudobuilder/operators

Make zookeeper version customizable

Signed-off-by: Andreas Neumann aneumann@mesosphere.com

+13 -3

0 comment

4 changed files

pr created time in a day

create barnchkudobuilder/operators

branch : an/custom-zk-version

created branch time in a day

push eventkudobuilder/operators

y0psolo

commit sha 9cb9c1e7ae97f96f6ea08a55e16be9ac29f99815

Upgrade to zookeeper 3.6.2 (#305) * Upgrade to zookeeper 3.6.2 Signed-off-by: Lionel Herbet <lionel.herbet@gmail.com> * fix operator version Signed-off-by: Lionel Herbet <lionel.herbet@gmail.com>

view details

push time in a day

PR merged kudobuilder/operators

Upgrade to zookeeper 3.6.2
  • Add 4lw.commands.whitelist parameter to bootstrap.sh to allow health check
  • Zookeeper image bump in validation.yaml and statefulset.yaml
  • Documentation update
  • Operator version update to 0.3.3
  • Update test plan

Signed-off-by: Lionel Herbet lionel.herbet@gmail.com

+11 -8

1 comment

7 changed files

y0psolo

pr closed time in a day

PR closed kudobuilder/operators

[D2IQ-73247] Adds missing parameter in comparison to DCOS Cassandra

Jira Ticket: D2IQ-73247

This PR adds a parameter to the Cassandra Operator, which is not present in the Kudo Cassandra, but present in the DC/OS Cassandra.

+13 -0

1 comment

2 changed files

farhan5900

pr closed time in a day

pull request commentkudobuilder/operators

[D2IQ-73247] Adds missing parameter in comparison to DCOS Cassandra

The cassandra operator lives in a different repo, it's linked now with the mentioned PR - This repo should have no changes for cassandra

farhan5900

comment created time in a day

pull request commentkudobuilder/operators

Upgrade to zookeeper 3.6.2

Can we have three zookeeper operators 3.4.10, 3.5.8, and 3.6.2 as the image is not a parameter?

y0psolo

comment created time in a day

issue openedkubernetes-sigs/multi-tenancy

HNC: Flaky test on propagating objects

I got this flaky test in #1291 presubmit:

[Fail] Secret [It] should overwrite conflicting source with the top source that can propagate 
/home/prow/go/src/sigs.k8s.io/multi-tenancy/incubator/hnc/internal/reconcilers/object_test.go:374

See logs (if the link no longer works, see this gist for the copy)

created time in a day

push eventkubernetes-sigs/multi-tenancy

Yiqi Gao

commit sha b34b2549406a2e048656a8d5aacca68d7b11e502

Fix MustNotRun() can pass without error bug Replace Eventually() with Expect() in MustNotRun() so that commands like 'kubectl create' won't pass for the first time and then eventually fail without throwing any errors. Tested by make test-e2e (22/32 passed, 10/32 skipped).

view details

Kubernetes Prow Robot

commit sha dc0b97ba6497d9ac6041a7aeff9df1fed23a172e

Merge pull request #1291 from yiqigao217/bugfix Fix MustNotRun() can pass without error bug

view details

push time in a day

PR merged kubernetes-sigs/multi-tenancy

Reviewers
Fix MustNotRun() can pass without error bug approved cncf-cla: yes lgtm size/XS

Replace Eventually() with Expect() in MustNotRun() so that commands like kubectl create won't pass for the first time and then eventually fail without throwing any errors.

Tested by make test-e2e (22/32 passed, 10/32 skipped).

+2 -2

3 comments

1 changed file

yiqigao217

pr closed time in a day

pull request commentkubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/multi-tenancy/pull/1291#pullrequestreview-539557891" title="Approved">adrianludwin</a>, <a href="https://github.com/kubernetes-sigs/multi-tenancy/pull/1291#" title="Author self-approved">yiqigao217</a>

The full list of commands accepted by this bot can be found here.

The pull request process is described here

<details > Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":[]} -->

yiqigao217

comment created time in a day

pull request commentkubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

/retest

yiqigao217

comment created time in a day

pull request commentkubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

@yiqigao217: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-hnc-test b34b2549406a2e048656a8d5aacca68d7b11e502 link /test pull-hnc-test

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

<details>

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. </details> <!-- test report -->

yiqigao217

comment created time in a day

pull request commentkubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

/assign @adrianludwin /assign @GinnyJI

yiqigao217

comment created time in a day

pull request commentkubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/multi-tenancy/pull/1291#" title="Author self-approved">yiqigao217</a> To complete the pull request process, please assign fei-guo after the PR has been reviewed. You can assign the PR to them by writing /assign @fei-guo in a comment when ready.

The full list of commands accepted by this bot can be found here.

<details open> Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":["fei-guo"]} -->

yiqigao217

comment created time in a day

PR opened kubernetes-sigs/multi-tenancy

Fix MustNotRun() can pass without error bug

Replace Eventually() with Expect() in MustNotRun() so that commands like kubectl create won't pass for the first time and then eventually fail without throwing any errors.

Tested by make test-e2e (22/32 passed, 10/32 skipped).

+2 -2

0 comment

1 changed file

pr created time in a day

issue commentkubernetes-sigs/multi-tenancy

HNC: subnamespaces are deleted because we don't realize CRDs are being deleted

/assign @GinnyJI

Ginny, can you please look into this?

Per the controller-runtime folks, while the default client uses the cache, we can create our own controller-runtime client that doesn't use the cache. And per @liggitt , that's the best way we have to determine if a CR's being deleted due to its CRD being deleted.

adrianludwin

comment created time in 2 days

push eventkubernetes-sigs/multi-tenancy

Ginny Ji

commit sha ea296bc5a646b475bbe4feec9c8378d81a32391b

Validate only one non-negated namespace for treeSelect If multiple non-negated namespaces are set for treeSelect, this object will not be propagated to anywhere, in which case the user should use none selector instead. Tested: make test

view details

Kubernetes Prow Robot

commit sha 9f3329adf5f23e4d3da4c0360fb236305e6cc05d

Merge pull request #1281 from GinnyJI/excep-validator Validate only one non-negated namespace for treeSelect

view details

push time in 2 days

PR merged kubernetes-sigs/multi-tenancy

Reviewers
Validate only one non-negated namespace for treeSelect approved cncf-cla: yes lgtm size/M

If multiple non-negated namespaces are set for treeSelect, this object will not be propagated to anywhere, in which case the user should use none selector instead.

Tested: make test

+41 -0

4 comments

2 changed files

GinnyJI

pr closed time in 2 days

pull request commentkubernetes-sigs/multi-tenancy

Validate only one non-negated namespace for treeSelect

Oh right - Thanksgiving in the USA.

/hold cancel

GinnyJI

comment created time in 2 days

Pull request review commentkubernetes-sigs/multi-tenancy

Validate only one non-negated namespace for treeSelect

 func GetTreeSelector(inst *unstructured.Unstructured) (labels.Selector, error) {  	segs := strings.Split(treeSelectorStr, ",") 	selectorStr := ""+	nonNegatedNses := []string{} 	for i, seg := range segs {+		seg = strings.TrimSpace(seg) 		// check if it's a valid namespace name 		if err := validateTreeSelectorSegment(seg); err != nil { 			return nil, err 		} +		if seg[0] != '!' {+			nonNegatedNses = append(nonNegatedNses, seg)+		}+ 		selectorStr = selectorStr + seg + api.LabelTreeDepthSuffix 		if i < len(segs)-1 { 			selectorStr = selectorStr + ", " 		} 	}+ 	treeSelector, err := getSelectorFromString(selectorStr) 	if err != nil { 		// In theory this should never happen because we already checked DNS label before. 		// If this happens, it's more likely that we have a bug in our code 		return nil, fmt.Errorf("internal error while parsing %q: %w", api.AnnotationTreeSelector, err) 	}++	// If there are more than one non-negated namespace, this object will not be propagated to+	// any child namespace. We want to warn and stop user from doing this.+	if len(nonNegatedNses) > 1 {+		return treeSelector, fmt.Errorf("should only have one non-negated namespace, but got multiple: %v", nonNegatedNses)

done

GinnyJI

comment created time in 2 days

pull request commentkubernetes-sigs/multi-tenancy

Validate only one non-negated namespace for treeSelect

New changes are detected. LGTM label has been removed.

GinnyJI

comment created time in 2 days

issue commentkubernetes-sigs/multi-tenancy

[MTB] Add support for cross platform file paths

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

Divya063

comment created time in 2 days

pull request commentkubernetes-sigs/multi-tenancy

Validate only one non-negated namespace for treeSelect

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: <a href="https://github.com/kubernetes-sigs/multi-tenancy/pull/1281#pullrequestreview-538734146" title="Approved">adrianludwin</a>, <a href="https://github.com/kubernetes-sigs/multi-tenancy/pull/1281#" title="Author self-approved">GinnyJI</a>

The full list of commands accepted by this bot can be found here.

The pull request process is described here

<details > Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment </details> <!-- META={"approvers":[]} -->

GinnyJI

comment created time in 3 days

Pull request review commentkubernetes-sigs/multi-tenancy

Validate only one non-negated namespace for treeSelect

 func GetTreeSelector(inst *unstructured.Unstructured) (labels.Selector, error) {  	segs := strings.Split(treeSelectorStr, ",") 	selectorStr := ""+	nonNegatedNses := []string{} 	for i, seg := range segs {+		seg = strings.TrimSpace(seg) 		// check if it's a valid namespace name 		if err := validateTreeSelectorSegment(seg); err != nil { 			return nil, err 		} +		if seg[0] != '!' {+			nonNegatedNses = append(nonNegatedNses, seg)+		}+ 		selectorStr = selectorStr + seg + api.LabelTreeDepthSuffix 		if i < len(segs)-1 { 			selectorStr = selectorStr + ", " 		} 	}+ 	treeSelector, err := getSelectorFromString(selectorStr) 	if err != nil { 		// In theory this should never happen because we already checked DNS label before. 		// If this happens, it's more likely that we have a bug in our code 		return nil, fmt.Errorf("internal error while parsing %q: %w", api.AnnotationTreeSelector, err) 	}++	// If there are more than one non-negated namespace, this object will not be propagated to+	// any child namespace. We want to warn and stop user from doing this.+	if len(nonNegatedNses) > 1 {+		return treeSelector, fmt.Errorf("should only have one non-negated namespace, but got multiple: %v", nonNegatedNses)

Nit: would usually return nil as the first param here.

GinnyJI

comment created time in 3 days

more