Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test_harness w/ fixes for the unit tests to pass #50

Merged
merged 4 commits into from
May 9, 2019

Conversation

kkasravi
Copy link
Contributor

@kkasravi kkasravi commented May 7, 2019

fixes #49

Provides a basic unit test generator that generates golang code for each kustomize target. The golang test cases are then compiled and run by go test -v .

  • tests are generated and run by running make under tests
  • make first runs hack/gen-test-targets.sh which creates golang code that uses a local copy of kusttarget_test.go
  • after code generation go test -v . is called
  • certain tests can be skipped by defining EXCLUDE in tests/Makefile
  • does not test different values of parameters that are used by most targets (follow-up PR)

This change is Reviewable

@kkasravi
Copy link
Contributor Author

kkasravi commented May 7, 2019

/assign @hougangliu

@kkasravi
Copy link
Contributor Author

kkasravi commented May 7, 2019

/assign @jlewi

@kkasravi
Copy link
Contributor Author

kkasravi commented May 7, 2019

/assign @swiftdiaries

README.md Outdated
```

## Kfctl Processing
Kfctl will traverse these directories to find and build kustomize targets based on the configuration file `app.yaml`. App.yaml is derived from a file in the kubeflow [config](https://github.com/kubeflow/kubeflow/tree/master/bootstrap/config) directory. Each target processed by kfctl will result in an output yaml file. The output file is generated by calling kustomize's API. The kustomize package manager in kfctl will read app.yaml and apply the packages, components and componentParams to kustomize in the following way:
Kfctl traverses directories under manifests to find and build kustomize targets based on the configuration file `app.yaml`. App.yaml is derived from a file in the kubeflow [config](https://github.com/kubeflow/kubeflow/tree/master/bootstrap/config) directory. Each target processed by kfctl will result in an output yaml file. The output file is generated via kustomize's API. The kustomize package manager in kfctl will read app.yaml and apply the packages, components and componentParams to kustomize in the following way:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/App.yaml/app.yaml

README.md Outdated

Generating yaml output for any target can be done in the following way:
Kfctl has the capability to combine more than one overlay during `kfctl generate ...`. An example is shown below where the profiles target in [manifests](https://github.com/kkasravi/manifests/tree/multiple_overlays/profiles) can include either debug changes in the Deployment or Device information in the Namespace (the devices overlay is not fully integrated with the Profile-controller at this point in time and is intended as an example) or **both**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

@kkasravi kkasravi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 14 files reviewed, 2 unresolved discussions (waiting on @hougangliu, @kunmingg, and @lluunn)


README.md, line 94 at r2 (raw file):

Previously, hougangliu (Hougang Liu) wrote…

s/App.yaml/app.yaml

Done.


README.md, line 120 at r2 (raw file):

Previously, hougangliu (Hougang Liu) wrote…

please link manifests to https://github.com/kubeflow/manifests/tree/master/profiles

Done.

@kkasravi
Copy link
Contributor Author

kkasravi commented May 8, 2019

/assign @ashahba

@hougangliu
Copy link
Member

/lgtm
thanks!

@jlewi
Copy link
Contributor

jlewi commented May 9, 2019

@hougangliu @kkasravi one of you needs to approve this for it to get merged.

@swiftdiaries
Copy link
Member

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: swiftdiaries

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

The pull request process is described here

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

@k8s-ci-robot k8s-ci-robot merged commit f0a80c4 into kubeflow:master May 9, 2019
Tomcli added a commit to Tomcli/manifests that referenced this pull request Dec 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add unit tests and test harness
6 participants