-
Notifications
You must be signed in to change notification settings - Fork 40k
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
V2: Add e2e tests for NFS and Gluster #7435
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project, in which case you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
@thockin if you won't have time to review this yourself, can you please find someone to take a look at it? |
var err error | ||
c, err = loadClient() | ||
Expect(err).NotTo(HaveOccurred()) | ||
namespace = "e2e-ns-" + randomSuffix() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'll want to use namespace lifecycle as we do in networking.go
....
In BeforeEach
By("Building a namespace api object")
namespace, err = createTestingNS("nettest", c)
Expect(err).NotTo(HaveOccurred())
And in AfterEach
if err := c.Namespaces().Delete(namespace.Name); err != nil {
Failf("Couldn't delete ns %s", err)
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
@thockin, @zmerlynn, @roberthbailey, @quinton-hoole, - reping. I know everyone is busy, but this is pretty important from our side, can we delegate here? |
I can take a look at this today. |
Build failed on both Travis and Shippable for the same reaon: ./hack/verify-boilerplate.sh |
Fyi it's easy to fix just copy the new header over From any current files the owner changed to kubernetes from google. This happens on prs which predate the owner change |
@@ -0,0 +1,11 @@ | |||
FROM ubuntu:14.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- You're going to need to include the standard copyright and license blurb at the head of every new file that you add.
- Given that every other directory under for-tests/ follows the naming convention of xxx-tester, is there any reason not to follow that convention here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per previous comment, can we not get by with a smaller base container image here. This one includes "ubuntu universe" which seems excessive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copyright header added to all Dockerfiles.
Ok, I'll re-base the images to Debian in separate PR when this one is merged.
NFS container needs to mount /proc/fs/nfsd. I don't know exactly what Gluster container needs, but it does not work in unprivileged mode. |
Any idea what's wrong? Shippable.com shows me endless "Waiting for build information...". |
@jsafrane - Shippable is a false positive. |
Please squash into a single commit, and then this is LGTM to merge. |
/cc @eparis |
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
FROM ubuntu:14.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Centos please.
- add appropriate server containers into contrib/for-tests/volumes-tester - the tests are off by default (they need kubelet --allow_privileged=True) - enable by 'go run hack/e2e.go ... --ginkgo.focus=Volume' - add glusterfs tools to list of installed packages on each node
6dc23f9
to
20004e0
Compare
Squashed. I'll look into squeezing the size of test images in a separate PR. |
@jsafrane great! |
LGTM. @saad-ali will merge as soon as is practical. There is a significant PR backlog, so it might take a few hours. |
ack, thx. |
V2: Add e2e tests for NFS and Gluster
@saad-ali @brendanburns - could we get an image upload for the tests to gcr.io/google_containers loc? |
@timothysc I'll take a crack at pushing the gluster and nfs images to gcr.io |
@saad-ali many thanks. |
Pushed
|
config := VolumeTestConfig{ | ||
namespace: namespace.Name, | ||
prefix: "nfs", | ||
serverImage: "gcr.io/google_containers/volume-nfs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@saad-ali, @jsafrane, @childsb
So both the nfs and gluster tests still fail b/c tag is missing.
docker pull gcr.io/google_containers/volume-nfs
Pulling repository gcr.io/google_containers/volume-nfs
FATA[0001] Tag latest not found in repository gcr.io/google_containers/volume-nfs
docker pull gcr.io/google_containers/volume-nfs:0.1
Pulling repository gcr.io/google_containers/volume-nfs
7faef5ba165a: Download complete
e9e06b06e14c: Download complete
a82efea989f9: Download complete
37bea4ee0c81: Download complete
07f8e8c5e660: Download complete
a61fbd375433: Download complete
36ed446fd761: Download complete
5c06e7e161bd: Download complete
087a9dde26b9: Download complete
56da8d2b187a: Download complete
8cb003e95f03: Download complete
9570a95e2d95: Download complete
Status: Downloaded newer image for gcr.io/google_containers/volume-nfs:0.1
@timothysc Yep, the tagging is screwed up, Since the nfs and gluster Makefiles manually sets a version, docker doesn't automatically attach the |
Ok, the following commands should all work now. I'll send out a PR with the updated Makefiles
(Note for the last two, they default to |
Based on PR #6755 and #7223
The test must be run with --allow_privileged=True everywhere, the server pods won't work without that. Should it be made default for e2e tests?