ARC client on MacOS High Sierra
The MacOS packages are old and do not work with newer versions of ARC.
We suggest you to use a Vagrant box with preinstalled and preconfigured ARC client – all settings are customized for Slovenian supercomputing network – SLING.
First install brew, if not available:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then install the following software:
brew cask install virtualbox ==> Tapping caskroom/cask Cloning into '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask'... remote: Counting objects: 3940, done. remote: Compressing objects: 100% (3895/3895), done. remote: Total 3940 (delta 45), reused 809 (delta 41), pack-reused 0 Receiving objects: 100% (3940/3940), 1.34 MiB | 0 bytes/s, done. Resolving deltas: 100% (45/45), done. Checking connectivity... done. Tapped 0 formulae (3,948 files, 4.2MB) ==> Creating Caskroom at /usr/local/Caskroom ==> We'll set permissions properly so we won't need sudo in the future Password: ==> Satisfying dependencies ==> Downloading http://download.virtualbox.org/virtualbox/5.2.2/VirtualBox-5.2.2-119230-OSX.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask virtualbox ==> Installing Cask virtualbox ==> Running installer for virtualbox; your password may be necessary. ==> Package installers may write to any location; options such as --appdir are ignored. ==> installer: Package name is Oracle VM VirtualBox ==> installer: Upgrading at base path / ==> installer: The upgrade was successful. ? virtualbox was successfully installed! brew cask install vagrant ==> Satisfying dependencies ==> Downloading https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask vagrant ==> Installing Cask vagrant ==> Running installer for vagrant; your password may be necessary. ==> Package installers may write to any location; options such as --appdir are ignored. ==> installer: Package name is Vagrant ==> installer: Installing at base path / ==> installer: The install was successful. ? vagrant was successfully installed! $ brew cask install vagrant-manager ==> Satisfying dependencies ==> Downloading https://github.com/lanayotech/vagrant-manager/releases/download/2.6.0/vagrant-manager-2.6.0.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask vagrant-manager ==> Installing Cask vagrant-manager ==> Moving App 'Vagrant Manager.app' to '/Applications/Vagrant Manager.app'. ? vagrant-manager was successfully installed!
Some OS-es are available here: https://app.vagrantup.com/bento
mkdir arcclient cd arcclient vagrant init bento/centos-7.4
Vagrantfile contains these settings:
Vagrant.configure("2") do |config| config.vm.box = "bento/centos-7.4"
Run it:
$ vagrant init bento/centos-7.4 $ vagrant up --provider virtualbox Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'bento/centos-7.4' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box 'bento/centos-7.4' default: URL: https://vagrantcloud.com/bento/centos-7.4 ==> default: Adding box 'bento/centos-7.4' (v201710.25.0) for provider: virtualbox default: Downloading: https://vagrantcloud.com/bento/boxes/centos-7.4/versions/201710.25.0/providers/virtualbox.box ==> default: Successfully added box 'bento/centos-7.4' (v201710.25.0) for 'virtualbox'! ==> default: Importing base box 'bento/centos-7.4'... ==> default: Matching MAC address for NAT networking... ==> default: Checking if box 'bento/centos-7.4' is up to date... ==> default: Setting the name of the VM: singularity-24_default_1511787162788_52929 ==> default: Fixed port collision for 22 => 2222. Now on port 2200. ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2200 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2200 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection reset. Retrying... default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... default: Removing insecure key from the guest if it's present... default: Key inserted! Disconnecting and reconnecting using new SSH key... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not match the installed version of default: VirtualBox! In most cases this is fine, but in rare cases it can default: prevent things such as shared folders from working properly. If you see default: shared folder errors, please make sure the guest additions within the default: virtual machine match the version of VirtualBox you have installed on default: your host and reload your VM. default: default: Guest Additions Version: 5.1.30 default: VirtualBox Version: 5.2 ==> default: Mounting shared folders... default: /vagrant => /Users/barbara/singularity-2.4
Update the OS and install the required packages:
$ vagrant ssh -c /bin/sh $ sudo yum -y update $ sudo yum -y install epel-release $ sudo yum -y install nordugrid-arc-client nordugrid-arc-plugins-globus $ cd /etc/yum.repos.d/ $ sudo wget http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo $ sudo yum -y install ca-policy-egi-core fetch-crl
Now configure the client:
Download the vomsdir configuration and place it in the .arc directory within your home folder: vomsdir.tar.gz
$ mkdir .arc $ cd .arc $ wget http://www-old.sling.si/sling/wp-content/uploads/2017/11/vomsdir.tar.gz $ tar xvf vomsdir.tar.gz $ ls -la vomsdir total 12 drwxr-xr-x. 9 vagrant vagrant 211 Nov 27 13:16 . drwxrwxr-x. 3 vagrant vagrant 43 Nov 27 13:27 .. drwxr-xr-x. 2 vagrant vagrant 60 Sep 8 08:07 atlas drwxr-xr-x. 2 vagrant vagrant 31 Nov 27 13:11 cipkebip drwxr-xr-x. 2 vagrant vagrant 31 Nov 27 13:11 fri.vo.sling.si drwxr-xr-x. 2 vagrant vagrant 31 Sep 8 08:07 gen.vo.sling.si drwxr-xr-x. 2 vagrant vagrant 31 Nov 27 13:16 hpc.fis.unm.si -rw-r--r--. 1 vagrant vagrant 101 Sep 8 08:07 lcg-voms2.cern.ch.lsc drwxr-xr-x. 2 vagrant vagrant 31 Sep 8 08:07 nsc.ijs.si drwxr-xr-x. 2 vagrant vagrant 60 Sep 8 08:07 ops -rw-r--r--. 1 vagrant vagrant 97 Sep 8 08:07 voms2.cern.ch.lsc -rw-r--r--. 1 vagrant vagrant 68 Sep 8 08:07 voms.sling.si.lsc
Now configure the vomses. Download the configuration file to vomses directory: vomses.tar.gz
$ wget http://www-old.sling.si/sling/wp-content/uploads/2017/11/vomses.tar.gz $ tar xvf vomses.tar.gz $ ls -la vomses total 24 drwxr-xr-x. 2 vagrant vagrant 119 Nov 28 11:02 . drwxr-xr-x. 4 vagrant vagrant 75 Nov 28 11:06 .. -rw-r--r--. 1 vagrant vagrant 94 Nov 28 11:02 cipkebip -rw-r--r--. 1 vagrant vagrant 102 Jan 13 2017 fri.vo.sling.si -rw-r--r--. 1 vagrant vagrant 101 Dec 1 2016 gen.vo.sling.si -rw-r--r--. 1 vagrant vagrant 100 Dec 1 2016 hpc.fis.unm.si -rw-r--r--. 1 vagrant vagrant 92 Nov 28 11:00 nsc.ijs.si -rw-r--r--. 1 vagrant vagrant 175 Jan 4 2017 ops
Now configure the client (you can transfer this file) or copy-paste the following settings:
$ cat ~/.arc/client.conf [common] keypath=/home/vagrant/.arc/userkey.pem certificatepath=/home/vagrant/.arc/usercert.pem cacertificatesdirectory=/etc/grid-security/certificates vomsespath=/home/vagrant/.arc/vomses [computing/jost] url=ldap://jost.arnes.si:2135 infointerface=org.nordugrid.ldapng jobinterface=org.nordugrid.gridftpjob [computing/nsc] url=ldap://nsc.ijs.si:2135 infointerface=org.nordugrid.ldapng jobinterface=org.nordugrid.gridftpjob
To copy the certificate from the host machine to the VM, you need to install vagrant-scp plugin. Type this command on the host machine:
$ vagrant plugin install vagrant-scp
Copy the certificate to the VM:
vagrant scp /home/barbara/.arc/userkey.pem /home/vagrant/.arc
vagrant scp /home/barbara/.arc/usercert.pem /home/vagrant/.arc
Your client is ready to be used.
Test it (back in the vagrant box):
arcproxy -S gen.vo.sling.si