HomeMesosphereNo notifications. 4 unresolved issues.

Upgrade sbt-native packager; add package tests
ClosedAll Users

Authored by timcharper on Aug 28 2017, 9:38 AM.

Diff Detail

Repository
rMARATHON marathon
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Changes from before your most recent comment are hidden. Show Older Changes
jeschkies requested changes to this revision.Aug 28 2017, 11:05 AM

This is awesome work! Thanks. I have a few questions to understand the code better. Why are the Mesos Docker images required? When is make called in tests/package?

build.sbt
211–212

Is this done for each loader?

project/NativePackagerSettings/systemv/start-debian-template
2

Where was this before. Is this new?

tests/package/test.sc
2

Wow! How about adding this to our pipeline?

tests/package/ubuntu-upstart/Dockerfile
4

Should this be hard coded?

Some comments! I have a readme to answer when is make run, etc.

build.sbt
211–212

Yeah, it is, via the "packageAll" macro.

project/NativePackagerSettings/systemv/start-debian-template
2

It's new, there is actually a bug with the sbt-native-packager Debian template for SystemV in which we did not get any logs. I was planning on submitting an issue to sbt-native-packager and putting a comment here but did not have time.

tests/package/test.sc
2

Yeah, we can do this! The tests will take a while to run due to needing to build all of the marathon environments, so I don't think we want them to run on every build. Perhaps just running before releasing packages?

tests/package/ubuntu-upstart/Dockerfile
4

Docker is kind of finicky; we could have the makefile copy a file over mesos version

timcharper updated this revision to Diff 4135.Aug 28 2017, 11:57 PM

run specific test. improve docs

jenkins requested changes to this revision.Aug 29 2017, 12:00 AM
This revision now requires changes to proceed.Aug 29 2017, 12:00 AM

@jeschkies to answer your question, I build a mesos image because the tests actually start an agent-less mesos-master and checks to asserts that Marathon will register with it. In order for this test to pass, a number of things must work:

  • the system loader / init script / etc must be able to launch Marathon properly
  • the environment variables must be properly loaded and interpreted from /etc/default/marathon (we convert, for example, MARATHON_ZK=... to --zk=...)
  • Marathon dependencies must be properly installed and working

It isn't exhaustive, of course, but it does provide at least a basic sanity check.

timcharper updated this revision to Diff 4138.Aug 29 2017, 12:08 AM

fix pipeline invocation

jenkins requested changes to this revision.Aug 29 2017, 12:10 AM
This revision now requires changes to proceed.Aug 29 2017, 12:10 AM
✗ Build of 4135 failed jenkins-public-marathon-phabricator-886.

Error message:

Stage Compile and Test failed.

(๑′°︿°๑)

✗ Build of 4136 failed jenkins-public-marathon-phabricator-887.

Error message:

Stage Package Docker Image, Debian and RedHat Packages failed.

(๑′°︿°๑)

✗ Build of 4137 failed jenkins-public-marathon-phabricator-888.

Error message:

Stage Package Docker Image, Debian and RedHat Packages failed.

(๑′°︿°๑)

jenkins accepted this revision.Aug 29 2017, 12:29 AM
✔ Build of 4138 completed jenkins-public-marathon-phabricator-889.

You can create a DC/OS with your patched Marathon by creating a new pull
request with the following changes in buildinfo.json:

\\ ٩( ᐛ )و //

timcharper updated this revision to Diff 4140.Aug 29 2017, 12:59 AM

wording fix

jenkins requested changes to this revision.Aug 29 2017, 1:06 AM
This revision now requires changes to proceed.Aug 29 2017, 1:06 AM
timcharper updated this revision to Diff 4141.Aug 29 2017, 1:17 AM

fix upstart template

jenkins requested changes to this revision.Aug 29 2017, 1:18 AM
This revision now requires changes to proceed.Aug 29 2017, 1:18 AM
jenkins accepted this revision.Aug 29 2017, 1:20 AM
✔ Build of 4140 completed jenkins-public-marathon-phabricator-890.

You can create a DC/OS with your patched Marathon by creating a new pull
request with the following changes in buildinfo.json:

\\ ٩( ᐛ )و //

jenkins requested changes to this revision.Aug 29 2017, 1:31 AM
✗ Build of 4141 failed jenkins-public-marathon-phabricator-891.

Error message:

Stage Compile and Test failed.

(๑′°︿°๑)

✗ Build of 4141 failed jenkins-public-marathon-phabricator-892.

Error message:

Stage Compile and Test failed.

(๑′°︿°๑)

timcharper updated this revision to Diff 4142.Aug 29 2017, 3:52 AM
timcharper removed reviewers: jenkins, unterstein.
timcharper added 2 JIRA issue(s): MARATHON-7733, MARATHON-7732.

add jira issues

jenkins requested changes to this revision.Aug 29 2017, 3:53 AM
This revision now requires changes to proceed.Aug 29 2017, 3:53 AM
jenkins accepted this revision.Aug 29 2017, 4:07 AM
✔ Build of 4142 completed jenkins-public-marathon-phabricator-893.

You can create a DC/OS with your patched Marathon by creating a new pull
request with the following changes in buildinfo.json:

\\ ٩( ᐛ )و //

kensipe accepted this revision.Aug 29 2017, 7:27 PM
ichernetsky accepted this revision.Aug 29 2017, 7:58 PM
ichernetsky added a subscriber: ichernetsky.
ichernetsky added inline comments.
tests/package/.gitignore
2

A new line? :)

jeschkies accepted this revision.Aug 30 2017, 5:42 PM
jeschkies added inline comments.
tests/package/test.sc
2

Yep. Sound good to me. We have to tackle the release scripts anyways.

This revision is now accepted and ready to land.Aug 30 2017, 5:42 PM
timcharper marked an inline comment as done.Aug 30 2017, 6:03 PM
This revision was automatically updated to reflect the committed changes.