From 68fcbca4c41a39ffb9f569eeb9eb453a72b5ff11 Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Tue, 21 Oct 2014 20:03:08 -0400 Subject: [PATCH] ANSUPDATE-126 Backup/Restore /tftpboot Backup and restore tftpboot as ironic does not recreate files necessary for overcloud nodes to boot. Change-Id: Ibdc8b41be480f9344e0ba014bb0017591c603257 --- playbooks/step_undercloud_backup_tftpboot.yml | 21 +++++++++++++++++++ .../step_undercloud_restore_tftpboot.yml | 18 ++++++++++++++++ playbooks/update_cloud.yml | 3 +++ 3 files changed, 42 insertions(+) create mode 100644 playbooks/step_undercloud_backup_tftpboot.yml create mode 100644 playbooks/step_undercloud_restore_tftpboot.yml diff --git a/playbooks/step_undercloud_backup_tftpboot.yml b/playbooks/step_undercloud_backup_tftpboot.yml new file mode 100644 index 0000000..660b9aa --- /dev/null +++ b/playbooks/step_undercloud_backup_tftpboot.yml @@ -0,0 +1,21 @@ +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 writing, 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: "Purge previous backup folder" + sudo: yes + file: path=/mnt/state/_upgrade_backup_tftpboot.tar.bz state=absent +- name: "Backup /tftpboot" + sudo: yes + command: tar --exclude='pxelinux.0' -cvjf /mnt/state/_upgrade_backup_tftpboot.tar.bz /tftpboot diff --git a/playbooks/step_undercloud_restore_tftpboot.yml b/playbooks/step_undercloud_restore_tftpboot.yml new file mode 100644 index 0000000..cb898d1 --- /dev/null +++ b/playbooks/step_undercloud_restore_tftpboot.yml @@ -0,0 +1,18 @@ +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 writing, 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: "Restore /tftpboot contents" + sudo: yes + command: tar -C / -xvjf /mnt/state/_upgrade_backup_tftpboot.tar.bz tftpboot diff --git a/playbooks/update_cloud.yml b/playbooks/update_cloud.yml index a246a50..6fa46af 100644 --- a/playbooks/update_cloud.yml +++ b/playbooks/update_cloud.yml @@ -172,6 +172,8 @@ tasks: - include: step_preserve_password_file.yml when: instance_status == "ACTIVE" + - include: step_undercloud_backup_tftpboot.yml + when: instance_status == "ACTIVE" - include: preserve_ssh_host_keys.yml when: instance_status == "ACTIVE" - include: step_unmount.yml @@ -196,6 +198,7 @@ - include: step_reset_mnt_state_permissions.yml # Directly call os-apply-config to write out configuration files. - include: step_os-apply-config.yml + - include: step_undercloud_restore_tftpboot.yml - include: start_mysql.yml - include: start_rabbitmq.yml # Fix Ironic Reservations due to bug: