* integration ci
* rename test
* unfunctionalize DoIntegrationTests
* alphabetize expected answers
* Enable out-of-cluster test
* Enable out-of-cluster test
* move integration tests back to ci repo
* Rename middleware to plugin
first pass; mostly used 'sed', few spots where I manually changed
text.
This still builds a coredns binary.
* fmt error
* Rename AddMiddleware to AddPlugin
* Readd AddMiddleware to remain backwards compat
Yes, the previous Go version is important but this doubles the wait on
travis. This drops 1.7 from travis. This means we wait for bug reports
to show up, or tell people to use the precompiled binaries are docker
containers.
It looks like the cached path
- `$GOPATH/src`
- `$GOPATH/pkg`
overlaps with the source path of
`$GOPATH/src/github.com/coredns/coredns`.
Disable the cache for now.
May enable cache in the future if we could exclude
`$GOPATH/src/github.com/coredns/coredns` from `$GOPATH/src`.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add external service cnames
* remove cruft
* update CI k8s version
* change CI k8s version
* min k8s ver for ext services
* trying k8s 1.5
* k8s 1.5 requires ports spec
* remove kruft
* update dns schema version
* middleware/proxy: give Exchange a context
Make context.Context the first paramater in the Exchange method.
This is inline with all other query functions.
* up the version
Change the CI setup for K8s to be simpler. Now it just creates a
set of objects via a yaml file, making it very easy to modify
the tests.
Implement PTR for services.
This fix uses docker container for kubectl. Since Kubernetes docker
image hyperkube has already been downloaded and it consists of
kubectl, there is really no need to download kubectl binary again.
This fix cleans up the Kubernetes related travis setup and removes
unneeded scripts.
This fix also fixes several mismatches of the Kubernetes version used,
so that any changes in version in the future only need to update .travis.yml.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This fix updates .travis.yml and Makefile for several places:
- Remove unneeded `docker pull gcr.io/google_containers/hyperkube-amd64:v1.2.4` (only v1.3.7 was used)
- Use docker to deploy etcd (insteadof downloading etcd binary).
- Merge `make testk8s` and `make testk8s-setup` (no need to have multiple targets for a couple of tests)
- Set version of etcd and kubernetes in .travis.yml (so that it is easy to update new version in the future)
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This fix moves the content of `.coverage.sh` to the Makefile
and creates a target of `make coverage`. This cleans up as
there is really no need to have a redundant script for
simple coverage test.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This fix cleans up `.travis.yml` and use `go_import_path`
to replace the customerized script for go import path
(in case the build is from a forked repo).
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This fix adds the codecov.io process with travis-ci integration,
so that code coverage could be processed and displayed with codecov.io.
Since go cannot use test profile flag with multiple packages,
we have to iterate through packages with `coverage.sh`.
Some consolidation could be done by combining them into one `make test`.
Will do some consolidation in a follow up PR.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Adding debug message when starting k8s controller
* Adding work-around for timing issue in k8s integration tests
* Remove unused import
* Fix Makefile for ast package
* Increase k8s verbosity in travis
* Updating TODO list to find root cause of test issue
* go fmt cleanup
* Make CoreDNS a server type plugin for Caddy
Remove code we don't need and port all middleware over. Fix all tests
and rework the documentation.
Also make `go generate` build a caddy binary which we then copy into
our directory. This means `go build`-builds remain working as-is.
And new etc instances in each etcd test for better isolation.
Fix more tests and rework test.Server with the newer support Caddy offers.
Fix Makefile to support new mode of operation.
* Adding pod setup to kubernetes startup scripts
* Adding template description to k8s README.md
* Fix typo.
* Moving kubernetes setup scripts out of go folder
* Fixing script error
* Adding messages to k8s scripts for clarity
* Merge notification code by @aledbf and update for recent changes.
* Fix travis environment to correctly build with k8s.io and forked repositories.
* Refactored kubernetes Corefile parser
* Added lots of Corefile parsing tests
Updating travis yaml file to:
* Force IPv6 to work in their VM environment
* Enable docker (requires VM environment and sudo)
* Run kubernetes integration tests in Travis
Add a fullblown testing server. This allows us to do integration tests.
Also add a basic proxy test. Further tests will test etcd proxy
and stub zone communication and other "wildish" configurations.
Redo the server startup, so we can access the ports it listens on when
it has started up (with dns.ActivateAndServer).
Extend the .travis file to download etcd and test for that as well.
Put integration tests in test dir