ワンクリックで
fabric-configure
Generate FABRIC testbed environment setup, configuration validation, and SSH key management code
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Generate FABRIC testbed environment setup, configuration validation, and SSH key management code
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Run iPerf3 network performance benchmarks with optional CPU pinning and SmartNIC optimization
Deploy Docker containers and Kubernetes clusters on FABRIC nodes
Connect FABRIC to external testbeds via facility ports and set up port mirroring
Provision and flash Xilinx U280 FPGAs on FABRIC nodes
Provision GPU nodes on FABRIC with driver installation and CUDA setup
Show available FABRIC testbed skills and which one to use
| name | fabric-configure |
| description | Generate FABRIC testbed environment setup, configuration validation, and SSH key management code |
| allowed-tools | ["Read","Grep","Glob","Write","Edit","Bash"] |
When invoked, generate Python code (notebook cells or script) to set up and validate a FABRIC testbed environment. Ask the user whether they want Jupyter notebook cells or a standalone Python script.
Steps:
verify_and_configure() to validate the environmentAlways use the canonical import:
from fabrictestbed_extensions.fablib.fablib import FablibManager
FablibManager(
fabric_rc: str = None, # Path to fabric_rc config file
credmgr_host: str = None,
orchestrator_host: str = None,
core_api_host: str = None,
am_host: str = None,
token_location: str = None,
project_id: str = None,
bastion_username: str = None,
bastion_key_location: str = None,
log_level: str = "INFO",
log_file: str = "/tmp/fablib/fablib.log",
data_dir: str = "/tmp/fablib",
offline: bool = False,
auto_token_refresh: bool = True,
validate_config: bool = True,
)
fablib.verify_and_configure(validate_only=False) — Validates configuration; creates SSH keys and bastion config if validate_only=Falsefablib.show_config(output=None, fields=None, quiet=False, pretty_names=True) — Display current configuration. output: "text", "pandas", "json"fablib.save_config() — Write configuration to file for subsequent usefablib.get_image_names() — Returns dict of available OS images with default users and descriptionsfablib.list_sites() — Quick test that API connectivity worksThe following environment variables configure FABlib (alternatively set in fabric_rc file):
| Variable | Description |
|---|---|
FABRIC_CREDMGR_HOST | Credential manager host |
FABRIC_ORCHESTRATOR_HOST | Orchestrator host |
FABRIC_CORE_API_HOST | Core API host |
FABRIC_TOKEN_LOCATION | Path to token file |
FABRIC_BASTION_HOST | Bastion host for SSH |
FABRIC_BASTION_USERNAME | Bastion SSH username |
FABRIC_BASTION_KEY_LOCATION | Path to bastion SSH private key |
FABRIC_SLICE_PRIVATE_KEY_FILE | Path to slice SSH private key |
FABRIC_SLICE_PUBLIC_KEY_FILE | Path to slice SSH public key |
FABRIC_PROJECT_ID | FABRIC project ID |
# Cell 1: Initialize FABlib
from fabrictestbed_extensions.fablib.fablib import FablibManager
fablib = FablibManager()
fablib.show_config()
# Cell 2: Validate environment and save config
fablib.verify_and_configure()
fablib.save_config()
# Cell 3: Test connectivity
fablib.list_sites()
from fabrictestbed_extensions.fablib.fablib import FablibManager
project_id = "YOUR_PROJECT_ID"
fablib = FablibManager(project_id=project_id)
fablib.show_config()
fablib.verify_and_configure()
fablib.save_config()
from fabrictestbed_extensions.fablib.fablib import FablibManager
def main():
# Initialize with explicit config file
fablib = FablibManager(fabric_rc="/path/to/fabric_rc")
# Validate environment
fablib.verify_and_configure()
# Show configuration
fablib.show_config()
# Verify connectivity
sites = fablib.list_sites(output="text", quiet=False)
print("FABRIC environment configured successfully!")
if __name__ == "__main__":
main()
fablib = FablibManager(
credmgr_host="cm.fabric-testbed.net",
orchestrator_host="orchestrator.fabric-testbed.net",
core_api_host="uis.fabric-testbed.net",
token_location=os.environ["HOME"] + "/work/fabric_token.json",
bastion_username="your_username",
bastion_key_location=os.environ["HOME"] + "/.ssh/fabric_bastion_key",
project_id="your-project-id",
)
# Show available OS images
images = fablib.get_image_names()
for name, info in images.items():
print(f"{name}: user={info.get('default_user', 'N/A')}")