diff --git a/config.example/group_vars/slurm-cluster.yml b/config.example/group_vars/slurm-cluster.yml index 89bccdde4..e8597677a 100644 --- a/config.example/group_vars/slurm-cluster.yml +++ b/config.example/group_vars/slurm-cluster.yml @@ -71,7 +71,7 @@ slurm_cluster_install_nvidia_driver: yes # NFS # ################################################################################ # Default exports: -# - /home: shared home directories, needed for Open OnDemand and best practice +# - /home: shared home directories, best practice for a Slurm cluster # - /sw: shared space for software installs, used for Spack or EasyBuild nfs_exports: - path: /home @@ -159,24 +159,6 @@ slurm_cluster_install_openmpi: false openmpi_install_prefix: "/usr/local" openmpi_configure: "./configure --prefix={{ openmpi_install_prefix }} --disable-dependency-tracking --disable-getpwuid --with-pmix={{ pmix_install_prefix }} --with-hwloc={{ hwloc_install_prefix }} --with-pmi={{ slurm_install_prefix }} --with-slurm={{ slurm_install_prefix }} --with-libevent=/usr" -################################################################################ -# Open OnDemand # -################################################################################ -install_open_ondemand: no -# The OOD Linux-host adapter runs interactive apps inside an Apptainer/Singularity -# container. DeepOps no longer installs Singularity (the wrapper role is retired; -# Enroot/Pyxis is the supported Slurm runtime), so install Apptainer/Singularity on -# the login nodes yourself before enabling this adapter. -ood_install_linuxhost_adapter: no - -servername: '{{ ansible_fqdn }}' -httpd_port: 9050 -httpd_listen_addr_port: - - 9050 -httpd_use_rewrites: false -node_uri: /node -rnode_uri: /rnode - ################################################################################ # Allow the User Permission to Set GPU Clocks # ################################################################################ diff --git a/docs/deepops/architecture.md b/docs/deepops/architecture.md index 498292843..469a5f7c1 100644 --- a/docs/deepops/architecture.md +++ b/docs/deepops/architecture.md @@ -99,7 +99,6 @@ Roles run as part of the various playbooks. Includes default values and tasks as │ ├── nvidia-mig-manager │ ├── nvidia-network-operator │ ├── nvidia-peer-memory -│ ├── ood-wrapper │ ├── openmpi │ ├── openshift │ ├── prometheus diff --git a/docs/deepops/testing.md b/docs/deepops/testing.md index 95125287c..2413b336c 100644 --- a/docs/deepops/testing.md +++ b/docs/deepops/testing.md @@ -162,6 +162,6 @@ galaxy_info: The Slurm and Kubernetes deployment guides both document cluster verification steps. These should be run during the installation process to validate a GPU workload can be executed on the cluster. -Additional services such as Kubeflow, Open OnDemand, or Monitoring may have additional validation steps that are documented in the corresponding DeepOps READMEs and the official documentation. +Additional services such as Kubeflow or Monitoring may have additional validation steps that are documented in the corresponding DeepOps READMEs and the official documentation. For workloads that can be used as post-deployment validation, see the example workloads for [k8s](../../workloads/examples/k8s/) and [slurm](../../workloads/examples/slurm). diff --git a/docs/misc/network-ports.md b/docs/misc/network-ports.md index 88003de4f..626e35c3d 100644 --- a/docs/misc/network-ports.md +++ b/docs/misc/network-ports.md @@ -52,4 +52,3 @@ or listing known ports that we configure within DeepOps itself. - Grafana web interface: 3000/tcp - Prometheus node exporter: 9100/tcp - DCGM node exporter: 9400/tcp -- Open OnDemand: 9050/tcp diff --git a/docs/slurm-cluster/README.md b/docs/slurm-cluster/README.md index 0fa9d534a..4d5bda512 100644 --- a/docs/slurm-cluster/README.md +++ b/docs/slurm-cluster/README.md @@ -187,7 +187,7 @@ Pay attention to the playbook output in the terminal. The NCCL compilation and s Now that Slurm is installed, try a ["Hello World" example using MPI](../../workloads/examples/slurm/mpi-hello/README.md). -Read through the [slurm usage guide](slurm-usage.md) and [Open OnDemand guide](ood.md) for more information. +Read through the [slurm usage guide](slurm-usage.md) for more information. ## Prolog and Epilog @@ -232,9 +232,9 @@ For information about configuring a shared NFS filesystem on your Slurm cluster, You may optionally choose to install a tool for managing additional packages on your Slurm cluster. See the documentation on [software modules](./software-modules.md) for information on how to set this up. -## Installing Open on Demand +## Open OnDemand -[Open OnDemand](https://openondemand.org/) can be installed by setting the `install_open_ondemand` variable to yes before running the `slurm-cluster.yml` playbook. +DeepOps no longer bundles an Open OnDemand installer. Sites that want the [Open OnDemand](https://openondemand.org/) HPC portal on their Slurm cluster should deploy it directly from the upstream project, following its own [installation documentation](https://osc.github.io/ood-documentation/latest/installation.html). ## Pyxis and Enroot diff --git a/docs/slurm-cluster/ood-images/ood-01.png b/docs/slurm-cluster/ood-images/ood-01.png deleted file mode 100644 index a5f25677e..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-01.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-02.png b/docs/slurm-cluster/ood-images/ood-02.png deleted file mode 100644 index cee740c7a..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-02.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-03.png b/docs/slurm-cluster/ood-images/ood-03.png deleted file mode 100644 index 8314d33ff..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-03.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-04.png b/docs/slurm-cluster/ood-images/ood-04.png deleted file mode 100644 index 021cbc543..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-04.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-05.png b/docs/slurm-cluster/ood-images/ood-05.png deleted file mode 100644 index 3bedac88f..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-05.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-06.png b/docs/slurm-cluster/ood-images/ood-06.png deleted file mode 100644 index 967a75030..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-06.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-07.png b/docs/slurm-cluster/ood-images/ood-07.png deleted file mode 100644 index d4e07eff5..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-07.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-08.png b/docs/slurm-cluster/ood-images/ood-08.png deleted file mode 100644 index 13c8bb9ae..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-08.png and /dev/null differ diff --git a/docs/slurm-cluster/ood-images/ood-09.png b/docs/slurm-cluster/ood-images/ood-09.png deleted file mode 100644 index 1b389620c..000000000 Binary files a/docs/slurm-cluster/ood-images/ood-09.png and /dev/null differ diff --git a/docs/slurm-cluster/ood.md b/docs/slurm-cluster/ood.md deleted file mode 100644 index 8691e839d..000000000 --- a/docs/slurm-cluster/ood.md +++ /dev/null @@ -1,58 +0,0 @@ -# OOD - -- [OOD](#ood) - - [Introduction](#introduction) - - [Deploying](#deploying) - - [Access](#access) - - [Walkthrough](#walkthrough) - - [VS Code Server](#vs-code-server) - -## Introduction - -[Open OnDemand](https://openondemand.org/) is an open-source HPC portal that can be deployed alongside Slurm to provide a useful frontend to the cluster. This allows users to launch interactive sessions through the browser rather than from the command line. - -## Deploying - -When [deploying slurm with the slurm-cluster.yml playbook](README.md), setting the `install_open_ondemand` variable to `true` will also install Open OnDemand. This can be accomplished by overwriting the variable in `config/group_vars/slurm-cluster.yml`. - -## Access - -Once deployed, Open OnDemand (OOD) may be accessed via browser at http://:9050/. Login credentials: - -User: _the user that ran the ansible playbook_\ -Password: deepops - -These settings can also be changed by altering the variables in `config/group_vars/slurm-cluster.yml`. - -## Walkthrough - -Once logged into OOD, you'll be presented with a simple GUI. For this walkthrough, we'll launch a few interactive apps. - -### VS Code Server - -Click on the "Interactive Apps" button in the menu bar. Then click on the VS Code Server menu item. -![OOD 02](ood-images/ood-02.png) - -Configure your desired options for the VS Code Server that's being launched. The defaults are 1 GPU and 1 hour of reservation. If you do not enter a working directory, then your `$HOME` directory will be used. Click on the "Launch" button to start the server. -![OOD 03](ood-images/ood-03.png) - -Once the server is ready, you can click on the "Connect to Code Server" button. -![OOD 04](ood-images/ood-04.png) - -Where you will now have a VS Code session tied to the GPU resources you requested. Happy coding! -![OOD 05](ood-images/ood-05.png) - -Click on the "Interactive Apps" button in the menu bar. Then click on the "Hackathon Desktop" (this name might vary). -![OOD 02](ood-images/ood-02.png) - -Configure the Desktop with the requested reservation time, number of nodes, and number of GPUs requested. Click on the "Launch" button to start. -![OOD 06](ood-images/ood-06.png) - -The session will start and might take a minute or two to fully launch. -![OOD 07](ood-images/ood-07.png) - -Once launched, click on "Launch Desktop" to get a remote session view. -![OOD 08](ood-images/ood-08.png) - -The remote session view allows you to interact with the resources you requested as if it were a desktop system sitting in front of you. -![OOD 09](ood-images/ood-09.png) diff --git a/playbooks/slurm-cluster.yml b/playbooks/slurm-cluster.yml index e19a038f2..3f0788308 100644 --- a/playbooks/slurm-cluster.yml +++ b/playbooks/slurm-cluster.yml @@ -137,10 +137,6 @@ hostlist: "{{ rsyslog_client_group | default('slurm-node') }}" when: slurm_enable_rsyslog_client|default(true) -- name: Install Open OnDemand - import_playbook: slurm-cluster/open-ondemand.yml - when: install_open_ondemand - - name: Set Permissions to adjust GPU Clocks speeds import_playbook: utilities/gpu-clocks.yml when: allow_user_set_gpu_clocks diff --git a/playbooks/slurm-cluster/open-ondemand.yml b/playbooks/slurm-cluster/open-ondemand.yml deleted file mode 100644 index 8b375f0c3..000000000 --- a/playbooks/slurm-cluster/open-ondemand.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- hosts: slurm-master[0] - become: yes - roles: - - {role: ood-wrapper, ood_is_server: yes } - -- hosts: slurm-node - become: yes - roles: - - {role: ood-wrapper, ood_is_client: yes } diff --git a/roles/ood-wrapper/defaults/main.yml b/roles/ood-wrapper/defaults/main.yml deleted file mode 100644 index b5c893080..000000000 --- a/roles/ood-wrapper/defaults/main.yml +++ /dev/null @@ -1,84 +0,0 @@ ---- -ood_source_version: "v2.0.9" -ood_config_dir: /etc/ood/config -ood_base_dir: /opt/ood - -# Cluster configuration -ood_cluster_config_dir: '{{ ood_config_dir }}/clusters.d' -ood_cluster_title: "NVIDIA DeepOps Cluster" -ood_cluster_name: "deepops" # has to match Slurm cluster name -ood_default_password: "deepops" -ood_install_linuxhost_adapter: yes - -ood_build_dir: "/tmp/ood-build" -ood_source_dir: "{{ ood_build_dir }}/ondemand" - -# List of extra OOD "apps" to install -ood_install_apps: - bc_osc_codeserver: - repo: https://github.com/OSC/bc_osc_codeserver.git - dest: /var/www/ood/apps/sys - version: gtc - -# OOD front page config -ood_frontpage_config : | - pun_custom_env: - OOD_DASHBOARD_TITLE: "NVIDIA DeepOps Cluster" - OOD_BRAND_BG_COLOR: "#76B900" - OOD_BRAND_LINK_ACTIVE_BG_COLOR: "#333" - OOD_NAVBAR_TYPE: "inverse" - -# Virtual Desktop app configuration -ood_desktops_dir: /etc/ood/config/apps/bc_desktop -ood_desktop_app_title: "NVIDIA DeepOps Desktop" -ood_desktop_app_dir: /var/www/ood/apps/sys/bc_desktop -ood_desktop_app_def_gpus: 1 -ood_desktop_app_cpus_per_gpu: 2 -ood_desktop_app_mem_per_gpu: 4G - -# VS Code Server app configuration -ood_codeserver_app_dir: /var/www/ood/apps/sys/bc_osc_codeserver -ood_codeserver_app_def_gpus: 1 -ood_codeserver_app_cpus_per_gpu: 2 -ood_codeserver_app_mem_per_gpu: 4G - -# Linuxhost adapter configuration -singularity_image_dir: /mnt/shared/singularity-images -ood_linuxhost_adapter_script: | - #!/bin/bash - set -e - - PAM_UID=$(id -u "${PAM_USER}") - - if [ "${PAM_SERVICE}" = "sshd" -a "${PAM_UID}" -ge 1000 ]; then - /usr/bin/systemctl set-property "user-${PAM_UID}.slice" \ - MemoryAccounting=true MemoryLimit=64G \ - CPUAccounting=true \ - CPUQuota=700% - fi -ood_linuxhost_adapter_config: | - --- - v2: - metadata: - title: "NVIDIA DeepOps Cluster Login Node" - hidden: true - login: - host: "localhost" - job: - adapter: "linux_host" - submit_host: "localhost" - ssh_hosts: - - localhost - site_timeout: 7200 - debug: true - singularity_bin: /usr/bin/singularity - singularity_bindpath: /etc,/media,/mnt,/opt,/run,/srv,/usr,/var,/users - singularity_image: {{ singularity_image_dir }}/ubuntu-22.04.simg - # Enabling strict host checking may cause the adapter to fail if the user's known_hosts does not have all the roundrobin hosts - strict_host_checking: false - -### -ood_url_codeserver_src: https://github.com/cdr/code-server/releases/download/2.1698/code-server2.1698-vsc1.41.1-linux-x86_64.tar.gz - -ood_is_server: no -ood_is_client: no diff --git a/roles/ood-wrapper/tasks/client.yml b/roles/ood-wrapper/tasks/client.yml deleted file mode 100644 index fea9feefa..000000000 --- a/roles/ood-wrapper/tasks/client.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -- name: install dependencies - package: - name: "{{ ood_client_sw_deps }}" - state: present - when: ood_client_sw_deps is defined - -- name: install turbovnc - apt: - deb: "{{ ood_url_turbovnc_pkg }}" - tags: - - vnc - when: ansible_distribution == 'Ubuntu' - -- name: install turbovnc - yum: - name: "{{ ood_url_turbovnc_pkg }}" - state: present - tags: - - vnc - when: ansible_os_family == 'RedHat' - -- name: install codeserver - unarchive: - src: "{{ ood_url_codeserver_src }}" - remote_src: yes - dest: /usr/local/bin - exclude: - - README.md - - LICENSE.txt - - ThirdPartyNotices.txt - creates: /usr/local/bin/code-server - mode: 0755 - extra_opts: - - --strip-components=1 - tags: - - codeserver diff --git a/roles/ood-wrapper/tasks/linuxhost-adapter.yml b/roles/ood-wrapper/tasks/linuxhost-adapter.yml deleted file mode 100644 index 68be5d339..000000000 --- a/roles/ood-wrapper/tasks/linuxhost-adapter.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -- name: configure PAM - lineinfile: - path: "/etc/pam.d/systemd-user-slice" - line: "session required pam_exec.so type=open_session /etc/security/limits.sh" - mode: 0644 - create: yes - tags: - - linuxhost-adapter - -- name: configure script - blockinfile: - path: "/etc/security/limits.sh" - block: | - {{ ood_linuxhost_adapter_script }} - mode: 0755 - create: yes - tags: - - linuxhost-adapter - -- name: configure linuxhost-adapter - blockinfile: - path: "{{ ood_cluster_config_dir }}/linuxhost.yml" - mode: "0644" - block: | - {{ ood_linuxhost_adapter_config }} - create: yes - marker: "# {mark} ANSIBLE MANAGED BLOCK insertion 2" - tags: - - linuxhost-adapter - -- name: create singularity image directory - file: - path: "{{ singularity_image_dir }}" - mode: "0755" - state: directory - tags: - - linuxhost-adapter - -- name: pull singularity image - command: singularity pull --name ubuntu-22.04.simg docker://ubuntu:22.04 - args: - chdir: "{{ singularity_image_dir }}" - creates: "{{ singularity_image_dir }}/ubuntu-22.04.simg" - environment: - PATH: /usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/go/1.14/bin:/opt/go/packages/bin:/root/bin - tags: - - linuxhost-adapter diff --git a/roles/ood-wrapper/tasks/main.yml b/roles/ood-wrapper/tasks/main.yml deleted file mode 100644 index a9e9c1c04..000000000 --- a/roles/ood-wrapper/tasks/main.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: gather os specific variables - include_vars: "{{ item }}" - with_first_found: - - files: - - "{{ ansible_distribution|lower }}.yml" - - "{{ ansible_os_family|lower }}.yml" - paths: - - ../vars - skip: true - tags: vars - -- name: Setup Open OnDemand server - include_tasks: server.yml - when: ood_is_server - -- name: Setup Open OnDemand client - include_tasks: client.yml - when: ood_is_client - -- name: Setup linuxhost adapter - include_tasks: linuxhost-adapter.yml - when: ood_is_server and ood_install_linuxhost_adapter diff --git a/roles/ood-wrapper/tasks/server.yml b/roles/ood-wrapper/tasks/server.yml deleted file mode 100644 index 4d612a0bd..000000000 --- a/roles/ood-wrapper/tasks/server.yml +++ /dev/null @@ -1,224 +0,0 @@ ---- -- name: install dependencies - package: - name: "{{ ood_master_sw_deps }}" - state: present - when: ood_master_sw_deps is defined - -- name: remove any existing OOD apps installed by ansible - file: - path: "{{ item.value.dest | default(ood_sys_app_dir) }}/{{ item.key }}" - state: absent - when: ood_install_apps is defined - loop: "{{ ood_install_apps | default({}) | dict2items }}" - -- name: remove build dir - file: - path: "{{ ood_source_dir }}" - state: absent - -- name: enable httpd listen port in SELinux - command: semanage port -m -t http_port_t -p tcp {{ httpd_port }} - when: ansible_os_family == 'RedHat' - -- name: set httpd to permissive in SELinux - command: semanage permissive -a httpd_t - when: ansible_os_family == 'RedHat' - -- name: install Open OnDemand - include_role: - name: ood-ansible - -- name: create clusters dir - file: - path: "{{ ood_cluster_config_dir }}" - mode: "0755" - state: directory - tags: - - configure - -- name: configure slurm cluster connector - template: - src: cluster.yml.j2 - mode: "0644" - dest: "{{ ood_cluster_config_dir }}/{{ ood_cluster_name }}.yml" - tags: - - configure - -- name: configure front page - blockinfile: - path: "{{ ood_config_dir }}/nginx_stage.yml" - block : | - {{ ood_frontpage_config }} - tags: - - configure - -- name: install package dependency for htpasswd module - package: - name: "{{ item }}" - state: present - with_items: - - python-passlib - - python3-passlib - tags: - - configure - when: (ansible_distribution == "Ubuntu") or ((ansible_os_family == "RedHat") and (ansible_distribution_major_version == "8")) - -- name: install package dependency for htpasswd module - package: - name: "{{ item }}" - state: present - with_items: - - python-passlib - tags: - - configure - when: (ansible_os_family == "RedHat") and (ansible_distribution_major_version == "7") - -- name: create .htpasswd entries - htpasswd: - path: "{{ ood_htpasswd_file }}" - name: "{{ user }}" - password: "{{ ood_default_password }}" - mode: "0600" - create: yes - tags: - - configure - -- name: install required apache module - apache2_module: - state: present - name: proxy_wstunnel - register: mod_install - tags: - - configure - when: ansible_distribution == 'Ubuntu' - -- name: install required apache module - apache2_module: - state: present - name: proxy_wstunnel - register: mod_install - environment: - PATH: /opt/rh/httpd24/root/usr/sbin - LD_LIBRARY_PATH: /opt/rh/httpd24/root/usr/lib64 - tags: - - configure - when: ansible_os_family == 'RedHat' - -- name: restart apache after module install - systemd: - service: "{{ ood_apache_service_name }}" - state: restarted - when: mod_install.changed # noqa no-handler - tags: - - configure - -- name: create ssh key pair for default user - openssh_keypair: - path: "/home/{{ user }}/.ssh/id_rsa" - owner: "{{ user }}" - tags: - - configure - -- name: get ssh pub key - slurp: - src: "/home/{{ user }}/.ssh/id_rsa.pub" - register: user_pub_key - tags: - - configure - -- name: set ssh authorized key - authorized_key: - user: "{{ user }}" - state: present - key: "{{ user_pub_key['content'] | b64decode }}" - tags: - - configure - -- name: remove old desktop app config - file: - path: "{{ ood_desktop_app_dir }}/{{ item }}" - state: absent - with_items: - - form.yml - #- manifest.yml - #- submit.yml.erb - #- template/script.sh.erb - tags: - - configure - -- name: create desktop app dir - file: - path: "{{ ood_desktops_dir }}/submit" - mode: "0755" - state: directory - tags: - - configure - -- name: configure desktop - template: - src: desktop.yml.j2 - dest: "{{ ood_desktops_dir }}/{{ ood_cluster_name }}.yml" - mode: "0644" - tags: - - configure - -- name: configure desktop app submit - template: - src: desktop-submit.yml.erb.j2 - dest: "{{ ood_desktops_dir }}/submit/{{ ood_cluster_name }}_desktop.yml.erb" - mode: "0644" - tags: - - configure - -- name: configure desktop app form - template: - src: desktop-form.yml.j2 - dest: "{{ ood_desktop_app_dir }}/form.yml" - mode: "0644" - tags: - - configure - -- name: remove old config - file: - path: "{{ ood_codeserver_app_dir }}/{{ item }}" - state: absent - with_items: - - form.yml - - manifest.yml - - submit.yml.erb - - template/script.sh.erb - tags: - - configure - -- name: configure vs code app form - template: - src: bc_osc_codeserver/form.yml.j2 - dest: "{{ ood_codeserver_app_dir }}/form.yml" - mode: "0644" - tags: - - configure - -- name: configure vs code app manifest - template: - src: bc_osc_codeserver/manifest.yml.j2 - dest: "{{ ood_codeserver_app_dir }}/manifest.yml" - mode: "0644" - tags: - - configure - -- name: configure vs code app submit - template: - src: bc_osc_codeserver/submit.yml.erb.j2 - dest: "{{ ood_codeserver_app_dir }}/submit.yml.erb" - mode: "0644" - tags: - - configure - -- name: configure vs code app script - template: - src: bc_osc_codeserver/script.sh.erb.j2 - dest: "{{ ood_codeserver_app_dir }}/template/script.sh.erb" - mode: 0755 - tags: - - configure diff --git a/roles/ood-wrapper/templates/bc_osc_codeserver/form.yml.j2 b/roles/ood-wrapper/templates/bc_osc_codeserver/form.yml.j2 deleted file mode 100644 index c118946c1..000000000 --- a/roles/ood-wrapper/templates/bc_osc_codeserver/form.yml.j2 +++ /dev/null @@ -1,15 +0,0 @@ -cluster: "{{ ood_cluster_name }}" -form: - - bc_num_gpus - - bc_num_hours - - working_dir -attributes: - working_dir: - label: "Working Directory" - data-filepicker: true - data-target-file-type: dirs # Valid values are: files, dirs, or both - readonly: false - help: "Select your project directory; defaults to $HOME" - bc_num_gpus: - label: "Number of GPUs" - value: 1 diff --git a/roles/ood-wrapper/templates/bc_osc_codeserver/manifest.yml.j2 b/roles/ood-wrapper/templates/bc_osc_codeserver/manifest.yml.j2 deleted file mode 100644 index 8677565e7..000000000 --- a/roles/ood-wrapper/templates/bc_osc_codeserver/manifest.yml.j2 +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: VS Code Server -category: Interactive Apps -subcategory: Servers -role: batch_connect -description: | - This app will launch a [VS Code] instance using [Code Server] on a GPU node - - [VS Code]: https://code.visualstudio.com/ - [Code Server]: https://coder.com/ diff --git a/roles/ood-wrapper/templates/bc_osc_codeserver/script.sh.erb.j2 b/roles/ood-wrapper/templates/bc_osc_codeserver/script.sh.erb.j2 deleted file mode 100644 index 29ffbbaa1..000000000 --- a/roles/ood-wrapper/templates/bc_osc_codeserver/script.sh.erb.j2 +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash -<%- - # Ensure that code-server always starts up in either a user defined directory or the home directory - working_dir = Pathname.new(context.working_dir) - if ! working_dir.exist? || working_dir.to_s.empty? - working_dir = Pathname.new(ENV['HOME']) - elsif working_dir.file? - working_dir = working_dir.parent - end -%> - -# Setup environment -CODE_SERVER="${CODE_SERVER:-/usr/local/bin/code-server}" -CODE_SERVER_DATAROOT="$HOME/.local/share/bc_osc_codeserver" - -# Ensure a dataroot for Code Server -mkdir -p "$CODE_SERVER_DATAROOT/extensions" - -# Expose the password to the server -export PASSWORD="$password" - -# VSCode complains that system git is too old -#module load git - -# -# Start Code Server -# -echo $CODE_SERVER - -# An arbitrary path... -$CODE_SERVER \ - --auth=password \ - --port="$port" \ - --disable-telemetry \ - --extra-extensions-dir="$CODE_SERVER_DATAROOT/extensions" \ - --user-data-dir="$CODE_SERVER_DATAROOT" \ - "<%= working_dir.to_s %>" diff --git a/roles/ood-wrapper/templates/bc_osc_codeserver/submit.yml.erb.j2 b/roles/ood-wrapper/templates/bc_osc_codeserver/submit.yml.erb.j2 deleted file mode 100644 index 573a180ce..000000000 --- a/roles/ood-wrapper/templates/bc_osc_codeserver/submit.yml.erb.j2 +++ /dev/null @@ -1,8 +0,0 @@ ---- -batch_connect: - template: "basic" -script: - native: - - "--gpus=<%= bc_num_gpus.blank? ? {{ ood_codeserver_app_def_gpus }} : bc_num_gpus.to_i %>" - - "--cpus-per-gpu={{ ood_codeserver_app_cpus_per_gpu }}" - - "--mem-per-gpu={{ ood_codeserver_app_mem_per_gpu }}" diff --git a/roles/ood-wrapper/templates/cluster.yml.j2 b/roles/ood-wrapper/templates/cluster.yml.j2 deleted file mode 100644 index 92962e1aa..000000000 --- a/roles/ood-wrapper/templates/cluster.yml.j2 +++ /dev/null @@ -1,20 +0,0 @@ ---- -v2: - metadata: - title: "{{ ood_cluster_title }}" - login: - host: "{{ ansible_fqdn }}" - job: - adapter: "slurm" - cluster: "{{ ood_cluster_name }}" - bin: "/usr/local/bin" - conf: "/etc/slurm/slurm.conf" - batch_connect: - basic: - script_wrapper: | - %s - vnc: - script_wrapper: | - export PATH="/opt/TurboVNC/bin:$PATH" - export WEBSOCKIFY_CMD="/usr/bin/websockify" - %s diff --git a/roles/ood-wrapper/templates/desktop-form.yml.j2 b/roles/ood-wrapper/templates/desktop-form.yml.j2 deleted file mode 100644 index 0a8932520..000000000 --- a/roles/ood-wrapper/templates/desktop-form.yml.j2 +++ /dev/null @@ -1,19 +0,0 @@ ---- - attributes: - desktop: "mate" - bc_vnc_idle: 0 - bc_vnc_resolution: - required: true - node_type: null - - form: - - bc_vnc_idle - - desktop - - bc_account - - bc_num_hours - - bc_num_slots - - bc_num_gpus - - node_type - - bc_queue - - bc_vnc_resolution - - bc_email_on_started diff --git a/roles/ood-wrapper/templates/desktop-submit.yml.erb.j2 b/roles/ood-wrapper/templates/desktop-submit.yml.erb.j2 deleted file mode 100644 index eb778cbe7..000000000 --- a/roles/ood-wrapper/templates/desktop-submit.yml.erb.j2 +++ /dev/null @@ -1,6 +0,0 @@ ---- -script: - native: - - "--gpus=<%= bc_num_gpus.blank? ? {{ ood_desktop_app_def_gpus }} : bc_num_gpus.to_i %>" - - "--cpus-per-gpu={{ ood_desktop_app_cpus_per_gpu }}" - - "--mem-per-gpu={{ ood_desktop_app_mem_per_gpu }}" diff --git a/roles/ood-wrapper/templates/desktop.yml.j2 b/roles/ood-wrapper/templates/desktop.yml.j2 deleted file mode 100644 index 59d6c5741..000000000 --- a/roles/ood-wrapper/templates/desktop.yml.j2 +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "{{ ood_desktop_app_title }}" -cluster: "{{ ood_cluster_name }}" -submit: "submit/{{ ood_cluster_name }}_desktop.yml.erb" -attributes: - desktop: "xfce" - bc_queue: null - bc_account: null - bc_num_gpus: - label: "Number of GPUs" - value: 1 diff --git a/roles/ood-wrapper/vars/main.yml b/roles/ood-wrapper/vars/main.yml deleted file mode 100644 index 4a5938a2c..000000000 --- a/roles/ood-wrapper/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -user: "{{ ansible_env.SUDO_USER | default(ansible_env.USER) }}" diff --git a/roles/ood-wrapper/vars/redhat.yml b/roles/ood-wrapper/vars/redhat.yml deleted file mode 100644 index ccc7fe654..000000000 --- a/roles/ood-wrapper/vars/redhat.yml +++ /dev/null @@ -1,31 +0,0 @@ -install_from_src: false - -ood_apache_service_name: httpd24-httpd.service -ood_htpasswd_file: /opt/rh/httpd24/root/etc/httpd/.htpasswd - -ood_url_turbovnc_pkg: https://downloads.sourceforge.net/project/turbovnc/2.2.4/turbovnc-2.2.4.x86_64.rpm - -ood_master_sw_deps: - - lz4-devel - - unzip - - python-websockify - -ood_client_sw_deps: - - lz4-devel - - unzip - - nmap - - python-websockify - - '@xfce4' - - xfce4-session - - xfce4-settings - - xfce4-terminal - - xfdesktop - - gtk-xfce-engine - - gtk2-engines - - python2-jupyter-core - - python2-jupyroot - - python36-jupyter-core - - python36-jupyroot - - dbus-x11 - - firefox - - cuda-nvvp-10-1 diff --git a/roles/ood-wrapper/vars/ubuntu.yml b/roles/ood-wrapper/vars/ubuntu.yml deleted file mode 100644 index c9e8b030d..000000000 --- a/roles/ood-wrapper/vars/ubuntu.yml +++ /dev/null @@ -1,24 +0,0 @@ -install_from_src: true - -ood_apache_service_name: apache2 -ood_htpasswd_file: /etc/apache2/.htpasswd - -ood_url_turbovnc_pkg: https://downloads.sourceforge.net/project/turbovnc/2.2.4/turbovnc_2.2.4_amd64.deb - -ood_master_sw_deps: - - liblz4-tool - - unzip - - websockify - -ood_client_sw_deps: - - liblz4-tool - - unzip - - nmap - - websockify - - xfce4 - - xfce4-terminal - - xfce4-goodies - - jupyter-notebook - - dbus-x11 - - firefox - - nvidia-visual-profiler diff --git a/roles/requirements.yml b/roles/requirements.yml index 3d541e0ba..1b161456a 100644 --- a/roles/requirements.yml +++ b/roles/requirements.yml @@ -30,5 +30,3 @@ roles: - src: nvidia.enroot version: "v0.5.0" -- src: https://github.com/OSC/ood-ansible.git - version: 'v3.0.3' diff --git a/virtual/vars_files/virt_large_slurm.yml b/virtual/vars_files/virt_large_slurm.yml index bd741c6f9..8a8bcce94 100644 --- a/virtual/vars_files/virt_large_slurm.yml +++ b/virtual/vars_files/virt_large_slurm.yml @@ -17,7 +17,6 @@ rsyslog_client_tcp_host: "{{ groups['slurm-metric'][0] }}" # Don't install these packages by default on large cluster slurm_cluster_install_cuda: false -install_open_ondemand: false # HPC SDK install sm_install_host: "{{ groups['slurm-login'][0] }}"