mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
fix: OCI image data paths, LAN endpoints for OpenAI-compatible AI and lab-validated apps
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""Image paths a stack's oci-compose states hold no data reach the template
|
||||
of every container of the stack, where updates and Modify read them."""
|
||||
import copy
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(ROOT / "src"))
|
||||
|
||||
from proxmenux_oci.catalog import Catalog
|
||||
from proxmenux_oci.stack import apply_stack_support, build_stack, DefaultsUI
|
||||
|
||||
|
||||
class StackTransientImageVolumesTests(unittest.TestCase):
|
||||
def test_each_container_of_romm_receives_the_transient_paths(self):
|
||||
result = build_stack(Catalog(ROOT).compose("romm"), DefaultsUI(), mode="simple")
|
||||
for service in result["services"]:
|
||||
profile = service["template"]["proxmox"]["installer_profile"]
|
||||
self.assertEqual(profile.get("non_persistent_image_volumes"), ["/romm"], service["name"])
|
||||
|
||||
def test_the_stack_profile_keeps_them_when_it_is_rewritten(self):
|
||||
template = copy.deepcopy(Catalog(ROOT).compose("romm"))
|
||||
template["proxmox"]["installer_profile"]["stack_driver"] = "generic-multi-lxc-stack"
|
||||
apply_stack_support(template)
|
||||
self.assertEqual(template["proxmox"]["installer_profile"].get("non_persistent_image_volumes"), ["/romm"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -164,7 +164,9 @@ class UpdateCheckTests(unittest.TestCase):
|
||||
check.check(self.root, self.configs, path=path, progress=lambda *event: events.append(event))
|
||||
native.assert_called_once(); notify.assert_not_called(); external.assert_not_called()
|
||||
self.assertEqual(events[0], (0, 1)); self.assertEqual(events[-1], (1, 1))
|
||||
self.assertEqual([r['vmid'] for r in self.status()['available']], [110])
|
||||
# The bridge stamps its result with the real clock, so read it at the real time too.
|
||||
available = check.cached(self.root, self.configs, apps=self.apps)['available']
|
||||
self.assertEqual([r['vmid'] for r in available], [110])
|
||||
self.assertFalse((self.root / '.update-check.json').exists())
|
||||
|
||||
def test_missing_monitor_never_falls_back_to_registry_commands(self):
|
||||
|
||||
Reference in New Issue
Block a user