<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 28, 2012 at 11:19 PM, Fran McCrory <span dir="ltr"><<a href="mailto:fran@dumetella.net" target="_blank">fran@dumetella.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I was recently encouraged by a couple of friends to document my attempts to get started with Wikimedia Labs. Over the past week or so, I've found getting started with Labs to be quite buggy and difficult, even for a seasoned user of Unix, MediaWiki and Git like myself.<br>


<div><br>Ori Livneh asked me earlier this week if I would like to help out with his event-logging code, as part of the greater editor engagement project. Since I had a Labs account created back during Wikimania so I could access Gerrit (and had successfully reviewed and committed code with within Gerrit), he added me to the "editor-engagement" product so I could ssh in and take a look. However, I ran into the first of many speed bumps.<br>



<br>Apparently I had a Labs account, but not a Labs *shell* account. I submitted a request, and it was processed within eighteen hours. (Not bad, since it was a Sunday just two days before Christmas.) However, in trying to use my shiny new shell account, I soon found that I couldn't actually log into anything, because I needed to be a member of the "bastion" project to get into the separate network where instances live. This required asking a few times over the course of two days in #wikimedia-labs until someone was eventually around to add me by hand. (I'm at a loss as to why the two processes are separate; why would one desire a shell account that can't actually access anything?)<br>


<br></div></div></blockquote><div><br></div><div>Did you previously have SVN access? The process isn't as straightforward for users who previously had SVN access, since accounts must be linked; self-registration doesn't work for those users.<br>

<br></div><div>When you were given shell you were automatically added to the bastion project. That part worked properly. What didn't work for you? We recently switched the home directories and ssh authorized_keys files to glusterfs, getting rid of the old storage location. The script that adds the entries into ssh authorized keys was erroring out, and as it was christmas time no one noticed it (we need a nagios alert for this - just added bug 43503).<br>

</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Once I had bastion access, I actually tried logging into the instance in question, kubo.pmtpa.wmflabs. Setting up my .ssh/config was simple enough, but my connection would instantly die with the error "Unable to create and initialize directory '/home/fran'." Wizards in #wikimedia-labs suggested rebooting the instance, but thanks to an error the instance control interface on labsconsole wasn't even available; I had to log out and back in again for it to appear. After the instance was rebooted, I still couldn't log in... and neither could Ori, now. The wizards tried a few things, then told me they were out of ideas and to create a new instance for myself. This wasn't really an optimal solution, and it was late at this point anyway, so I retired for the night.<br>


<br></div></div></blockquote><div><br></div><div>Agreed, creating a new instance really isn't the right answer.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div dir="ltr"><div></div><div>A couple days later, the wizards fixed it and I could finally log into kubo. But alas, now I can't log into Gerrit anymore ("Server Error": "Cannot assign user name"). I'm waiting for folks to get back to me about a fix. (Incidentally, with the delays, code review is pretty much all I can help Ori with, since he's written most of the code in the time it's taken to set up.)<br>


<br></div></div></blockquote><div><br><div>You were extra lucky and tried to log into the only instance with a
 broken glusterfs home volume. It was broken on the glusterfs server. I 
fixed that today, which is why you're now able to log into it.<br></div><div><br></div><div>As for Gerrit, at some point your username was changed. You very likely encountered a bug that was fixed earlier in the week. If you changed your real name in your labsconsole preferences, it renamed your user. If you logged in with "Fran" to Gerrit, then your username changed, then tried to log in with "Fran McCrory", then Gerrit would see it as a duplicate account, since it doesn't handle username changes well.<br>

<br></div><div>I'm not totally sure how to fix this. I'm sure Chad does. I've CC'd him, in case he's not on labs-l.<br></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div dir="ltr"><div></div><div>In general, I think the experience for new users could really use some smoothing-over and rigorous testing. (In particular, why not have a single account-creation process, rather than separate accounts for Git, shell, and bastion access?)<br>


<br></div></div></blockquote><div><br></div><div>All of the bugs you've ran into were introduced in the past two weeks thanks to the switch to glusterfs, the opening of self-registration, and the MediaWiki-core fix that provides the ability to change your global auth settings via MediaWiki. Almost all of the bugs have been fixed now as well.<br>

<br></div><div>As for the account process, when you create an account you are immediately given git access and access to the labsconsole wiki. We can't give immediate shell access as that would make it impossible to block a sockpuppet user. We do have a bug open for adding a shell request immediately upon account creation (bug 43370). We also plan on allowing more community members to approve shell access (bug 43371).<br>

<br></div><div>- Ryan<br></div></div></div></div>