Documentation/4.8/Developers/Factory

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < 4.8 < Developers < Factory


For the latest Slicer documentation, visit the read-the-docs.


Overview

The Slicer factory machine is maintained by Kitware and produces dashboard builds of many software projects, including nightly, continuous, and packaged versions of Slicer and its approved extensions. See the Slicer4 dashboard.

These builds are generated every day on three different operating systems: Windows 7, Mac OS X, and Linux. Because it is not legal to run any version of Mac OS X on a virtual machine (unless its host also runs Mac OS X), the host OS is Mac OS X, and the Windows and Linux builds are run within this machine as virtual machines.

Required factory components

See dashboard prerequisites.

Host(s)

factory.kitware

Software

The factory machine runs Mac OS X v10.6.8, Snow Leopard.

  • CMake version: 3.9.0 (before 2017/07/04 was 3.5.0-rc3 with this patch)
    • Since CMake release >= 3.6 is compiled only for >= 10.7, a custom build of cmake was done with -DCMAKE_INSTALL_PREFIX:PATH=/Users/kitware/Dashboards/Support/CMake-3.9.0.app/Contents
  • Compiler llvm-3.1. Note that the default compiled shipped with XCode 4.2 is not used. See here for more details.
  • Tasks scheduled using cron
  • Nightly generation of HomebrewCasks: Installation aborted (newer system is required for homebrew/cask-repair).

Remote access: Via SSH or VNC from Kitware internal network (192.168.113.230).


Hardware

  • "Mac Pro (Mid 2010)" which has the 64-bit kernel enabled by default. See here for details.

Processor

  • 2 x 2.93 GHz 6-Core Intel Xeon

Graphics Card

  • Chipset Model: ATI Radeon HD 5770
  • Type: GPU
  • Bus PCIe
  • VRAM (total): 1024MB
  • EFI Driver Version: 01.00.436

Memory

  • 8 x 4GB = 32GB
  • Type: DDR3 ECC
  • Speed: 1333 MHz

factory-south.kitware

Software

The factory machine runs Mac OS X 10.11.6 (15G31), El Capitan

  • Tasks scheduled using cron

The virtual machines are run using the Parallels Desktop 11.

Remote access: Via SSH or VNC from Kitware internal network (10.171.2.166).

Hardware

Processor

  • 2 x 2.4 GHz 6-Core Intel Xeon

Graphics Card

  • Chipset Model: ATI Radeon HD 5770
  • Type: GPU
  • Bus PCIe
  • VRAM (total): 1024MB
  • EFI Driver Version: 01.00.436

Memory

  • 8 x 8GB = 64 GB
  • Type: DDR3 ECC
  • Speed: 1333 MHz

overload.kitware and metroplex.kitware

Kitware build servers metroplex-and-overload.jpg


Software

  • overload: Windows 7 Professional 64-bit
  • metroplex: Red Hat Enterprise Linux WS v7.0

Hardware

  • Dell Precision R7910 Motherboard,BW

Processor

  • Dual Intel® Xeon® Processor E5-2630 v3 (8C, 2.4GHz, Turbo, HT, 20M, 85W)

Graphics Card

  • NVIDIA® Quadro® K620 2GB (DP, DL-DVI-I) (1 DP to SL-DVI adapter)

Memory

  • 32GB (8x4GB) 2133MHz DDR4 RDIMM ECC

Storage

  • 2 X Integrated Intel 4 port AHCI SATA chipset controllers (tot 8 X 6.0Gb/s) SW RAID 0,1,5,10
  • 1 x 1TB Dell 4*Drive PCIe x16 M.2 Solid State Drive Card (boot)

overload.kitware

  • Windows 7 Professional - Service Pack 1 (Build 7601)
  • CMake version: 3.9.0 (before 2017/07/04 was CMake 3.7.1)
  • Compiler: VS2013 Community Edition


VM: Linux

factory-south-ubuntu.kitware

  • Ubuntu 10.04
  • CMake version: 3.9.0 (before 2017/07/04 was 3.5.0-rc3)
  • GCC version: Ubuntu 4.4.3-4ubuntu5.1
  • Tasks scheduled using cron
  • Processors: 5
  • Memory: 10GB
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 10.04.4 LTS
Release:	10.04
Codename:	lucid

These two compilers are available:

gcc/g++ 4.4.3

/usr/bin/cpp-4.4
/usr/bin/g++-4.4
/usr/bin/gcc-4.4
/usr/bin/gcov-4.4
/usr/bin/x86_64-linux-gnu-cpp-4.4
/usr/bin/x86_64-linux-gnu-g++-4.4
/usr/bin/x86_64-linux-gnu-gcc-4.4
  • In the PATH:
$ gcc --version
gcc (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
$ g++ --version
g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

gcc/g++ 4.6.4

/usr/bin/cpp-4.6
/usr/bin/g++-4.6
/usr/bin/gcc-4.6
/usr/bin/gcov-4.6
/usr/bin/x86_64-linux-gnu-cpp-4.6
/usr/bin/x86_64-linux-gnu-g++-4.6
/usr/bin/x86_64-linux-gnu-gcc-4.6

Installed following these instructions:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get update
sudo apt-get install gcc-4.6
sudo apt-get install g++-4.6

Remote access

Remote access: Via SSH or VNC from Kitware internal network (10.171.2.113).

VM: Windows 7

  • Tasks are scheduled using the Windows Task Scheduler (Start->All Programs->Accessories->System Tools->Task Scheduler)
  • On Windows, instead of bash, we use batch scripts comprised of commands to call ctest to run all the nightly scripts.

factory-south-win7.kitware

This VM is shutdown, build have been moved to overload.kitware

  • Windows 7 Ultimate N - Service Pack 1 (Build 7601) on an x86 platform.
  • CMake version: 3.5.0-rc3
  • Compiler: VS2013 Community Edition
  • Processors: 6
  • Memory: 16GB


Also, keep in mind the Documentation/4.8/Developers/Tutorials/DashboardSetup#Remarks remarks about building a dashboard on a Windows machine. These all apply here.

Remote access: Via Remote Desktop from Kitware internal network (10.171.2.245).

Maintenance

Check Virtual Machines (factory-south-ubuntu)

factory-south-win7 VM is shutdown, build have been moved to overload.kitware

When

Every day (or as soon as issues are suspected)

What

  • Try to:
    • SSH into factory-south-ubuntu
  • If failure:
    • Connect to factory.south and check the state of the virtual machines.
  • Are the virtual machine unresponsive ?
  • No -> No further action required
  • Yes -> Read below
    • Kill both VMs
    • Restart the host (factory-south)
    • Manually start the virtual machines
    • If needed, manually restarts the nightly build (See below)

Manually restart the night builds

If the factory machines were restarted after the regular Nightly startup time, the nightly scripts will have to be explicitly started.

  • Linux: Run /home/kitware/Dashboards/DashboardScripts/factory-south-ubuntu.sh
  • MacOSX: Run /Users/kitware/DashboardScripts/factory.sh
  • Windows: Open "Task Scheduled" -> slicer -> right click on "Nightly" -> Start

Nightly Build startup times

  • Linux: 11:10pm
  • MacOSx: 11:10pm
  • Windows: Midnight