add treeinfo refresh
This commit is contained in:
parent
bd67c4d9fa
commit
cb5ee4bf3b
33
iso/empanadas/empanadas/scripts/refresh_all_treeinfo.py
Executable file
33
iso/empanadas/empanadas/scripts/refresh_all_treeinfo.py
Executable file
@ -0,0 +1,33 @@
|
||||
# This script can be called to do single syncs or full on syncs.
|
||||
|
||||
import argparse
|
||||
|
||||
from empanadas.common import *
|
||||
from empanadas.util import Checks
|
||||
from empanadas.util import RepoSync
|
||||
|
||||
# Start up the parser baby
|
||||
parser = argparse.ArgumentParser(description="Peridot Sync and Compose")
|
||||
|
||||
# All of our options
|
||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
||||
parser.add_argument('--logger', type=str)
|
||||
|
||||
# Parse them
|
||||
results = parser.parse_args()
|
||||
rlvars = rldict[results.release]
|
||||
major = rlvars['major']
|
||||
|
||||
r = Checks(rlvars, config['arch'])
|
||||
r.check_validity()
|
||||
|
||||
# Send them and do whatever I guess
|
||||
a = RepoSync(
|
||||
rlvars,
|
||||
config,
|
||||
major=major,
|
||||
logger=results.logger,
|
||||
)
|
||||
|
||||
def run():
|
||||
a.refresh_compose_treeinfo()
|
@ -303,7 +303,7 @@ class RepoSync:
|
||||
# tweak_treeinfo calls out to a method that does. This should not
|
||||
# cause issues as the method is fairly static in nature.
|
||||
if self.refresh_treeinfo and not self.fullrun:
|
||||
self.deploy_treeinfo(self.repo, sync_root, self.arch)
|
||||
self.deploy_treeinfo(self.repo, sync_root, self.arch, refresh=True)
|
||||
self.tweak_treeinfo(self.repo, sync_root, self.arch)
|
||||
|
||||
self.deploy_metadata(sync_root)
|
||||
@ -927,7 +927,7 @@ class RepoSync:
|
||||
readme_file.close()
|
||||
|
||||
|
||||
def deploy_treeinfo(self, repo, sync_root, arch):
|
||||
def deploy_treeinfo(self, repo, sync_root, arch, refresh=False):
|
||||
"""
|
||||
Deploys initial treeinfo files. These have the potential of being
|
||||
overwritten by our ISO process, which is fine. If there is a treeinfo
|
||||
@ -1003,8 +1003,7 @@ class RepoSync:
|
||||
'kickstart/media.repo'
|
||||
)
|
||||
|
||||
|
||||
if not os.path.exists(os_tree_path):
|
||||
if not os.path.exists(os_tree_path) or (os.path.exists(os_tree_path) and refresh):
|
||||
try:
|
||||
Shared.treeinfo_new_write(
|
||||
os_tree_path,
|
||||
@ -1023,7 +1022,7 @@ class RepoSync:
|
||||
else:
|
||||
self.log.warn(Color.WARN + repo_name + ' ' + a + ' os .treeinfo already exists')
|
||||
|
||||
if not os.path.exists(os_disc_path):
|
||||
if not os.path.exists(os_disc_path) or (os.path.exists(os_disc_path) and refresh):
|
||||
try:
|
||||
Shared.discinfo_write(
|
||||
self.timestamp,
|
||||
@ -1041,7 +1040,7 @@ class RepoSync:
|
||||
' os .discinfo already exists'
|
||||
)
|
||||
|
||||
if not os.path.exists(os_media_path):
|
||||
if not os.path.exists(os_media_path) or (os.path.exists(os_media_path) and refresh):
|
||||
try:
|
||||
Shared.media_repo_write(
|
||||
self.timestamp,
|
||||
@ -1059,7 +1058,7 @@ class RepoSync:
|
||||
)
|
||||
|
||||
# Kickstart part of the repos
|
||||
if not os.path.exists(ks_tree_path):
|
||||
if not os.path.exists(ks_tree_path) or (os.path.exists(ks_tree_path) and refresh):
|
||||
try:
|
||||
Shared.treeinfo_new_write(
|
||||
ks_tree_path,
|
||||
@ -1080,7 +1079,7 @@ class RepoSync:
|
||||
' kickstart .treeinfo already exists'
|
||||
)
|
||||
|
||||
if not os.path.exists(ks_disc_path):
|
||||
if not os.path.exists(ks_disc_path) or (os.path.exists(ks_disc_path) and refresh):
|
||||
try:
|
||||
Shared.discinfo_write(
|
||||
self.timestamp,
|
||||
@ -1098,7 +1097,7 @@ class RepoSync:
|
||||
' kickstart .discinfo already exists'
|
||||
)
|
||||
|
||||
if not os.path.exists(ks_media_path):
|
||||
if not os.path.exists(ks_media_path) or (os.path.exists(ks_media_path) and refresh):
|
||||
try:
|
||||
Shared.media_repo_write(
|
||||
self.timestamp,
|
||||
@ -1137,7 +1136,7 @@ class RepoSync:
|
||||
'debug/tree/media.repo'
|
||||
)
|
||||
|
||||
if not os.path.exists(debug_tree_path):
|
||||
if not os.path.exists(debug_tree_path) or (os.path.exists(debug_tree_path) and refresh):
|
||||
try:
|
||||
Shared.treeinfo_new_write(
|
||||
debug_tree_path,
|
||||
@ -1158,7 +1157,7 @@ class RepoSync:
|
||||
' debug .treeinfo already exists'
|
||||
)
|
||||
|
||||
if not os.path.exists(debug_disc_path):
|
||||
if not os.path.exists(debug_disc_path) or (os.path.exists(debug_disc_path) and refresh):
|
||||
try:
|
||||
Shared.discinfo_write(
|
||||
self.timestamp,
|
||||
@ -1176,7 +1175,7 @@ class RepoSync:
|
||||
' debug .discinfo already exists'
|
||||
)
|
||||
|
||||
if not os.path.exists(debug_media_path):
|
||||
if not os.path.exists(debug_media_path) or (os.path.exists(debug_media_path) and refresh):
|
||||
try:
|
||||
Shared.media_repo_write(
|
||||
self.timestamp,
|
||||
@ -1213,7 +1212,7 @@ class RepoSync:
|
||||
'source/tree/media.repo'
|
||||
)
|
||||
|
||||
if not os.path.exists(source_tree_path):
|
||||
if not os.path.exists(source_tree_path) or (os.path.exists(source_tree_path) and refresh):
|
||||
try:
|
||||
Shared.treeinfo_new_write(
|
||||
source_tree_path,
|
||||
@ -1230,7 +1229,7 @@ class RepoSync:
|
||||
else:
|
||||
self.log.warn(Color.WARN + repo_name + ' source os .treeinfo already exists')
|
||||
|
||||
if not os.path.exists(source_disc_path):
|
||||
if not os.path.exists(source_disc_path) or (os.path.exists(source_disc_path) and refresh):
|
||||
try:
|
||||
Shared.discinfo_write(
|
||||
self.timestamp,
|
||||
@ -1244,7 +1243,7 @@ class RepoSync:
|
||||
else:
|
||||
self.log.warn(Color.WARN + repo_name + ' source .discinfo already exists')
|
||||
|
||||
if not os.path.exists(source_media_path):
|
||||
if not os.path.exists(source_media_path) or (os.path.exists(source_media_path) and refresh):
|
||||
try:
|
||||
Shared.media_repo_write(
|
||||
self.timestamp,
|
||||
@ -1327,6 +1326,14 @@ class RepoSync:
|
||||
self.log.error(Color.FAIL + 'There was an error writing kickstart treeinfo.')
|
||||
self.log.error(e)
|
||||
|
||||
def refresh_compose_treeinfo(self):
|
||||
"""
|
||||
It is rare that this should be called.
|
||||
"""
|
||||
sync_root = self.compose_latest_sync
|
||||
self.deploy_treeinfo(self.repo, sync_root, self.arch, refresh=True)
|
||||
self.tweak_treeinfo(self.repo, sync_root, self.arch)
|
||||
|
||||
def run_compose_closeout(self):
|
||||
"""
|
||||
Closes out a compose. This ensures the ISO's are synced from work/isos
|
||||
|
@ -36,6 +36,7 @@ finalize_compose = "empanadas.scripts.finalize_compose:run"
|
||||
pull-cloud-image = "empanadas.scripts.pull_cloud_image:run"
|
||||
generate_compose = "empanadas.scripts.generate_compose:run"
|
||||
peridot_repoclosure = "empanadas.scripts.peridot_repoclosure:run"
|
||||
refresh_all_treeinfo = "empanadas.scripts.refresh_all_treeinfo:run"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
|
Loading…
Reference in New Issue
Block a user