Change in docker-playground[master]: Remove top-level Makefile, explain why in README
Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile, explain why in README .. Remove top-level Makefile, explain why in README Obsoleted by docker_images_require(). The top-level Makefile had the following drawbacks: * it was not maintained: many targets were missing, and some of the existing ones did not build anymore * make targets have the same names as the folders, so if they are not listed in the Makefile, it will assume that the target has been built already (prone to making mistakes) Extend README.md to describe how to run tests, container caching, how container dependencies are resolved now and the reasoning for doing it that way instead of using a top-level Makefile. Related: OS#3268 Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff --- D Makefile M README.md 2 files changed, 69 insertions(+), 84 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/Makefile b/Makefile deleted file mode 100644 index e224274..000 --- a/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -.PHONY: build -build: debian-jessie-build osmo-ggsn-master osmo-stp-master sctp-test sigtran-tests m3ua-test sua-test debian-stretch-titan ttcn3-ggsn-test - -.PHONY: debian-jessie-build -debian-jessie-build: - $(MAKE) -C debian-jessie-build - -.PHONY: debian-stretch-titan -debian-stretch-titan: - $(MAKE) -C debian-stretch-titan - -.PHONY: osmo-bsc-master -osmo-bsc-master: debian-jessie-build - $(MAKE) -C osmo-bsc-master - -.PHONY: osmo-bts-master -osmo-bts-master: debian-jessie-build - $(MAKE) -C osmo-bts-master - -.PHONY: osmo-msc-master -osmo-msc-master: debian-jessie-build - $(MAKE) -C osmo-msc-master - -.PHONY: osmo-stp-master -osmo-stp-master: debian-jessie-build - $(MAKE) -C osmo-stp-master - -.PHONY: osmocom-bb-host-master -osmocom-bb-host-master: debian-jessie-build - $(MAKE) -C osmocom-bb-host-master - -.PHONY: osmo-ggsn-master -osmo-ggsn-master: debian-jessie-build - $(MAKE) -C osmo-ggsn-master - -.PHONY: osmo-hlr-master -osmo-hlr-master: debian-jessie-build - $(MAKE) -C osmo-hlr-master - -.PHONY: ttcn3-bsc-test -ttcn3-bsc-test: debian-stretch-titan osmo-stp-master osmo-bsc-master osmo-bts-master ttcn3-bsc-test - $(MAKE) -C ttcn3-bsc-test - -.PHONY: ttcn3-bts-test -ttcn3-bts-test: debian-stretch-titan osmo-bsc-master osmo-bts-master osmocom-bb-host-master ttcn3-bts-test - $(MAKE) -C ttcn3-bts-test - -.PHONY: ttcn3-msc-test -ttcn3-msc-test: debian-stretch-titan osmo-stp-master osmo-msc-master ttcn3-msc-test - $(MAKE) -C ttcn3-msc-test - -.PHONY: ttcn3-ggsn-test -ttcn3-ggsn-test: osmo-ggsn-test - $(MAKE) -C ggsn-test - -.PHONY: ttcn3-mgw-test -ttcn3-mgw-test: debian-stretch-titan osmo-mgw-master - $(MAKE) -C ttcn3-mgw-test - -.PHONY: ttcn3-hlr-test -ttcn3-hlr-test: debian-stretch-titan osmo-hlr-master - $(MAKE) -C ttcn3-hlr-test - -.PHONY: sctp-test -sctp-test: debian-jessie-build - $(MAKE) -C sctp-test - -.PHONY: sigtran-tests -sigtran-tests: debian-jessie-build - $(MAKE) -C sigtran-tests - -.PHONY: sua-test -sua-test: osmo-stp-master - $(MAKE) -C sua-test - -.PHONY: m3ua-test -m3ua-test: osmo-stp-master sigtran-tests - $(MAKE) -C m3ua-test - -.PHONY: gr-gsm-master -gr-gsm-master: - $(MAKE) -C gr-gsm-master diff --git a/README.md b/README.md index bb354c0..adb6420 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,72 @@ containers + related stacks around Osmocom. So far, the main focus is test automation. -See http://laforge.gnumonks.org/blog/20170503-docker-overhyped/ for -related rambling on why this doesn't work as well as one would want. +## Running a testsuite +All testsuite folders start with `ttcn3` or `nplab`. Run the following +to build/update all required containers and start a specific testsuite: + +``` +$ cd ttcn3-mgw-test +$ ./jenkins.sh +``` + +Environment variables: +* `IMAGE_SUFFIX`: the version of the Osmocom stack to run the testsuite + against. Default is `master`, set this to `latest` to test the last + stable releases. +* `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the + containers (see "caching" below) + +## Building containers manually +Most folders in this repository contain a `Dockerfile`. Build a docker +container with the same name as the folder like this: + +``` +$ cd debian-jessie-build +$ make +``` + +## Caching +All folders named `osmo-*-latest` and `osmo-*-master` build the latest +stable or most recent commit from `master` of the corresponding Osmocom +program's git repository. When you have built it already, running `make` +will only do a small HTTP request to check if the sources are outdated +and skip the build in case it is still up-to-date. + +## Dependencies +Folders that don't have a `jenkins.sh` usually only depend on the +container
Change in docker-playground[master]: Remove top-level Makefile, explain why in README
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile, explain why in README .. Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 9 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Fri, 26 Oct 2018 10:34:52 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in docker-playground[master]: Remove top-level Makefile, explain why in README
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile, explain why in README .. Patch Set 9: Verified+1 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 9 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Fri, 26 Oct 2018 10:34:54 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in docker-playground[master]: Remove top-level Makefile, explain why in README
osmith has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile, explain why in README .. Patch Set 9: > I think this change in usage (shell script vs makefile) should be documented > in a readme file. Add one in case there's none yet. Done. -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 9 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Fri, 26 Oct 2018 10:19:13 + Gerrit-HasComments: No Gerrit-HasLabels: No
Change in docker-playground[master]: Remove top-level Makefile, explain why in README
Hello Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/11369 to look at the new patch set (#9). Change subject: Remove top-level Makefile, explain why in README .. Remove top-level Makefile, explain why in README Obsoleted by docker_images_require(). The top-level Makefile had the following drawbacks: * it was not maintained: many targets were missing, and some of the existing ones did not build anymore * make targets have the same names as the folders, so if they are not listed in the Makefile, it will assume that the target has been built already (prone to making mistakes) Extend README.md to describe how to run tests, container caching, how container dependencies are resolved now and the reasoning for doing it that way instead of using a top-level Makefile. Related: OS#3268 Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff --- D Makefile M README.md 2 files changed, 69 insertions(+), 84 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/11369/9 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 9 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr
Change in docker-playground[master]: Remove top-level Makefile
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 7: I think this change in usage (shell script vs makefile) should be documented in a readme file. Add one in case there's none yet. -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 7 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Thu, 25 Oct 2018 18:04:44 + Gerrit-HasComments: No Gerrit-HasLabels: No
Change in docker-playground[master]: Remove top-level Makefile
Hello Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/11369 to look at the new patch set (#6). Change subject: Remove top-level Makefile .. Remove top-level Makefile Obsoleted by docker_images_require(). The top-level Makefile had the following drawbacks: * it was not maintained: many targets were missing, and some of the existing ones did not build anymore * make targets have the same names as the folders, so if they are not listed in the Makefile, it will assume that the target has been built already (prone to making mistakes) Related: OS#3268 Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff --- D Makefile 1 file changed, 0 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/11369/6 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr
Change in docker-playground[master]: Remove top-level Makefile
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Sun, 21 Oct 2018 12:15:23 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in docker-playground[master]: Remove top-level Makefile
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 16 Oct 2018 19:57:50 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in docker-playground[master]: Remove top-level Makefile
osmith has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Remove top-level Makefile Obsoleted by docker_images_require(). The top-level Makefile had the following drawbacks: * it was not maintained: many targets were missing, and some of the existing ones did not build anymore * make targets have the same names as the folders, so if they are not listed in the Makefile, it will assume that the target has been built already (prone to making mistakes) Related: OS#3268 Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff --- D Makefile 1 file changed, 0 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/11369/3 -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr
Change in docker-playground[master]: Remove top-level Makefile
osmith has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 2: > ok, fine, but what I'm missing here is: if I come along and want to 'make > ttcn3-bsc-test' to get the latest bsc images, what do I invoke instead on my > shell? I added the top-level makefile mostly for such human convenience. We discusses this in the chat after you wrote this, and you said it's okay for you to use one of the following instead of your current make-then-call-jenkins.sh-workflow. $ ./jenkins.sh $ NO_DOCKER_IMAGE_BUILD=1 ./jenkins.sh -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 16 Oct 2018 13:12:36 + Gerrit-HasComments: No Gerrit-HasLabels: No
Change in docker-playground[master]: Remove top-level Makefile
Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 1: ok, fine, but what I'm missing here is: if I come along and want to 'make ttcn3-bsc-test' to get the latest bsc images, what do I invoke instead on my shell? I added the top-level makefile mostly for such human convenience. Would it make sense to still have a Makefile that redirects to the shell script implementation? Or maybe a thin shell script to include jenkins-common.sh and invoke docker_images_require() is easier? -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 16 Oct 2018 11:19:43 + Gerrit-HasComments: No Gerrit-HasLabels: No
Change in docker-playground[master]: Remove top-level Makefile
Neels Hofmeyr has posted comments on this change. ( https://gerrit.osmocom.org/11369 ) Change subject: Remove top-level Makefile .. Patch Set 1: Hey! My Makefile! -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 16 Oct 2018 11:11:37 + Gerrit-HasComments: No Gerrit-HasLabels: No
Change in docker-playground[master]: Remove top-level Makefile
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/11369 Change subject: Remove top-level Makefile .. Remove top-level Makefile Obsoleted by docker_images_require(). The top-level Makefile had the following drawbacks: * it was not maintained: many targets were missing, and some of the existing ones did not build anymore * make targets have the same names as the folders, so if they are not listed in the Makefile, it will assume that the target has been built already (prone to making mistakes) Related: OS#3268 Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff --- D Makefile 1 file changed, 0 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/11369/1 diff --git a/Makefile b/Makefile deleted file mode 100644 index e224274..000 --- a/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -.PHONY: build -build: debian-jessie-build osmo-ggsn-master osmo-stp-master sctp-test sigtran-tests m3ua-test sua-test debian-stretch-titan ttcn3-ggsn-test - -.PHONY: debian-jessie-build -debian-jessie-build: - $(MAKE) -C debian-jessie-build - -.PHONY: debian-stretch-titan -debian-stretch-titan: - $(MAKE) -C debian-stretch-titan - -.PHONY: osmo-bsc-master -osmo-bsc-master: debian-jessie-build - $(MAKE) -C osmo-bsc-master - -.PHONY: osmo-bts-master -osmo-bts-master: debian-jessie-build - $(MAKE) -C osmo-bts-master - -.PHONY: osmo-msc-master -osmo-msc-master: debian-jessie-build - $(MAKE) -C osmo-msc-master - -.PHONY: osmo-stp-master -osmo-stp-master: debian-jessie-build - $(MAKE) -C osmo-stp-master - -.PHONY: osmocom-bb-host-master -osmocom-bb-host-master: debian-jessie-build - $(MAKE) -C osmocom-bb-host-master - -.PHONY: osmo-ggsn-master -osmo-ggsn-master: debian-jessie-build - $(MAKE) -C osmo-ggsn-master - -.PHONY: osmo-hlr-master -osmo-hlr-master: debian-jessie-build - $(MAKE) -C osmo-hlr-master - -.PHONY: ttcn3-bsc-test -ttcn3-bsc-test: debian-stretch-titan osmo-stp-master osmo-bsc-master osmo-bts-master ttcn3-bsc-test - $(MAKE) -C ttcn3-bsc-test - -.PHONY: ttcn3-bts-test -ttcn3-bts-test: debian-stretch-titan osmo-bsc-master osmo-bts-master osmocom-bb-host-master ttcn3-bts-test - $(MAKE) -C ttcn3-bts-test - -.PHONY: ttcn3-msc-test -ttcn3-msc-test: debian-stretch-titan osmo-stp-master osmo-msc-master ttcn3-msc-test - $(MAKE) -C ttcn3-msc-test - -.PHONY: ttcn3-ggsn-test -ttcn3-ggsn-test: osmo-ggsn-test - $(MAKE) -C ggsn-test - -.PHONY: ttcn3-mgw-test -ttcn3-mgw-test: debian-stretch-titan osmo-mgw-master - $(MAKE) -C ttcn3-mgw-test - -.PHONY: ttcn3-hlr-test -ttcn3-hlr-test: debian-stretch-titan osmo-hlr-master - $(MAKE) -C ttcn3-hlr-test - -.PHONY: sctp-test -sctp-test: debian-jessie-build - $(MAKE) -C sctp-test - -.PHONY: sigtran-tests -sigtran-tests: debian-jessie-build - $(MAKE) -C sigtran-tests - -.PHONY: sua-test -sua-test: osmo-stp-master - $(MAKE) -C sua-test - -.PHONY: m3ua-test -m3ua-test: osmo-stp-master sigtran-tests - $(MAKE) -C m3ua-test - -.PHONY: gr-gsm-master -gr-gsm-master: - $(MAKE) -C gr-gsm-master -- To view, visit https://gerrit.osmocom.org/11369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff Gerrit-Change-Number: 11369 Gerrit-PatchSet: 1 Gerrit-Owner: osmith