|
|
|
provider/openstack/provider: safer matching
bug #1257481 is because of how we are matching machines, if you have 2
environments with similar names (one is a prefix of the other) then
you can have 'juju destroy-environment short-name' actually kill all
the instances of 'short-name-but-longer'.
However, we do put a little bit more data into how we name machines,
so we can make it harder to trigger that by accident. This branch is
built on the 1.16 code base in case we decide to land it there.
The actual change is small and directly tested against HP and
Canonistack. I don't add a test because the actual test we would need
is to create 2 environments, and assert that AllInstances doesn't see
the instances in a similarly named environment.
I tried 2 regexes 'juju-ENV-machine-\d+' didn't work when testing
against canonistack, so I went with 'juju-ENV-machine-\d*'. That
should be pretty restrictive. Even if you name one environment 'ENV'
and another environment 'ENV-machine' the \d will prevent them from
matching (because the actual machines will be
juju-ENV-machine-machine-0).
I think this is as safe as we can be with a name-based approach, even
though we've discussed moving into a 'record the nodes only in state
and only delete ones recorded there', this is a pretty easy workaround
to make things nicer for real people.
https://code.launchpad.net/~jameinel/juju-core/openstack-filter-1257481/+merge/197730
(do not edit description out of merge proposal)
Patch Set 1 #
Total messages: 3
|
jameinel
Please take a look.
|
12 years, 1 month ago (2013年12月04日 15:12:55 UTC) #1 | ||||||||||||||||||||||
Please take a look.
Replacement of <https://codereview.appspot.com/37140043/> LGTM. I think this would benefit from even a local live test, though I see the desire for a real live test as the pattern matching is done server side by Openstack. The test could have a named environment then nova boot machine(s) with names that would match under the previous pattern, and verify that Instances does not return them when nova list does.
On 2013年12月04日 15:39:30, gz wrote: > Replacement of <https://codereview.appspot.com/37140043/> > > LGTM. I think this would benefit from even a local live test, though I see the > desire for a real live test as the pattern matching is done server side by > Openstack. The test could have a named environment then nova boot machine(s) > with names that would match under the previous pattern, and verify that > Instances does not return them when nova list does. Test has been added, but it looks like LBOX decided to move me to yet-another page: https://codereview.appspot.com/39030043