asterinas / trustflow

A privacy-preserving computing system based on TEE.
https://www.secretflow.org.cn/docs/trustedflow
Apache License 2.0
14 stars 11 forks source link

海光csv如何确定CapsuleManager的服务地址 #44

Closed yujingyue9166 closed 5 months ago

yujingyue9166 commented 6 months ago

Issue Type

Build/Install

Source

binary

Capsule Manager Version

0.2.0b

Capsule Manager SDK Version

0.2.0b

Tee Apps Version

0.2.0b

OS Platform and Distribution

海光csv Ubuntu 22.04

Python version

3.10

Bazel version

No response

GCC/Compiler version

No response

What happend and What you expected to happen.

按照https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/quick_start/step1#csvcapsulemanager通过海光csv虚拟机启动 capsule-manager-csv镜像,并通过ifconfig查找到虚拟机的ip地址为10.0.2.15
但是按照步骤二https://www.secretflow.org.cn/zh-CN/docs/trustedflow/0.2.0b0/quick_start/step2#id2上传密钥时显示
(capsule-manager-sdk) root@user:/home/alice# cms --config-file alice.yaml register-data-keys
Traceback (most recent call last):
  File "/root/miniconda3/envs/capsule-manager-sdk/bin/cms", line 8, in <module>
    sys.exit(cms())
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/cli/cms.py", line 142, in register_data_keys
    ctx.obj.create_data_keys(
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/sdc/capsule_manager_frame.py", line 321, in create_data_keys
    request, self.get_public_key(), private_key, cert_pems
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/sdc/capsule_manager_frame.py", line 208, in get_public_key
    response = self.stub.GetRaCert(request)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/grpc/_channel.py", line 1176, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/root/miniconda3/envs/capsule-manager-sdk/lib/python3.10/site-packages/grpc/_channel.py", line 1005, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.UNAVAILABLE
    details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:10.0.2.15:8888: Failed to connect to remote host: FD Shutdown"
    debug_error_string = "UNKNOWN:Error received from peer  {created_time:"2024-04-24T06:20:34.956096988+00:00", grpc_status:14, grpc_message:"failed to connect to all addresses; last error: UNKNOWN: ipv4:10.0.2.15:8888: Failed to connect to remote host: FD Shutdown"}"
>
请问,如何找到海光csv虚拟机下开启docker中CapsuleManager的服务地址

Reproduction code to reproduce the issue.

---
yuki252111 commented 5 months ago

没太理解是什么意思,服务本身的默认端口就是8888,虚拟机到host主机的端口映射这个是看你这边启动虚拟机的时候怎么配置

yujingyue9166 commented 5 months ago

您好,我启动虚拟机的命令是 sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 ,参考https://openanolis.cn/sig/Hygon-Arch/doc/865622215810225948 这样启动虚拟机可以ping通主机网络,但是主机网络无法ping通虚拟机。想请教下,启动虚拟机时应该如何配置网络。

zhongtianq commented 5 months ago

我理解这是虚拟机网络配置本身的问题,与trustedflow无关。 可以查阅一下相关资料如何对虚拟机网络进行配置以及映射到主机端口上,比如搭建网桥等。先保证虚拟机本身网络环境正常。 如果像快速体验使用,也可以考虑在一个虚拟机中启动多个docker,在内部用localhost访问虚拟机内部的服务。

yujingyue9166 commented 5 months ago

好的谢谢 我先试一下