228 | | Using my general slice notes, [wiki:JBSsandbox/SliceNotes#Getlogininfo get login info]. |
229 | | |
230 | | Using my general slice notes, [wiki:JBSsandbox/SliceNotes#Loginstuff do other login-related stuff]. |
231 | | |
232 | | Using my general slice notes, [wiki:JBSsandbox/SliceNotes#Pingteststuff test connectivity]. Trying "the fast way" from one node in each slice is probably good enough, but "the reliable way" will work too if you're not in a hurry. |
| 228 | This will often expose errors of the form "I don't have a sliver at this aggregate at all, for some reason". Fix any of those before continuing. |
| 229 | |
| 230 | Get login info: |
| 231 | |
| 232 | {{{ |
| 233 | cd ~/slices/plastic-slices/ssh_config |
| 234 | for slicename in $slices ; do ams="" ; for rspec in ${rspecs[$slicename]} ; do somni $slicename $rspec ; ams="$ams -a $am" ; done ; readyToLogin --no-keys --output --prefix=$slicename --usercredfile=$HOME/.gcf/$USER-geni-usercred.xml --slicecredfile=$HOME/.gcf/$slicename-cred.xml $ams $slicename ; done |
| 235 | for slicename in $slices ; do mv -f $slicename-sshconfig.txt $slicename ; rm -f $slicename*.xml $slicename*.json $slicename-logininfo.txt ; done |
| 236 | }}} |
| 237 | |
| 238 | Extract your login info from those files, and put it into your ~/.ssh/config file, via whatever means you find appealing. |
| 239 | |
| 240 | Find old SSH keys for IP addresses that ExoGENI has reused, and print lines to remove them: |
| 241 | |
| 242 | {{{ |
| 243 | logins grep -- -eg- |
| 244 | for login in $logins ; do ssh $login true |& grep ssh-keygen | sed -e 's/remove with://' ; done |
| 245 | }}} |
| 246 | |
| 247 | Copy and paste the output (simply exec-ing it doesn't seem to work, and we haven't debugged why); then repeat the above and expect no output. |
| 248 | |
| 249 | Make sure you can log in, and that each login's hostname is as expected: |
| 250 | |
| 251 | {{{ |
| 252 | logins cat |
| 253 | shmux -c "hostname" $logins | egrep -v '(.+): \1' |
| 254 | }}} |
| 255 | |
| 256 | Expect no output from that, except possibly messages about new SSH keys. Run it again in that case, and address any other issues if you get any output. |
| 257 | |
| 258 | This will often expose errors of the form "I can't log in to my hosts at this aggregate, for some reason". Fix any of those before continuing. |
| 259 | |
| 260 | If you want to copy some dotfiles to each host, now would be an opportune time to do that. Josh used to copy the files in his ~/.cfhome directory, like so: |
| 261 | |
| 262 | {{{ |
| 263 | for slicename in $slices ; do loginfile=~/tmp/logins-$slicename.txt ; export PSSH_ERRDIR=~/tmp/prsync-errors/$slicename ; prsync -h $loginfile -a ~/.cfhome/ '' ; done |
| 264 | }}} |
| 265 | |
| 266 | Copying in connectivity test files: |
| 267 | |
| 268 | {{{ |
| 269 | for slicename in $slices ; do loginfile=~/tmp/logins-$slicename.txt ; export PSSH_ERRDIR=~/tmp/prsync-errors/$slicename ; prsync -h $loginfile -a ~/slices/*/reachability/addrs-$slicename.conf pingtest.conf ; done |
| 270 | }}} |
| 271 | |
| 272 | Log in to one host in each slice, and test connectivity: |
| 273 | |
| 274 | {{{ |
| 275 | fping -q -c 10 < pingtest.conf |& grep -v "ICMP Host Unreachable" |
| 276 | }}} |
| 277 | |
| 278 | If anything isn't reachable, debug why not. |