triggers:
- install/post/cephlab_ansible.sh
+utils:
+ - console.sh
+ - reboot.sh
+ - reimage.sh
+
ansible_user_ssh_keys: []
ansible_user: ''
# - "nameserver x.x.x.x"
# - "search an.example.com"
resolvconf: []
+
+power_type: ipmilan
+# power_user and power_pass defaults will need to be overridden in a secrets
+# repo to be useful
+power_user: poweruser
+power_pass: powerpass
--- /dev/null
+---
+- name: Set path to IPMI credentials
+ set_fact:
+ ipmi_creds_path: "{{ secrets_path }}/ipmi.yml"
+ when: ipmi_creds_path is undefined
+
+- name: Include IPMI credentials
+ include_vars: "{{ item }}"
+ with_first_found:
+ - "{{ ipmi_creds_path }}"
+ - empty.yml
+ no_log: true
---
+- include: ipmi_secrets.yml
+ tags:
+ - always
+
- name: Include cobbler keys.
include_vars: "{{ secrets_path | mandatory }}/cobbler_keys.yml"
no_log: true
with_items: triggers
tags:
- triggers
+
+- name: Create /root/bin
+ file:
+ path: /root/bin
+ state: directory
+ owner: root
+ group: root
+ mode: 0755
+ tags:
+ - utils
+
+- name: Upload utilities for convenience.
+ template:
+ src: "utils/{{ item }}"
+ dest: "/root/bin/{{ item }}"
+ owner: root
+ group: root
+ mode: 0755
+ with_items: utils
+ tags:
+ - utils
--- /dev/null
+#!/bin/bash
+## {{ ansible_managed }}
+set -ex
+name=$1
+ipmitool -H $name.{{ ipmi_domain }} -I lanplus -U {{ power_user }} -P {{ power_pass }} sol activate
--- /dev/null
+#!/bin/bash
+## {{ ansible_managed }}
+name=$1
+cobbler system reboot --name $name
--- /dev/null
+#!/bin/bash
+## {{ ansible_managed }}
+set -ex
+name=$1
+profile=$2
+echo "Reimaging $name with profile $profile"
+# First turn netboot off so that cobbler removes any stale PXE data
+cobbler system edit --name=$name netboot off
+cobbler system edit --name=$name --profile $profile --netboot on && cobbler system reboot --name $name
---
interface: eth0
kernel_options: ''
+kernel_options_post: ''
default_profile: "Ubuntu-14.04-server-x86_64"