<p dir="ltr">Ah yes, of course, you are totally right. It must go!</p>
<div class="gmail_quote">On 17 Jul 2014 10:17, "John Meinel" <<a href="mailto:john@arbash-meinel.com">john@arbash-meinel.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
> From what I can tell poking around the code base, the only place that still<br>
> uses the hash(password) is actually in the Dummy provider.<br>
<br>
</div>That's strictly true, but I don't think it helps. We only use ssh to provision<br>
machines at bootstrap time. The usual provisioning case still uses cloudinit.<br>
In this case, we don't use the hash(password) thing, but we *do* change<br>
the password immediately when the agent starts, and we need to.<br>
We *could* change the provisioner to provision machines synchronously,<br>
but this would seem to me to add needless fragility to the system<br>
(if the provisioner goes down while a machine is coming up, we'll<br>
lose that machine).<br>
<br>
If changing the mongodb authorization information is a problem, can't<br>
we just restart the agent when the password is changed?<br></blockquote><div><br></div><div>So this isn't quite the same thing. Because this is changing your API password vs changing your DB password. IIRC machines that will be api servers (other than machine-0) actually use the API to set their password and then use the new password to initialize the database. Certainly we'll need to validate that assertion.</div>
<div><br></div><div>And the problem we are running into is changing the *database* password because we want to use mgo.Session copying, which only remembers the initial password.</div><div>I do think we can just reopen the database when we *do* have to change our password as long as we handle that early enough that we don't actually have another connection open somewhere else.</div>
<div>John</div><div>=:-></div><div><br></div><div> </div></div></div></div>
</blockquote></div>