openstack-ansible-ops/pxelinux-provisioning/playbooks/idrac-config.yml

311 lines
8.3 KiB
YAML

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in witing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Run DRAC Config
hosts: pxe_servers
gather_facts: false
connection: local
tasks:
- set_fact:
racadm_path: "/opt/dell/srvadmin/sbin/racadm"
tags:
- always
- name: check for racadm
stat:
path: "{{ racadm_path }}"
register: racadm_command
tags:
- always
- name: check for racadm_command
fail:
msg: "racadm command is not found."
when:
- not racadm_command.stat.exists
tags:
- always
- set_fact:
racadm: "{{ racadm_path }} -r {{ server_obm_ip }} -u root -p calvin"
tags:
- always
- name: set cfgServerBootOnce
command: "{{ racadm }} config -g cfgServerInfo -o cfgServerBootOnce 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgServerFirstBootDevice
- name: set cfgServerFirstBootDevice
command: "{{ racadm }} config -g cfgServerInfo -o cfgServerFirstBootDevice HDD"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgServerFirstBootDevice
- name: set cfgServerBootOnce
command: "{{ racadm }} config -g cfgServerInfo -o cfgServerBootOnce 1"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgServerBootOnce
- name: set cfgServerFirstBootDevice
command: "{{ racadm }} config -g cfgServerInfo -o cfgServerFirstBootDevice PXE"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgServerBootOnce
- name: set cfgNicEnable
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicEnable 1"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicEnable
- name: set cfgNicIPv4Enable
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicIPv4Enable 1"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicIPv4Enable
- name: set cfgNicUseDhcp
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicUseDhcp 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicUseDhcp
- name: set cfgNicVLanEnable
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicVLanEnable 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicVLanEnable
- name: set cfgNicVLanID
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicVLanID 1"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicVLanID
- name: set cfgNicVLanPriority
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicVLanPriority 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicVLanPriority
- name: set cfgNicSelection
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicSelection 2"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicSelection
- name: set cfgDNSServersFromDHCP
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSServersFromDHCP 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSServersFromDHCP
- name: set cfgDNSRacName
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSRacName {{ server_hostname }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSRacName
- name: set cfgNicIpAddress
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicIpAddress {{ server_obm_ip }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicIpAddress
- name: set cfgDNSServer1
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSServer1 {{ server_gateway }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSServer1
- name: set cfgDNSServer2
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSServer2 {{ server_dns }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSServer2
- name: set cfgNicNetmask
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicNetmask {{ server_netmask }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicNetmask
- name: set cfgNicGateway
command: "{{ racadm }} config -g cfgLanNetworking -o cfgNicGateway {{ server_gateway }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgNicGateway
- name: set cfgDNSDomainName
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSDomainName {{ server_domain_name }}"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSDomainName
- name: set cfgDNSDomainNameFromDHCP
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSDomainNameFromDHCP 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSDomainNameFromDHCP
- name: set cfgDNSRegisterRac
command: "{{ racadm }} config -g cfgLanNetworking -o cfgDNSRegisterRac 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgDNSRegisterRac
- name: set cfgIpmiLanEnable
command: "{{ racadm }} config -g cfgIpmiLan -o cfgIpmiLanEnable 1"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgIpmiLanEnable
- name: set cfgIpmiLanPrivilegeLimit
command: "{{ racadm }} config -g cfgIpmiLan -o cfgIpmiLanPrivilegeLimit 4"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgIpmiLanPrivilegeLimit
- name: set cfgIpmiLanAlertEnable
command: "{{ racadm }} config -g cfgIpmiLan -o cfgIpmiLanAlertEnable 0"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgIpmiLanAlertEnable
- name: set cfgIpmiEncryptionKey
command: "{{ racadm }} config -g cfgIpmiLan -o cfgIpmiEncryptionKey 0000000000000000000000000000000000000000"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgIpmiEncryptionKey
- name: set cfgIpmiPetCommunityName
command: "{{ racadm }} config -g cfgIpmiLan -o cfgIpmiPetCommunityName public"
register: command
until: command is success
retries: 2
delay: 2
tags:
- cfgIpmiPetCommunityName
- name: run sslresetcfg
command: "{{ racadm }} sslresetcfg"
register: command
failed_when: not command.rc in [0, 2]
until: command is success
retries: 2
delay: 2
tags:
- sslresetcfg
- name: run serveraction powercycle
command: "{{ racadm }} serveraction powercycle"
register: command
until: command is success
retries: 2
delay: 2
when:
- not inventory_hostname in groups['pxe_hosts']
tags:
- powercycle
- name: run racreset
command: "{{ racadm }} racreset"
register: command
until: command is success
retries: 2
delay: 2
when:
- not inventory_hostname in groups['pxe_hosts']
tags:
- racreset