16 lines
1.4 KiB
Python
16 lines
1.4 KiB
Python
import pathlib,json,os,subprocess
|
|
root=pathlib.Path('/home/ps/huobao-gpu-selection');state=json.loads((root/'state.json').read_text())
|
|
data=json.loads((root/'three-gpu-preflight.json').read_text())
|
|
assert set(data)=={'default','gpu1','gpu3'} and all(not d['vdn_missing'] for d in data.values())
|
|
for name in ('canvas-h3-prompt-normalizer-healthy-20261026','huobao-vdn-normalizer'):
|
|
code="import app; assert set(app.providers())=={'default','gpu1','gpu3'}; [app.provider_headers(p) for p in app.providers().values()]; print('Provider token access verified')"
|
|
subprocess.run(['docker','exec',name,'python','-c',code],check=True)
|
|
meta=json.loads((root/'gpu3-vdn/created.json').read_text());control=pathlib.Path(meta['control'])
|
|
original=(root/'gpu3-vdn/original-control.json').read_bytes();expected=json.loads(original);expected['maintenance']=True
|
|
assert json.loads(control.read_text())==expected
|
|
control.write_bytes(original)
|
|
admission=pathlib.Path(state['admission']);assert json.loads(admission.read_text())=={'schema':1,'admit':['default']}
|
|
tmp=admission.with_name('admission.huobao-ready.json');tmp.write_text(json.dumps({'schema':1,'admit':['default','gpu1','gpu3']}));tmp.chmod(admission.stat().st_mode&0o777);os.replace(tmp,admission)
|
|
state['phase']='three-gpus-admitted';(root/'state.json').write_text(json.dumps(state,indent=2))
|
|
print('Enabled GPU1/GPU2/GPU3; GPU3 original control restored, GPU1 token gate retained')
|