Skip to content

Instantly share code, notes, and snippets.

@claudiok
claudiok / OpenStack_consumer_GPU_passthrough.md
Last active March 26, 2023 08:20
Consumer-grade GPU passthrough in an OpenStack system (NVIDIA GPUs)

Consumer-grade GPUs in an OpenStack system (NVIDIA GPUs)

Assumptions

This assumes you have GTX980 cards in your system (PCI id 10de:13c0 & 10de:0fbb per card). Just add more IDs for other cards in order to make this more generic. This also assumes nova uses qemu-kvm as the virtualization hypervisor (qemu-system-x86_64). This seems to be the default on OpenStack Newton when installed using openstack-ansible.

We assume OpenStack Newton is pre-installed and that we are working on a Nova compute node. This has been tested on an Ubuntu 16.04 system where I installed OpenStack AIO version 14.0.0 (different from the git tag used in the instructions!): http://docs.openstack.org/developer/openstack-ansible/developer-docs/quickstart-aio.html

Prepare the system for GPU passthrough (set up IOMMU/vfio/...)

Note: This is heavily based on information from https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Enabling_IOMMU adapted for Ubuntu 16.04

Rem run as administrator
@echo on & @setlocal enableextensions
@echo =========================
@echo Turn off the time service
net stop w32time
@echo ======================================================================
@echo Set the SNTP (Simple Network Time Protocol) source for the time server
w32tm /config /syncfromflags:manual /manualpeerlist:"0.it.pool.ntp.org 1.it.pool.ntp.org 2.it.pool.ntp.org 3.it.pool.ntp.org"
@echo =============================================
@echo ... and then turn on the time service back on
#!/bin/bash -x
URL=$1
USER=$2
PASSWORD=$3
LATEST_FIRMWARE="0.00"
# ILO3 firmware: http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_ef5d840040af4d189c4b4991a7#tab-history
# ILO4 firmware: http://h20566.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_a6d201edd56c4ff4b7d0488d01#tab-history
#!/bin/bash
echo "Enter your MySQL user"
read MYSQL_USER
echo "Enter your MySQL user password"
read MYSQL_PASSWD
echo "Enter your Nova VM ID"
read VM_ID
@DavidWittman
DavidWittman / supermicro-java-console.sh
Last active March 13, 2022 04:06
Retrieves the plaintext JNLP for the iKVM console from a SuperMicro IPMI webserver
#!/usr/bin/env bash
# Retrieves the plaintext JNLP from a SuperMicro IPMI webserver
# Usage: supermicro-java-console.sh <hostname>
# supermicro-java-console.sh 10.1.2.34 > login.jnlp
set -x
HOST="$1"
IPMI_USER=${IPMI_USER:-ADMIN}
@jonschlinkert
jonschlinkert / markdown-cheatsheet.md
Last active July 25, 2025 20:07
A better markdown cheatsheet.
@beekhof
beekhof / pcs-crmsh cheatsheet.md
Last active October 24, 2021 23:17
Transition guide for common crmsh commands

Display the configuration

crmsh # crm configure show
pcs   # pcs cluster cib

Display the current status

crmsh # crm_mon -1
pcs   # pcs status
@magnetikonline
magnetikonline / README.md
Last active February 7, 2025 07:27
IE 7/8/9/10/11 Virtual machines from Microsoft - Linux w/VirtualBox installation notes.