Skip to content

NGINX Unit#992

Open
gsfr wants to merge 41 commits into
masterfrom
nginx-unit
Open

NGINX Unit#992
gsfr wants to merge 41 commits into
masterfrom
nginx-unit

Conversation

@gsfr

@gsfr gsfr commented Nov 14, 2017

Copy link
Copy Markdown
Member

This is work in progress. Help wanted.

Scope proposal:

  • Ability to run core's own test suite on NGINX Unit and Alpine Linux.
  • Ability to trivially bring up a fully functional core, including mongo, to be used for testing of other components, such as reaper or cli.

Comments and/or requirement definitions welcome.

TO DO

  • Revert Have Travis push to Docker Hub for this branch

@gsfr

gsfr commented Nov 14, 2017

Copy link
Copy Markdown
Member Author

@ambrussimon I would like to use the setup.py/requirements.txt pattern that you have established in reaper, but I don't know how to handle the necessary dependency_links. Any ideas?

@kofalt kofalt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks interesting!

Do you have any benchmarks or observed behavior?

Comment thread requirements.txt
uwsgi==2.0.13.1
webapp2==2.5.2
WebOb==1.5.1
git+https://github.com/flywheel-io/[email protected]#egg=gears

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I use this file for CI, so I would need an equivalent command. I'll want to try things out with this branch if it gets closer to merging.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

We will make sure that you don't need any of that anymore. You should able to simply stand up a core and use it. No internal knowledge required.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sounds good, as long as the container checks itself on boot. Frequently I want to CI against a branch whose container (incl updated libraries) has not built yet.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

That's a good point. We'll need to have images available for arbitrary branches of core to facilitate testing of interacting repos, such as reaper and cli. We typically build images for master and all tags. I think that's enough (rather than building for all branches) and keeps clutter at bay. Would that work for you, @kofalt?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Discussed this out of band - basically, as long as any CI container can update itself on boot to the tip of a branch (incl updated libraries) we're fine.

Comment thread Dockerfile

RUN curl -L https://github.com/nginx/unit/archive/master.tar.gz | tar xz --strip-components 1
RUN ./configure --prefix=/usr/local --modules=lib --state=/var/local/unit --pid=/var/unit.pid --log=/var/log/unit.log \
&& ./configure python \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should check the configure options, nginx-web (or whatever) has quite a few good ones.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

On it.

Comment thread setup.py Outdated

dependency_links = [
'git+https://github.com/flywheel-io/[email protected]#egg=gears',
]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I take it this entry can't be in the above array?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Not that I could tell, but @ambrussimon will look further into it.

@gsfr

gsfr commented Nov 14, 2017

Copy link
Copy Markdown
Member Author

@kofalt No benchmarks yet. Still at the 'getting it running' stage. We'll let you know when this is ready to be tested against.

@ryansanford

Copy link
Copy Markdown
Contributor

@gsfr Isn't the definition of this PR being ready that it's not a "Breaking Change" ?

@gsfr

gsfr commented Nov 17, 2017

Copy link
Copy Markdown
Member Author

@ryansanford Won't be a breaking chance from the user point of view, but will be for parts of our infra. Removing tag.

@nagem

nagem commented Nov 29, 2017

Copy link
Copy Markdown
Contributor

Remove abao

🎉🎉🎉🎉🎉🎉🎉🎉🎉

Comment thread requirements.txt Outdated
elasticsearch==5.3.0
enum34==1.1.6
git+https://github.com/flywheel-io/[email protected]#egg=gears
ipython

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'm guessing you want IPython for debugging, but it's such a quick install and I'd rather not bake it into the image.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Just seeing where IPython came from. I'm taking it out.

Comment thread requirements.txt
ipython
jsonschema==2.6.0
Markdown==2.6.5
markdown==2.6.5

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The reason for the capitalization is to match the output of pip freeze, so that it can be copied verbatim.

@gsfr gsfr force-pushed the nginx-unit branch 2 times, most recently from e03df1f to b2cb26e Compare December 20, 2017 21:59
@gsfr

gsfr commented Jan 2, 2018

Copy link
Copy Markdown
Member Author

@ambrussimon nginx/unit#65 has been closed. We should now be able to drop your coverage endpoint workaround. However, it appears that Unit's introduction of HTTP Keep-Alive has broken our tests. The previous commit (nginx/unit@497faf1) is the last one that seems to work.

@ambrussimon

Copy link
Copy Markdown
Contributor

@gsfr Just rebased (fixed conflicts), no functional change.

@kofalt

kofalt commented Jan 31, 2018

Copy link
Copy Markdown
Contributor

Ref flywheel-io/sdk#80 for current endpoint status!

@gsfr

gsfr commented Feb 1, 2018

Copy link
Copy Markdown
Member Author

Thanks, @kofalt.

@ambrussimon Please take a look at the failing SDK tests. Getting those to pass would be a great milestone for this PR.

@kofalt

kofalt commented Feb 1, 2018

Copy link
Copy Markdown
Contributor

If Ambrus or anyone else has a look at playing with those, note the docs to help you out:
https://github.com/flywheel-io/sdk#testing

In particular, the -run flag and SdkTestDebug env variable may be of interest.

@gsfr

gsfr commented Mar 10, 2018

Copy link
Copy Markdown
Member Author

@ambrussimon In trying to get flywheel-io/sdk#80 going, I added upgrade_schema to dev+mongo.sh. Unfortunately, that seems to break some tests. Is it ok/desirable to have this? Can we fix the tests?

@gsfr gsfr removed the request for review from ryansanford May 11, 2018 14:58
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.

5 participants