
During the management network reconfiguration, the system is restarted to controller_config script runs the puppet code and update all services to use the new mgmt IP address. But the sw-patch services start before the controller_config. When they start they get the mgmt_ip using the python socket lib that uses the IP address from the /etc/hosts. But /etc/hosts at that time is not updated yet, so it get the old management network IP. To fix this issue, the sw-patch services will wait for the puppet code to be applied to make sure the /etc/hosts and new management network IPs were installed in the system. Tests done: IPv4 AIO-SX fresh install IPv4 AIO-DX fresh install IPv4 DC with subcloud AIO-SX fresh install IPv4 AIO-SX mgmt reconfig and apply a non-reboot-required patch IPv4 AIO-SX mgmt reconfig and apply a reboot-required patch IPv4 subcloud AIO-SX mgmt reconfig and apply a non-reboot-required patch IPv4 subcloud AIO-SX mgmt reconfig and apply a reboot-required patch For this test the sw-patch was in failed state after the reboot, It happens even without the mgmt reconfig and this fix Partial-Bug: #2060066 Story: 2010722 Task: 49827 Depends-On: https://review.opendev.org/c/starlingx/config/+/914710 Change-Id: Ie544425513ef4fede73b4b55770ad6857cdf7eed Signed-off-by: Fabiano Correa Mercer <fabiano.correamercer@windriver.com>
62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
"""
|
|
Copyright (c) 2015-2021 Wind River Systems, Inc.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
|
|
"""
|
|
|
|
import os
|
|
try:
|
|
# The tsconfig module is only available at runtime
|
|
import tsconfig.tsconfig as tsc
|
|
|
|
INITIAL_CONFIG_COMPLETE_FLAG = os.path.join(
|
|
tsc.PLATFORM_CONF_PATH, ".initial_config_complete")
|
|
except Exception:
|
|
pass
|
|
|
|
PATCH_AGENT_STATE_IDLE = "idle"
|
|
PATCH_AGENT_STATE_INSTALLING = "installing"
|
|
PATCH_AGENT_STATE_INSTALL_FAILED = "install-failed"
|
|
PATCH_AGENT_STATE_INSTALL_REJECTED = "install-rejected"
|
|
|
|
PATCH_STORAGE_DIR = "/opt/patching"
|
|
|
|
ADDRESS_VERSION_IPV4 = 4
|
|
ADDRESS_VERSION_IPV6 = 6
|
|
CONTROLLER_FLOATING_HOSTNAME = "controller"
|
|
|
|
AVAILABLE = 'Available'
|
|
APPLIED = 'Applied'
|
|
PARTIAL_APPLY = 'Partial-Apply'
|
|
PARTIAL_REMOVE = 'Partial-Remove'
|
|
COMMITTED = 'Committed'
|
|
UNKNOWN = 'n/a'
|
|
|
|
STATUS_OBSOLETE = 'OBS'
|
|
STATUS_RELEASED = 'REL'
|
|
STATUS_DEVELOPEMENT = 'DEV'
|
|
|
|
CLI_OPT_ALL = '--all'
|
|
CLI_OPT_DRY_RUN = '--dry-run'
|
|
CLI_OPT_RECURSIVE = '--recursive'
|
|
CLI_OPT_RELEASE = '--release'
|
|
|
|
OSTREE_REF = "starlingx"
|
|
OSTREE_REMOTE = "debian"
|
|
FEED_OSTREE_BASE_DIR = "/var/www/pages/feed"
|
|
SYSROOT_OSTREE = "/sysroot/ostree/repo"
|
|
OSTREE_BASE_DEPLOYMENT_DIR = "/ostree/deploy/debian/deploy/"
|
|
PATCH_SCRIPTS_STAGING_DIR = "/var/www/pages/updates/patch-scripts"
|
|
|
|
ENABLE_DEV_CERTIFICATE_PATCH_IDENTIFIER = 'ENABLE_DEV_CERTIFICATE'
|
|
|
|
LOOPBACK_INTERFACE_NAME = "lo"
|
|
|
|
SEMANTIC_PREAPPLY = 'pre-apply'
|
|
SEMANTIC_PREREMOVE = 'pre-remove'
|
|
SEMANTIC_ACTIONS = [SEMANTIC_PREAPPLY, SEMANTIC_PREREMOVE]
|
|
|
|
SYSTEM_MODE_SIMPLEX = "simplex"
|
|
SYSTEM_MODE_DUPLEX = "duplex"
|