golem-vm-provider 0.1.22__tar.gz → 0.1.24__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/PKG-INFO +1 -1
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/main.py +7 -8
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/port_manager.py +4 -3
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/proxy_manager.py +7 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/pyproject.toml +1 -1
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/README.md +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/__init__.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/api/__init__.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/api/models.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/api/routes.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/config.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/discovery/__init__.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/discovery/advertiser.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/discovery/resource_tracker.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/network/port_verifier.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/security/ethereum.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/utils/ascii_art.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/utils/logging.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/utils/port_display.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/utils/retry.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/utils/setup.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/__init__.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/cloud_init.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/models.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/multipass.py +0 -0
- {golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/vm/name_mapper.py +0 -0
@@ -35,27 +35,26 @@ async def setup_provider() -> None:
|
|
35
35
|
app.state.provider = provider
|
36
36
|
app.state.proxy_manager = provider.proxy_manager
|
37
37
|
|
38
|
-
#
|
39
|
-
logger.process("🔄 Restoring proxy configurations...")
|
40
|
-
await app.state.proxy_manager._load_state()
|
41
|
-
|
42
|
-
# Now initialize port manager with knowledge of restored proxies
|
38
|
+
# Initialize port manager first to verify all ports
|
43
39
|
logger.process("🔄 Initializing port manager...")
|
44
40
|
port_manager = PortManager(
|
45
41
|
start_port=settings.PORT_RANGE_START,
|
46
42
|
end_port=settings.PORT_RANGE_END,
|
47
|
-
discovery_port=settings.PORT
|
48
|
-
existing_ports=app.state.proxy_manager.get_active_ports()
|
43
|
+
discovery_port=settings.PORT
|
49
44
|
)
|
50
45
|
|
51
46
|
if not await port_manager.initialize():
|
52
47
|
raise RuntimeError("Port verification failed")
|
53
48
|
|
54
|
-
#
|
49
|
+
# Store port manager references
|
55
50
|
app.state.port_manager = port_manager
|
56
51
|
provider.port_manager = port_manager
|
57
52
|
app.state.proxy_manager.port_manager = port_manager
|
58
53
|
|
54
|
+
# Now restore proxy configurations using only verified ports
|
55
|
+
logger.process("🔄 Restoring proxy configurations...")
|
56
|
+
await app.state.proxy_manager._load_state()
|
57
|
+
|
59
58
|
except asyncio.TimeoutError:
|
60
59
|
logger.error("Provider initialization timed out")
|
61
60
|
raise
|
@@ -80,14 +80,15 @@ class PortManager:
|
|
80
80
|
)
|
81
81
|
display.print_header()
|
82
82
|
|
83
|
-
#
|
84
|
-
|
85
|
-
ssh_ports = list(available_ports)
|
83
|
+
# Verify all ports in range, including existing ones
|
84
|
+
ssh_ports = list(range(self.start_port, self.end_port))
|
86
85
|
logger.info(f"Starting port verification...")
|
87
86
|
logger.info(f"SSH ports range: {self.start_port}-{self.end_port}")
|
88
87
|
logger.info(
|
89
88
|
f"Using port check servers: {', '.join(self.port_check_servers)}")
|
90
89
|
|
90
|
+
# Clear existing verified ports before verification
|
91
|
+
self.verified_ports.clear()
|
91
92
|
results = await self.port_verifier.verify_ports(ssh_ports)
|
92
93
|
|
93
94
|
# Add provider port as verified since we already checked it
|
@@ -243,6 +243,13 @@ class PythonProxyManager:
|
|
243
243
|
await asyncio.sleep(delay)
|
244
244
|
delay *= 2 # Exponential backoff
|
245
245
|
|
246
|
+
# Check if port is verified before restoring
|
247
|
+
if not self.port_manager or port not in self.port_manager.verified_ports:
|
248
|
+
logger.warning(f"Port {port} is not verified, skipping proxy restoration for {multipass_name}")
|
249
|
+
# Remove from active ports since we can't restore it
|
250
|
+
self._active_ports.pop(multipass_name, None)
|
251
|
+
return False
|
252
|
+
|
246
253
|
# Attempt to create proxy
|
247
254
|
proxy = ProxyServer(port, vm_ip)
|
248
255
|
await proxy.start()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "golem-vm-provider"
|
3
|
-
version = "0.1.
|
3
|
+
version = "0.1.24"
|
4
4
|
description = "VM on Golem Provider Node - Run your own provider node to offer VMs on the Golem Network"
|
5
5
|
authors = ["Phillip Jensen <phillip+vm-on-golem@golemgrid.com>"]
|
6
6
|
readme = "README.md"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{golem_vm_provider-0.1.22 → golem_vm_provider-0.1.24}/provider/discovery/resource_tracker.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|