Testing Server
To properly try potential Workbench server updates you have to create a testing server. It’s not a good idea to test on our main server! Although for the tests to be as relevant as possible it’s better to have your testing environment closely resemble the production one. In our case in the first place this implies the state system drive of the server instance. In the second place it’s the shared FSx Lustre storage with home directories and shared libraries. Testing instance shouldn’t necessarily be of the same size as the server one, we can use a smaller one. And things like Open ID login are not so important, we can live with plain username-password login interface and the simplest network interface.
To start an instance with the same system state (=content of the system drive) you first need to create an image of the base instance. The easiest way is to select the base instance in the list and click Actions > Image and templates > Create image. When the image is created, you can start a new instance from it. Select all the parameters as you did for the main instance, but pick a smaller size unless you really require a big testing server.
Once the instance is running, you can mount the FSx Lustre storage using the same instructions as those for the main server.
We log in to our main server using the convenient Open ID interface. To have the same for the testing server we’d need to replicate the same network setup. It’s easier to just turn off Open ID in the testing server. Connect via ssh and change:
# /etc/rstudio/rserver.conf
auth-openid=0
You’ll also need to assign some password for your account:
sudo passwd <user> # will ask to enter a password
Restart RStudio with sudo rstudio-server restart and try logging in.
Usually you can see the problems RStudio server is experiencing by running
sudo rstudio-server status. Some of the errors may talk about Nginx not being
able to bind() to [::]:80. To fix it, comment one of the listen lines in
/etc/nginx/sites-enabled/default as follows:
#listen 80 default_server;
listen [::]:80 default_server;
and then restart nginx with sudo service nginx restart.