-
Notifications
You must be signed in to change notification settings - Fork 510
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
Use Controller Config for Management and HA Spaces as Constraints #8352
Merged
jujubot
merged 169 commits into
juju:develop
from
manadart:constraints-from-space-config
Feb 15, 2018
Merged
Use Controller Config for Management and HA Spaces as Constraints #8352
jujubot
merged 169 commits into
juju:develop
from
manadart:constraints-from-space-config
Feb 15, 2018
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Instead of being "collection already exists" it returns "collection 'foo' already exists". But in both cases they end with "already exists", so we'll live with it and just move on.
CI: bring 2.2 acceptancetests up-to-date juju#8293 Ensure 2.3 branch is up to date with acceptancetests changes from develop. The new ci-run will be testing from in tree, so the tests and scripts need to be up to date.
CI: bring 2.3 acceptancetests up-to-date Ensure 2.3 branch is up to date with acceptancetests changes from develop. The new ci-run will be testing from in tree, so the tests and scripts need to be up to date.
…ditConversationEventually Use testing clock in TestLoginAddsAuditConversationEventually ## Description of change TestLoginAddsAuditConversationEventually used wallclock which caused test failure when the test was executed 'at the tick', this PR fixes it. ## QA steps Only a test fix. ## Bug reference https://bugs.launchpad.net/juju/+bug/1742697/
There was probably a transition period where this was useful, but we actually don't want to be running juju-mongodb on Xenial. See https://bugs.launchpad.net/juju/+bug/1743901 where we fell back to juju-mongodb because there was a temporary problem with the archive mirror. But eventually juju-mongodb3.2 was found and juju started trying to use that instead of the old mongo 2.4, and that just breaks everything because it tries to launch the new mongo on the old database.
On Trusty, we shouldn't ever be installing juju-mongodb3.2, so we just always pick an exact version to install. We also remove a bunch of series that we don't actually support anymore.
…-1743901 On Xenial, we don't actually want to fall back to juju-mongodb. ## Description of change There was probably a transition period where this was useful, but we actually don't want to be running juju-mongodb on Xenial. See https://bugs.launchpad.net/juju/+bug/1743901 where we fell back to juju-mongodb because there was a temporary problem with the archive mirror. But eventually juju-mongodb3.2 was found and juju started trying to use that instead of the old mongo 2.4, and that just breaks everything because it tries to launch the new mongo on the old database. ## QA steps The actual underlying bug meant having an archive mirror that *has* juju-mongodb but *doesn't* have juju-mongodb3.2. I'm not sure we need to go to that level to test this. But ideally we would just fail to install and people can go fix their mirror, rather than succeeding but with a version that will break us in the future. ## Documentation changes None. ## Bug reference [lp:1743901](https://bugs.launchpad.net/juju/+bug/1743901)
2.2 into 2.3 ## Description of change Just bringing the 2.2 branch into 2.3. This brings in the fix for bug #1743901. And ignores the backported CI tests (assuming those have already been brought into 2.3 independently). ## QA steps None. ## Documentation changes None. ## Bug reference See original PRs.
This allows updating or unsetting a subset of controller config values in state. At the moment this is limited to audit log settings - once the work has been done to determine how other values are used this can be broadened to more of them. Removing a value results in the default value being used.
This required adding v5 of the Controller API.
Moved cmd/juju/controller/getconfig.go to configcommand.go
When storing config that has been validated with the schema library, any values that are in the schema as List(x) will end up being stored as []interface{}. Those values aren't comparable, so the `old == new` check in settingsUpdateOps would panic. Use reflect.DeepEqual instead.
There is a new test to ensure that a nil pointer for current space names is preserved when one is passed in and there are no implicit constraints.
Cleaned up test semantics.
…ation. To force the issue, you can add this patch: diff --git a/worker/periodicworker.go b/worker/periodicworker.go index 27d0f94..c560bbc 100644 --- a/worker/periodicworker.go +++ b/worker/periodicworker.go @@ -108,6 +108,8 @@ func (w *periodicWorker) run(call PeriodicWorkerCall, period time.Duration) erro return err } } + // XXX: Force race conditions to become apparent, do *not* leave this in code + time.Sleep(time.Millisecond) timer.Reset(nextPeriod(period, w.jitter)) } } And see that the old test would fail, while the new test still passes. The synchronization points are now: a) We know that call() has been triggered 2 times because we waited for it. b) We know that call() won't be called again because we've called Kill(). c) We know that all nextPeriod have been called because we Wait() for the Worker to notice the Kill() and exit, which means it has gone around its loop and called next period and gotten all the way around to <-stop. I also confirmed that moving the w.Kill() after the last select properly fails the test because it gets the wrong number of nextPeriods (it gets an extra one late, and fails to record both of the earlier ones.)
…ttent-test-1745332
simply because the agent pinger isn't alive on the server yet.
Conflicts: scripts/win-installer/setup.iss snap/snapcraft.yaml state/upgrades_test.go version/version.go Most conflicts are just do to the version bump to 2.3.4 (since 2.3.3 was released.) One small conflict about both branches adding a new upgrade test.
|
jameinel
approved these changes
Feb 15, 2018
…oller config, these are applied as constraints to the bootstrap and enable-ha commands.
There is a new test to ensure that a nil pointer for current space names is preserved when one is passed in and there are no implicit constraints.
Cleaned up test semantics.
|
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of change
When a controller configuration is supplied with names for management space and/or HA space, these need to be included as constraints to both the bootstrap and enable-ha commands in order to ensure correct provisioning.
This PR ensures the desired behaviour by adding functionality to merge implied constraints from the controller config with those accompanying the command execution.
QA steps
New unit tests, and bootstrap tests on GUIMAAS.
Documentation changes
Workflow will be affected insofar as specifying such space configs will cause a bootstrap failure if no machine is available in the space(s) or if the environ does not support spaces.
Bug reference
N/A