Skip to content
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

Fix Windows mount of .ddev/mysql configuration (Support for Docker 18.06) #1022

Merged
merged 5 commits into from
Jul 27, 2018

Conversation

rfay
Copy link
Member

@rfay rfay commented Jul 27, 2018

The Problem/Issue/Bug:

With the move to Docker 18.06 something had to break, and our container test for ddev-dbserver broke on windows. It turns out that mysqld won't (at least now) read config that is world-writable, as we've run into other places on ~/.my.cnf; I don't know why this would show up with a docker version change.

How this PR Solves The Problem:

  • Change the test to mount ro
  • Change so ddev generates a docker-compose.yaml that has this mount set to ro so our users don't discover this.

Manual Testing Instructions:

  • If the tests success on the windows container that's good
  • For extra credit try changing config in .ddev/mysql/<something.cnf> ON WINDOWS and see that your change takes effect.

@rfay rfay added this to the v1.1.0 milestone Jul 27, 2018
@rfay rfay self-assigned this Jul 27, 2018
@rfay rfay requested a review from andrewfrench July 27, 2018 00:06
It didn't really have anything of substance, but it *was*
failing tests, so better to push a new version
@rfay rfay changed the title Fix Windows mount of .ddev/mysql configuration (Support for Docker 18.03) Fix Windows mount of .ddev/mysql configuration (Support for Docker 18.06) Jul 27, 2018
@rfay
Copy link
Member Author

rfay commented Jul 27, 2018

This is on the right track, but not done yet. What's going on here is if you manually make the my.cnf read-only (in the container) then it passes tests.

There are two problems I think:

  • if people using windows provide a writable whatever.cnf override file, the server won't respect it.
  • Making the whole mount ro doesn't allow the container to create the mysql directory, which may not exist, and mysqld wants to importdir a whole directory.

@rfay
Copy link
Member Author

rfay commented Jul 27, 2018

Hoping this one may have all it needs. Starting nightly on it as well.

@rfay
Copy link
Member Author

rfay commented Jul 27, 2018

Yay 8 successes!

Copy link
Contributor

@andrewfrench andrewfrench left a comment

Choose a reason for hiding this comment

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

Tests are back to passing, great! I'm not currently able to test manually on Windows, so I'll have to lean on the testbots.

@rfay rfay merged commit 2f186c4 into ddev:master Jul 27, 2018
@rfay rfay deleted the 20180726_fix_dbserver_test branch July 27, 2018 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants