From c60c1ef6584f7b830f3bf00f2cbfe2511c0c0d23 Mon Sep 17 00:00:00 2001 From: Zhenyu Zheng Date: Sat, 10 Jun 2023 11:50:52 +0800 Subject: [PATCH] rename to eulerlauncher rename to eulerlauncher Signed-off-by: Zhenyu Zheng --- ...irt-MacOS.spec => EulerLauncher-MacOS.spec | 10 +-- OmniVirtd-Mac.spec => EulerLauncherd-Mac.spec | 4 +- cli.spec | 4 +- docs/developer-manual.md | 20 +++--- docs/mac-user-manual.md | 66 +++++++++--------- docs/win-user-manual.md | 46 ++++++------ ...nivirt-win.conf => eulerlauncher-win.conf} | 0 etc/{omnivirt.conf => eulerlauncher.conf} | 0 {omnivirt => eulerlauncher}/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 168 bytes .../backends/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 177 bytes .../backends/mac/image_handler.py | 6 +- .../backends/mac/instance_handler.py | 8 +-- .../backends/mac/qemu.py | 2 +- .../backends/win/__init__.py | 0 .../win/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 181 bytes .../backends/win/image_handler.py | 8 +-- .../backends/win/instance_handler.py | 10 +-- .../backends/win/powershell.py | 0 .../backends/win/vmops.py | 8 +-- {omnivirt => eulerlauncher}/cli.py | 34 +++++---- .../eulerlauncherd.py | 26 +++---- {omnivirt => eulerlauncher}/grpcs/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 174 bytes {omnivirt => eulerlauncher}/grpcs/client.py | 10 +-- .../grpcs/eulerlauncher_grpc}/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 193 bytes .../grpcs/eulerlauncher_grpc}/images.proto | 0 .../grpcs/eulerlauncher_grpc}/images_pb2.py | 0 .../eulerlauncher_grpc}/images_pb2_grpc.py | 2 +- .../grpcs/eulerlauncher_grpc}/instances.proto | 0 .../eulerlauncher_grpc}/instances_pb2.py | 0 .../eulerlauncher_grpc}/instances_pb2_grpc.py | 2 +- {omnivirt => eulerlauncher}/grpcs/images.py | 2 +- .../grpcs/instances.py | 2 +- {omnivirt => eulerlauncher}/install.py | 12 ++-- {omnivirt => eulerlauncher}/macos-gui.py | 22 +++--- .../services/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 177 bytes .../services/imager_service.py | 10 +-- .../services/instance_service.py | 8 +-- {omnivirt => eulerlauncher}/utils/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 174 bytes .../utils/constants.py | 0 .../utils/exceptions.py | 14 ++-- {omnivirt => eulerlauncher}/utils/objs.py | 4 +- {omnivirt => eulerlauncher}/utils/utils.py | 4 +- install.spec | 6 +- omnivirt/__pycache__/__init__.cpython-310.pyc | Bin 159 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 168 -> 0 bytes .../win/__pycache__/__init__.cpython-310.pyc | Bin 172 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 165 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 179 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 168 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 165 -> 0 bytes setup.cfg | 10 +-- 57 files changed, 179 insertions(+), 181 deletions(-) rename OmniVirt-MacOS.spec => EulerLauncher-MacOS.spec (73%) rename OmniVirtd-Mac.spec => EulerLauncherd-Mac.spec (91%) rename etc/{omnivirt-win.conf => eulerlauncher-win.conf} (100%) rename etc/{omnivirt.conf => eulerlauncher.conf} (100%) rename {omnivirt => eulerlauncher}/__init__.py (100%) create mode 100644 eulerlauncher/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/backends/__init__.py (100%) create mode 100644 eulerlauncher/backends/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/backends/mac/image_handler.py (94%) rename {omnivirt => eulerlauncher}/backends/mac/instance_handler.py (94%) rename {omnivirt => eulerlauncher}/backends/mac/qemu.py (94%) rename {omnivirt => eulerlauncher}/backends/win/__init__.py (100%) create mode 100644 eulerlauncher/backends/win/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/backends/win/image_handler.py (94%) rename {omnivirt => eulerlauncher}/backends/win/instance_handler.py (94%) rename {omnivirt => eulerlauncher}/backends/win/powershell.py (100%) rename {omnivirt => eulerlauncher}/backends/win/vmops.py (94%) rename {omnivirt => eulerlauncher}/cli.py (64%) rename omnivirt/omnivirtd.py => eulerlauncher/eulerlauncherd.py (82%) rename {omnivirt => eulerlauncher}/grpcs/__init__.py (100%) create mode 100644 eulerlauncher/grpcs/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/grpcs/client.py (85%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/__init__.py (100%) create mode 100644 eulerlauncher/grpcs/eulerlauncher_grpc/__pycache__/__init__.cpython-310.pyc rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/images.proto (100%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/images_pb2.py (100%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/images_pb2_grpc.py (98%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/instances.proto (100%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/instances_pb2.py (100%) rename {omnivirt/grpcs/omnivirt_grpc => eulerlauncher/grpcs/eulerlauncher_grpc}/instances_pb2_grpc.py (98%) rename {omnivirt => eulerlauncher}/grpcs/images.py (90%) rename {omnivirt => eulerlauncher}/grpcs/instances.py (88%) rename {omnivirt => eulerlauncher}/install.py (65%) rename {omnivirt => eulerlauncher}/macos-gui.py (58%) rename {omnivirt => eulerlauncher}/services/__init__.py (100%) create mode 100644 eulerlauncher/services/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/services/imager_service.py (90%) rename {omnivirt => eulerlauncher}/services/instance_service.py (90%) rename {omnivirt => eulerlauncher}/utils/__init__.py (100%) create mode 100644 eulerlauncher/utils/__pycache__/__init__.cpython-310.pyc rename {omnivirt => eulerlauncher}/utils/constants.py (100%) rename {omnivirt => eulerlauncher}/utils/exceptions.py (78%) rename {omnivirt => eulerlauncher}/utils/objs.py (90%) rename {omnivirt => eulerlauncher}/utils/utils.py (92%) delete mode 100644 omnivirt/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/backends/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/backends/win/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/grpcs/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/grpcs/omnivirt_grpc/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/services/__pycache__/__init__.cpython-310.pyc delete mode 100644 omnivirt/utils/__pycache__/__init__.cpython-310.pyc diff --git a/OmniVirt-MacOS.spec b/EulerLauncher-MacOS.spec similarity index 73% rename from OmniVirt-MacOS.spec rename to EulerLauncher-MacOS.spec index 12a5e61..758124f 100644 --- a/OmniVirt-MacOS.spec +++ b/EulerLauncher-MacOS.spec @@ -5,10 +5,10 @@ block_cipher = None a = Analysis( - ['omnivirt/macos-gui.py'], + ['eulerlauncher/macos-gui.py'], pathex=[], - binaries=[('dist/OmniVirtd', './bin')], - datas=[('etc/omnivirt.conf', './etc'), ('etc/images/favicon.png', './etc'), ('resources/qemu/edk2-aarch64-code.fd', './etc'), ('resources/qemu/edk2-x86_64-code.fd', './etc')], + binaries=[('dist/EulerLauncherd', './bin')], + datas=[('etc/eulerlauncher.conf', './etc'), ('etc/images/favicon.png', './etc'), ('resources/qemu/edk2-aarch64-code.fd', './etc'), ('resources/qemu/edk2-x86_64-code.fd', './etc')], hiddenimports=[], hookspath=[], hooksconfig={}, @@ -28,7 +28,7 @@ exe = EXE( a.zipfiles, a.datas, [], - name='OmniVirt', + name='EulerLauncher', debug=False, bootloader_ignore_signals=False, strip=False, @@ -46,7 +46,7 @@ exe = EXE( ) app = BUNDLE( exe, - name='OmniVirt.app', + name='EulerLauncher.app', icon='etc/images/favicon.ico', bundle_identifier=None, ) diff --git a/OmniVirtd-Mac.spec b/EulerLauncherd-Mac.spec similarity index 91% rename from OmniVirtd-Mac.spec rename to EulerLauncherd-Mac.spec index 3a8748b..f6cc372 100644 --- a/OmniVirtd-Mac.spec +++ b/EulerLauncherd-Mac.spec @@ -5,7 +5,7 @@ block_cipher = None a = Analysis( - ['omnivirt/omnivirtd.py'], + ['eulerlauncher/eulerlauncherd.py'], pathex=[], binaries=[], datas=[], @@ -28,7 +28,7 @@ exe = EXE( a.zipfiles, a.datas, [], - name='OmniVirtd', + name='EulerLauncherd', debug=False, bootloader_ignore_signals=False, strip=False, diff --git a/cli.spec b/cli.spec index bfaf66d..574d7c7 100644 --- a/cli.spec +++ b/cli.spec @@ -5,7 +5,7 @@ block_cipher = None a = Analysis( - ['omnivirt/cli.py'], + ['eulerlauncher/cli.py'], pathex=[], binaries=[], datas=[], @@ -28,7 +28,7 @@ exe = EXE( a.zipfiles, a.datas, [], - name='omnivirt', + name='eulerlauncher', debug=False, bootloader_ignore_signals=False, strip=False, diff --git a/docs/developer-manual.md b/docs/developer-manual.md index 86c398e..89e4eea 100644 --- a/docs/developer-manual.md +++ b/docs/developer-manual.md @@ -46,25 +46,25 @@ pip3 install -r requirements.txt EulerLauncher可执行文件包括以下几个部分: -1. EulerLauncherd: omnivirt守护进程,以root权限运行在后台,与调用虚拟化组件(Qemu、HyperV、KVM等)及镜像组件进行相关操作; -2. EulerLauncher.app: OmniVirt服务端主程序,将omnivirtd及其他相关程序、数据、文件等打包为MacOS APP软件包,便于分发和使用。 -3. EulerLauncher: MacOS可执行文件,OmniVirt客户端CLI工具,用于与服务端交互。 -4. install: MacOS可执行文件,将OmniVirt运行所需配置文件及相关数据文件安装至`Application Support`文件夹。 +1. EulerLauncherd: EulerLauncher守护进程,以root权限运行在后台,与调用虚拟化组件(Qemu、HyperV、KVM等)及镜像组件进行相关操作; +2. EulerLauncher.app: EulerLauncher服务端主程序,将EulerLauncher及其他相关程序、数据、文件等打包为MacOS APP软件包,便于分发和使用。 +3. EulerLauncher: MacOS可执行文件,EulerLauncher客户端CLI工具,用于与服务端交互。 +4. install: MacOS可执行文件,将EulerLauncher运行所需配置文件及相关数据文件安装至`Application Support`文件夹。 由于`EulerLauncher.app`对`EulerLauncherd`有依赖关系,请严格按照以下顺序构建`EulerLauncherd`及`EulerLauncher.app`: 1. EulerLauncherd: - 项目源码中已包含用于构建OmniVirtd的Spec脚本`OmniVirtd-Mac.spec`, 若非必要,请勿修改该文件,使用一下命令开始构建: + 项目源码中已包含用于构建EulerLauncherd的Spec脚本`EulerLauncherd-Mac.spec`, 若非必要,请勿修改该文件,使用一下命令开始构建: ``` Shell - pyinstaller --clean --noconfirm OmniVirtd-Mac.spec + pyinstaller --clean --noconfirm EulerLauncherd-Mac.spec ``` 2. EulerLauncher.app: - 项目源码中已包含用于构建OmniVirt的Spec脚本`OmniVirt-MacOS.spec`, 若非必要,请勿修改该文件,使用一下命令开始构建: + 项目源码中已包含用于构建EulerLauncher的Spec脚本`EulerLauncher-MacOS.spec`, 若非必要,请勿修改该文件,使用一下命令开始构建: ``` Shell - pyinstaller --clean --noconfirm OmniVirt-MacOS.spec + pyinstaller --clean --noconfirm EulerLauncher-MacOS.spec ``` 构建`omnivirt` CLI 及 `install` 脚本, cli与install之间有依赖关系,请严格按照下面的顺序进行构建: @@ -79,12 +79,12 @@ pyinstaller --clean --noconfirm install.spec 首先,我们创建一个新目录并将文件移动到其中。 ``` Shell mkdir -p dist/dmg -cp -R dist/OmniVirt.app dist/dmg +cp -R dist/EulerLauncher.app dist/dmg ``` 然后,我们可以使用下面的命令来制作磁盘镜像文件: ``` Shell -create-dmg --volname "OmniVirt" --volicon "etc/images/favicon.png" --window-pos 200 120 --window-size 600 300 --icon-size 100 --icon "OmniVirt.app" 175 120 --hide-extension "OmniVirt.app" --app-drop-link 425 120 "dist/OmniVirt.dmg" "dist/dmg/" +create-dmg --volname "EulerLauncher" --volicon "etc/images/favicon.png" --window-pos 200 120 --window-size 600 300 --icon-size 100 --icon "EulerLauncher.app" 175 120 --hide-extension "EulerLauncher.app" --app-drop-link 425 120 "dist/EulerLauncher.dmg" "dist/dmg/" ``` `EulerLauncher.dmg`中将只包含`EulerLauncher.app`主程序,需要将`install`脚本及`EulerLauncher` CLI工具一并压缩后再进行分发。 diff --git a/docs/mac-user-manual.md b/docs/mac-user-manual.md index a73ed41..54fb688 100644 --- a/docs/mac-user-manual.md +++ b/docs/mac-user-manual.md @@ -1,4 +1,4 @@ -# 在MacOS下安装与运行OmniVirt +# 在MacOS下安装与运行EulerLauncher ## 准备工作 @@ -23,7 +23,7 @@ Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载 ### 安装Qemu及wget -**OmniVirt**在MacOS上运行依赖于`QEMU`,镜像下载依赖于`wget`,使用`Homebrew`可以非常方便的下载和管理此类软件,使用以下命令进行安装: +**EulerLauncher**在MacOS上运行依赖于`QEMU`,镜像下载依赖于`wget`,使用`Homebrew`可以非常方便的下载和管理此类软件,使用以下命令进行安装: ``` Shell brew install qemu @@ -32,7 +32,7 @@ brew install wget ### 配置sudo免密码权限 -**OmniVirt**在MacOS上运行依赖于`QEMU`,为了使用户的网络体验更加优秀,因此采用了MacOS的[vmnet framework][1]来提供虚拟机的网络能力,当前`vmnet`使用时需要使用管理员权限,因此在使用`QEMU`后端创建带有`vmnet`类型网络设备的虚拟机时,需要启用管理员权限,OmniVirt在启动时会自动使用`sudo`命令来实现这一过程,因此需要为当前用户配置`sudo`免密码使用权限,如您介意此配置,请停止使用OmniVirt。 +**EulerLauncher**在MacOS上运行依赖于`QEMU`,为了使用户的网络体验更加优秀,因此采用了MacOS的[vmnet framework][1]来提供虚拟机的网络能力,当前`vmnet`使用时需要使用管理员权限,因此在使用`QEMU`后端创建带有`vmnet`类型网络设备的虚拟机时,需要启用管理员权限,EulerLauncher在启动时会自动使用`sudo`命令来实现这一过程,因此需要为当前用户配置`sudo`免密码使用权限,如您介意此配置,请停止使用EulerLauncher。 1. 在MacOS桌面下敲击 `command` + `shift` + `u` 组合键,打开`访达`中的`实用工具`,并找到`终端.app` @@ -44,19 +44,19 @@ brew install wget 4. 敲击`ESC`,再输入`:WQ`进行保存 -## 安装OmniVirt +## 安装EulerLauncher -**OmniVirt**当前支持MacOS Ventura, 支持Apple Silicon芯片版及x86芯片版,前往[OmniVirt最新版下载][1]下载MacOS版软件包并解压到期望的位置。 +**EulerLauncher**当前支持MacOS Ventura, 支持Apple Silicon芯片版及x86芯片版,前往[EulerLauncher最新版下载][1]下载MacOS版软件包并解压到期望的位置。 解压后的目录包含以下文件: -其中`install`可执行文件为安装文件,用于将**OmniVirt**所需支持文件安装到指定位置,`OmniVirt.dmg`为主程序的磁盘映象。 +其中`install`可执行文件为安装文件,用于将**EulerLauncher**所需支持文件安装到指定位置,`EulerLauncher.dmg`为主程序的磁盘映象。 1. 安装支持文件(本操作需要sudo权限,请先完成前面的步骤):双击`install`可执行文件,等待程序完成执行。 -2. 配置**OmniVirt**: +2. 配置**EulerLauncher**: - 查看`qemu`及`wget`所处位置,`qemu`二进制文件在不同架构下名称不同,请根据自身情况选择正确的名称(Apple Silicon: qemu-system-aarch64; Intel: qemu-system-x86_64): ``` Shell @@ -70,16 +70,16 @@ brew install wget ``` 查看完成后,记录路径结果,在接下来的步骤中将会使用到。 - - 打开`omnivirt.conf`并进行配置: + - 打开`eulerlauncher.conf`并进行配置: ``` Shell - sudo vi /Library/Application\ Support/org.openeuler.omnivirt/omnivirt.conf + sudo vi /Library/Application\ Support/org.openeuler.eulerlauncher/eulerlauncher.conf ``` - omnivirt的配置如下 + eulerlauncher的配置如下 ``` [default] log_dir = # 日志文件位置(xxx.log) - work_dir = # omnivirt工作目录,用于存储虚拟机镜像、虚拟机文件等 + work_dir = # eulerlauncher工作目录,用于存储虚拟机镜像、虚拟机文件等 wget_dir = # wget的可执行文件路径,请参考上一步的内容进行配置 qemu_dir = # qemu的可执行文件路径,请参考上一步的内容进行配置 debug = True @@ -89,27 +89,27 @@ brew install wget memory = 1024 # 配置虚拟机的内存大小,单位为M,M1用户请勿配置超过2048 ``` -3. 安装**OmniVirt.app**: +3. 安装**EulerLauncher.app**: - - 双击`OmniVirt.dmg`,在弹出的窗口中用鼠标将`OmniVirt.app`拖动到`Applications`中,即可完成安装,并可在应用程序中找到`OmniVirt.app` + - 双击`EulerLauncher.dmg`,在弹出的窗口中用鼠标将`EulerLauncher.app`拖动到`Applications`中,即可完成安装,并可在应用程序中找到`EulerLauncher.app` -## 使用OmniVirt +## 使用EulerLauncher -1. 在应用程序中找到`OmniVirt.app`,单击启动程序。 +1. 在应用程序中找到`EulerLauncher.app`,单击启动程序。 -2. OmniVirt需要访问网络,在弹出如下窗口时点击`允许`: +2. EulerLauncher需要访问网络,在弹出如下窗口时点击`允许`: -3. OmniVirt当前仅支持命令行方式进行访问,请打开`终端.app`,使用命令行进行操作。 +3. EulerLauncher当前仅支持命令行方式进行访问,请打开`终端.app`,使用命令行进行操作。 ### 镜像操作 1. 获取可用镜像列表: ```Shell -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -120,12 +120,12 @@ omnivirt images +-----------+----------+--------------+ ``` -**OmniVirt**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**OmniVirt**中,具体操作方法可以参考接下来的操作指导。 +**EulerLauncher**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**EulerLauncher**中,具体操作方法可以参考接下来的操作指导。 2. 下载远端镜像 ```Shell -omnivirt download-image 22.03-LTS +eulerlauncher download-image 22.03-LTS Downloading: 22.03-LTS, this might take a while, please check image status with "images" command. ``` @@ -133,7 +133,7 @@ Downloading: 22.03-LTS, this might take a while, please check image status with 镜像下载请求是一个异步请求,具体的下载动作将在后台完成,具体耗时与你的网络情况相关,整体的镜像下载流程包括下载、解压缩、格式转换等相关子流程,在下载过程中可以通过 `image` 命令随时查看下载进展与镜像状态: ```Shell -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -148,7 +148,7 @@ omnivirt images 当镜像状态转变为 `Ready` 时,表示镜像下载完成,处于 `Ready` 状态的镜像可被用来创建虚拟机: ```Shell -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -161,10 +161,10 @@ omnivirt images 3. 加载本地镜像 -用户也可以加载自定义镜像或预先下载到本地的镜像到OmniVirt中用于创建自定义虚拟机: +用户也可以加载自定义镜像或预先下载到本地的镜像到EulerLauncher中用于创建自定义虚拟机: ```Shell -omnivirt load-image --path {image_file_path} IMAGE_NAME +eulerlauncher load-image --path {image_file_path} IMAGE_NAME ``` 当前支持加载的镜像格式有 `xxx.qcow2.xz`,`xxx.qcow2` @@ -172,15 +172,15 @@ omnivirt load-image --path {image_file_path} IMAGE_NAME 例如: ```Shell -omnivirt load-image --path /opt/openEuler-22.03-LTS-x86_64.qcow2.xz 2203-load +eulerlauncher load-image --path /opt/openEuler-22.03-LTS-x86_64.qcow2.xz 2203-load Loading: 2203-load, this might take a while, please check image status with "images" command. ``` -将位于 `/opt` 目录下的 `openEuler-22.03-LTS-x86_64.qcow2.xz` 加载到OmniVirt系统中,并命名为 `2203-load`,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 `Ready`, 但相对于直接下载镜像,加载镜像的速度会快很多: +将位于 `/opt` 目录下的 `openEuler-22.03-LTS-x86_64.qcow2.xz` 加载到EulerLauncher系统中,并命名为 `2203-load`,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 `Ready`, 但相对于直接下载镜像,加载镜像的速度会快很多: ```Shell -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -190,7 +190,7 @@ omnivirt images | 2203-load | Local | Loading | +-----------+----------+--------------+ -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -203,10 +203,10 @@ omnivirt images 4. 删除镜像: -通过下面的命令将镜像从OmniVirt系统中删除: +通过下面的命令将镜像从EulerLauncher系统中删除: ```Shell -omnivirt delete-image 2203-load +eulerlauncher delete-image 2203-load Image: 2203-load has been successfully deleted. ``` @@ -216,7 +216,7 @@ Image: 2203-load has been successfully deleted. 1. 获取虚拟机列表: ```shell -omnivirt list +eulerlauncher list +----------+-----------+---------+---------------+ | Name | Image | State | IP | @@ -241,14 +241,14 @@ ssh root@{instance_ip} 3. 创建虚拟机 ```Shell -omnivirt launch --image {image_name} {instance_name} +eulerlauncher launch --image {image_name} {instance_name} ``` 通过 `--image` 指定镜像,同时指定虚拟机名称。 4. 删除虚拟机 ```Shell -omnivirt delete-instance {instance_name} +eulerlauncher delete-instance {instance_name} ``` 根据虚拟机名称删除指定的虚拟机。 diff --git a/docs/win-user-manual.md b/docs/win-user-manual.md index 6329c7a..4c11459 100644 --- a/docs/win-user-manual.md +++ b/docs/win-user-manual.md @@ -6,40 +6,40 @@ **EulerLauncher**解压后包含以下几个部分: -- omnivirtd.exe:OmniVirt的主进程,是运行在后台的守护进程,负责与各类虚拟化后端交互,管理虚拟机、容器以及镜像的生命周期,omnivirtd.exe是运行在后台的守护进程。 -- onivirt.exe:OmniVirt的CLI客户端,用户通过该客户端与omnivirtd守护进程交互,对虚拟机、镜像等进行相关操作。 -- omnivirt-win.conf:OmniVirt配置文件,需与omnivirtd.exe放置于同一目录下,参考下面配置进行相应配置: +- eulerlauncherd.exe:EulerLauncher的主进程,是运行在后台的守护进程,负责与各类虚拟化后端交互,管理虚拟机、容器以及镜像的生命周期,eulerlauncherd.exe是运行在后台的守护进程。 +- eulerlauncher.exe:EulerLauncher的CLI客户端,用户通过该客户端与eulerlauncherd守护进程交互,对虚拟机、镜像等进行相关操作。 +- eulerlauncher-win.conf:OmniVirt配置文件,需与eulerlauncherd.exe放置于同一目录下,参考下面配置进行相应配置: ```Conf [default] # 配置日志文件的存储目录 -log_dir = D:\omnivirt-workdir\logs +log_dir = D:\eulerlauncher-workdir\logs # 配置日志等级是否开启Debug debug = True # 配置OmniVirt的工作目录 -work_dir = D:\omnivirt-workdir +work_dir = D:\eulerlauncher-workdir # 配置OmniVirt的镜像目录,镜像目录为对工作目录的相对目录 image_dir = images # 配置OmniVirt的虚拟机文件目录,虚拟机文件目录为对工作目录的相对目录 instance_dir = instances ``` -配置完成后请右键点击omnivirtd.exe,选择以管理员身份运行,点击后omnivird.exe将以守护进程的形式在后台运行。 +配置完成后请右键点击eulerlauncherd.exe,选择以管理员身份运行,点击后eulerlauncherd.exe将以守护进程的形式在后台运行。 打开 `PowerShell` 或 `Terminal` ,准备进行对应的操作。 ### Windows下退出EulerLauncherd后台进程 -当omnivirtd.exe运行后,会在操作系统右下角托盘区域生成omnivirtd托盘图标: +当eulerlauncherd.exe运行后,会在操作系统右下角托盘区域生成eulerlauncherd托盘图标: -鼠标右键点击托盘图标,并选择 `Exit OmniVirt` 即可退出omnivirtd后台进程。 +鼠标右键点击托盘图标,并选择 `Exit EulerLauncher` 即可退出EulerLauncherd后台进程。 ### 镜像操作 1. 获取可用镜像列表: ```PowerShell -omnivirt.exe images +eulerlauncher.exe images +-----------+----------+--------------+ | Images | Location | Status | @@ -50,12 +50,12 @@ omnivirt.exe images +-----------+----------+--------------+ ``` -**EulerLauncher**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**OmniVirt**中,具体操作方法可以参考接下来的操作指导。 +**EulerLauncher**镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 `Ready` 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到**EulerLauncher**中,具体操作方法可以参考接下来的操作指导。 2. 下载远端镜像 ```PowerShell -omnivirt.exe download-image 22.03-LTS +eulerlauncher.exe download-image 22.03-LTS Downloading: 22.03-LTS, this might take a while, please check image status with "images" command. ``` @@ -63,7 +63,7 @@ Downloading: 22.03-LTS, this might take a while, please check image status with 镜像下载请求是一个异步请求,具体的下载动作将在后台完成,具体耗时与你的网络情况相关,整体的镜像下载流程包括下载、解压缩、格式转换等相关子流程,在下载过程中可以通过 `image` 命令随时查看下载进展与镜像状态: ```PowerShell -omnivirt.exe images +eulerlauncher.exe images +-----------+----------+--------------+ | Images | Location | Status | @@ -78,7 +78,7 @@ omnivirt.exe images 当镜像状态转变为 `Ready` 时,表示镜像下载完成,处于 `Ready` 状态的镜像可被用来创建虚拟机: ```PowerShell -omnivirt.exe images +eulerlauncher.exe images +-----------+----------+--------------+ | Images | Location | Status | @@ -91,10 +91,10 @@ omnivirt.exe images 3. 加载本地镜像 -用户也可以加载自定义镜像或预先下载到本地的镜像到OmniVirt中用于创建自定义虚拟机: +用户也可以加载自定义镜像或预先下载到本地的镜像到EulerLauncher中用于创建自定义虚拟机: ```PowerShell -omnivirt.exe load-image --path {image_file_path} IMAGE_NAME +eulerlauncher.exe load-image --path {image_file_path} IMAGE_NAME ``` 当前支持加载的镜像格式有 `xxx.qcow2.xz`,`xxx.qcow2` @@ -102,7 +102,7 @@ omnivirt.exe load-image --path {image_file_path} IMAGE_NAME 例如: ```PowerShell -omnivirt.exe load-image --path D:\openEuler-22.03-LTS-x86_64.qcow2.xz 2203-load +eulerlauncher.exe load-image --path D:\openEuler-22.03-LTS-x86_64.qcow2.xz 2203-load Loading: 2203-load, this might take a while, please check image status with "images" command. ``` @@ -110,7 +110,7 @@ Loading: 2203-load, this might take a while, please check image status with "ima 将位于 `D:\` 目录下的 `openEuler-22.03-LTS-x86_64.qcow2.xz` 加载到OmniVirt系统中,并命名为 `2203-load`,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 `Ready`, 但相对于直接下载镜像,加载镜像的速度会快很多: ```PowerShell -omnivirt.exe images +eulerlauncher.exe images +-----------+----------+--------------+ | Images | Location | Status | @@ -120,7 +120,7 @@ omnivirt.exe images | 2203-load | Local | Loading | +-----------+----------+--------------+ -omnivirt images +eulerlauncher images +-----------+----------+--------------+ | Images | Location | Status | @@ -133,10 +133,10 @@ omnivirt images 4. 删除镜像: -通过下面的命令将镜像从OmniVirt系统中删除: +通过下面的命令将镜像从EulerLauncher系统中删除: ```PowerShell -omnivirt.exe delete-image 2203-load +eulerlauncher.exe delete-image 2203-load Image: 2203-load has been successfully deleted. ``` @@ -146,7 +146,7 @@ Image: 2203-load has been successfully deleted. 1. 获取虚拟机列表: ```Powershell -omnivirt.exe list +eulerlauncher.exe list +----------+-----------+---------+---------------+ | Name | Image | State | IP | @@ -171,14 +171,14 @@ ssh root@{instance_ip} 3. 创建虚拟机 ```PowerShell -omnivirt.exe launch --image {image_name} {instance_name} +eulerlauncher.exe launch --image {image_name} {instance_name} ``` 通过 `--image` 指定镜像,同时指定虚拟机名称。 4. 删除虚拟机 ```PowerShell -omnivirt.exe delete-instance {instance_name} +eulerlauncher.exe delete-instance {instance_name} ``` 根据虚拟机名称删除指定的虚拟机。 diff --git a/etc/omnivirt-win.conf b/etc/eulerlauncher-win.conf similarity index 100% rename from etc/omnivirt-win.conf rename to etc/eulerlauncher-win.conf diff --git a/etc/omnivirt.conf b/etc/eulerlauncher.conf similarity index 100% rename from etc/omnivirt.conf rename to etc/eulerlauncher.conf diff --git a/omnivirt/__init__.py b/eulerlauncher/__init__.py similarity index 100% rename from omnivirt/__init__.py rename to eulerlauncher/__init__.py diff --git a/eulerlauncher/__pycache__/__init__.cpython-310.pyc b/eulerlauncher/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa4d9fe9fafd6f23842793f4c5acdd3d798b652a GIT binary patch literal 168 zcmd1j<>g`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vTKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^;^Q;(GE3s)^$IF) UaoFVMrvTO3fh;Lz0un3?0FwABj{pDw literal 0 HcmV?d00001 diff --git a/omnivirt/backends/__init__.py b/eulerlauncher/backends/__init__.py similarity index 100% rename from omnivirt/backends/__init__.py rename to eulerlauncher/backends/__init__.py diff --git a/eulerlauncher/backends/__pycache__/__init__.cpython-310.pyc b/eulerlauncher/backends/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7624ca5522e260bd9716a8884a3b4a7a251a2387 GIT binary patch literal 177 zcmd1j<>g`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10GKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^k`j}%Q}a@a_2c6+ d^D;}~1m literal 0 HcmV?d00001 diff --git a/omnivirt/backends/mac/image_handler.py b/eulerlauncher/backends/mac/image_handler.py similarity index 94% rename from omnivirt/backends/mac/image_handler.py rename to eulerlauncher/backends/mac/image_handler.py index c11f03d..f9c8ec6 100644 --- a/omnivirt/backends/mac/image_handler.py +++ b/eulerlauncher/backends/mac/image_handler.py @@ -6,9 +6,9 @@ import subprocess import shutil import ssl -from omnivirt.utils import constants -from omnivirt.utils import utils as omni_utils -from omnivirt.utils import objs +from eulerlauncher.utils import constants +from eulerlauncher.utils import utils as omni_utils +from eulerlauncher.utils import objs ssl._create_default_https_context = ssl._create_unverified_context diff --git a/omnivirt/backends/mac/instance_handler.py b/eulerlauncher/backends/mac/instance_handler.py similarity index 94% rename from omnivirt/backends/mac/instance_handler.py rename to eulerlauncher/backends/mac/instance_handler.py index a7aa10d..a53e78d 100644 --- a/omnivirt/backends/mac/instance_handler.py +++ b/eulerlauncher/backends/mac/instance_handler.py @@ -8,10 +8,10 @@ import time from oslo_utils import uuidutils -from omnivirt.utils import constants -from omnivirt.utils import utils as omni_utils -from omnivirt.utils import objs -from omnivirt.backends.mac import qemu +from eulerlauncher.utils import constants +from eulerlauncher.utils import utils as omni_utils +from eulerlauncher.utils import objs +from eulerlauncher.backends.mac import qemu class MacInstanceHandler(object): diff --git a/omnivirt/backends/mac/qemu.py b/eulerlauncher/backends/mac/qemu.py similarity index 94% rename from omnivirt/backends/mac/qemu.py rename to eulerlauncher/backends/mac/qemu.py index 732bd3f..eebe066 100644 --- a/omnivirt/backends/mac/qemu.py +++ b/eulerlauncher/backends/mac/qemu.py @@ -2,7 +2,7 @@ import platform import subprocess import os -from omnivirt.utils import constants +from eulerlauncher.utils import constants class QemuDriver(object): diff --git a/omnivirt/backends/win/__init__.py b/eulerlauncher/backends/win/__init__.py similarity index 100% rename from omnivirt/backends/win/__init__.py rename to eulerlauncher/backends/win/__init__.py diff --git a/eulerlauncher/backends/win/__pycache__/__init__.cpython-310.pyc b/eulerlauncher/backends/win/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a08ef7cb2427c4206694f198f8746c20d0d9ef22 GIT binary patch literal 181 zcmd1j<>g`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10EKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^k`j}%Q}a@a^~*E! h^yA|*^D;}~g`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10SKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^(u)d`i}mBg`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10HKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^(u)d`i&4emL1Oyx f@tJvg`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10GKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^fV#^vlYvU(<1_Oz bOXB183My}L*yQG?05#cxY%6905-bb=O>QnL literal 0 HcmV?d00001 diff --git a/omnivirt/services/imager_service.py b/eulerlauncher/services/imager_service.py similarity index 90% rename from omnivirt/services/imager_service.py rename to eulerlauncher/services/imager_service.py index c2d6f28..0d1fb8e 100644 --- a/omnivirt/services/imager_service.py +++ b/eulerlauncher/services/imager_service.py @@ -1,11 +1,11 @@ import logging import os -from omnivirt.backends.mac import image_handler as mac_image_handler -from omnivirt.backends.win import image_handler as win_image_handler -from omnivirt.grpcs.omnivirt_grpc import images_pb2, images_pb2_grpc -from omnivirt.utils import constants as omni_constants -from omnivirt.utils import utils as omni_utils +from eulerlauncher.backends.mac import image_handler as mac_image_handler +from eulerlauncher.backends.win import image_handler as win_image_handler +from eulerlauncher.grpcs.eulerlauncher_grpc import images_pb2, images_pb2_grpc +from eulerlauncher.utils import constants as omni_constants +from eulerlauncher.utils import utils as omni_utils LOG = logging.getLogger(__name__) diff --git a/omnivirt/services/instance_service.py b/eulerlauncher/services/instance_service.py similarity index 90% rename from omnivirt/services/instance_service.py rename to eulerlauncher/services/instance_service.py index e4125e9..bea002e 100644 --- a/omnivirt/services/instance_service.py +++ b/eulerlauncher/services/instance_service.py @@ -1,8 +1,8 @@ import logging import os -from omnivirt.grpcs.omnivirt_grpc import instances_pb2, instances_pb2_grpc -from omnivirt.utils import utils +from eulerlauncher.grpcs.eulerlauncher_grpc import instances_pb2, instances_pb2_grpc +from eulerlauncher.utils import utils LOG = logging.getLogger(__name__) @@ -21,11 +21,11 @@ class InstanceService(instances_pb2_grpc.InstanceGrpcServiceServicer): self.image_dir = os.path.join(self.work_dir, 'images') self.img_record_file = os.path.join(self.image_dir, 'images.json') if host_os == 'Win': - from omnivirt.backends.win import instance_handler as win_instance_handler + from eulerlauncher.backends.win import instance_handler as win_instance_handler self.backend = win_instance_handler.WinInstanceHandler( self.CONF, self.work_dir, self.instance_dir, self.image_dir, self.img_record_file, LOG) elif host_os == 'MacOS': - from omnivirt.backends.mac import instance_handler as mac_instance_handler + from eulerlauncher.backends.mac import instance_handler as mac_instance_handler self.backend = mac_instance_handler.MacInstanceHandler( self.CONF, self.work_dir, self.instance_dir, self.image_dir, self.img_record_file, LOG, self.svc_base_dir) diff --git a/omnivirt/utils/__init__.py b/eulerlauncher/utils/__init__.py similarity index 100% rename from omnivirt/utils/__init__.py rename to eulerlauncher/utils/__init__.py diff --git a/eulerlauncher/utils/__pycache__/__init__.cpython-310.pyc b/eulerlauncher/utils/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..47e4af3464d91d3c87657234846be67cb24b3baf GIT binary patch literal 174 zcmd1j<>g`kg4(;yDIoeWh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10SKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO^U<>Zg|Gq!#5QmgXgAq!yv^N=q_xiuL2;GxIV_ a;^XxSDsOSv7R literal 0 HcmV?d00001 diff --git a/omnivirt/utils/constants.py b/eulerlauncher/utils/constants.py similarity index 100% rename from omnivirt/utils/constants.py rename to eulerlauncher/utils/constants.py diff --git a/omnivirt/utils/exceptions.py b/eulerlauncher/utils/exceptions.py similarity index 78% rename from omnivirt/utils/exceptions.py rename to eulerlauncher/utils/exceptions.py index 3f671e1..cf43924 100644 --- a/omnivirt/utils/exceptions.py +++ b/eulerlauncher/utils/exceptions.py @@ -1,12 +1,12 @@ -"""OmniVirt Base Exceptions. +"""EulerLauncher Base Exceptions. """ import logging LOG = logging.getLogger(__name__) -class OmniVirtException(Exception): - """Base OmniVirt Exception +class EulerLauncherException(Exception): + """Base EulerLauncher Exception To correctly use this class, inherit from it and define a 'msg_fmt' property. That msg_fmt will get printf'd with the keyword arguments provided to the constructor. @@ -35,7 +35,7 @@ class OmniVirtException(Exception): message = self.msg_fmt self.message = message - super(OmniVirtException, self).__init__(message) + super(EulerLauncherException, self).__init__(message) def _log_exception(self): LOG.exception('Exception in string format operation') @@ -51,11 +51,11 @@ class OmniVirtException(Exception): return str(dict_repr) -class NoSuchFile(OmniVirtException): +class NoSuchFile(EulerLauncherException): msg_fmt = "No Such File or Directory: %(file)s" -class NoConfigFileProvided(OmniVirtException): +class NoConfigFileProvided(EulerLauncherException): msg_fmt = "Config File Should Be Provided" -class OmniVirtdNotAvailable(OmniVirtException): +class OmniVirtdNotAvailable(EulerLauncherException): msg_fmt = "OmniVirtd Daemon is not available" \ No newline at end of file diff --git a/omnivirt/utils/objs.py b/eulerlauncher/utils/objs.py similarity index 90% rename from omnivirt/utils/objs.py rename to eulerlauncher/utils/objs.py index 9cb2004..714e26d 100644 --- a/omnivirt/utils/objs.py +++ b/eulerlauncher/utils/objs.py @@ -1,8 +1,8 @@ import os import configparser -from omnivirt.utils import exceptions -from omnivirt.utils import constants +from eulerlauncher.utils import exceptions +from eulerlauncher.utils import constants class Instance(object): diff --git a/omnivirt/utils/utils.py b/eulerlauncher/utils/utils.py similarity index 92% rename from omnivirt/utils/utils.py rename to eulerlauncher/utils/utils.py index b6f10c9..8381c74 100644 --- a/omnivirt/utils/utils.py +++ b/eulerlauncher/utils/utils.py @@ -8,8 +8,8 @@ import uuid from google.protobuf.json_format import MessageToDict -from omnivirt.utils import exceptions -from omnivirt.utils import objs +from eulerlauncher.utils import exceptions +from eulerlauncher.utils import objs def asyncwrapper(fn): diff --git a/install.spec b/install.spec index cac4aec..8655401 100644 --- a/install.spec +++ b/install.spec @@ -5,10 +5,10 @@ block_cipher = None a = Analysis( - ['omnivirt/install.py'], + ['eulerlauncher/install.py'], pathex=[], - binaries=[('dist/omnivirt', './etc')], - datas=[('etc/omnivirt.conf', './etc'), ('resources/qemu/edk2-aarch64-code.fd', './etc'), ('resources/qemu/edk2-x86_64-code.fd', './etc')], + binaries=[('dist/eulerlauncher', './etc')], + datas=[('etc/eulerlauncher.conf', './etc'), ('resources/qemu/edk2-aarch64-code.fd', './etc'), ('resources/qemu/edk2-x86_64-code.fd', './etc')], hiddenimports=[], hookspath=[], hooksconfig={}, diff --git a/omnivirt/__pycache__/__init__.cpython-310.pyc b/omnivirt/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 54a26528c7bd3e1d90cc93d1ff93fc2a00ef4c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmd1j<>g`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vBKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0v@$s2?nI-Y@dIgoYIBatB RQ%ZAE?LcN1GXV(}1^}Y)CUF1& diff --git a/omnivirt/backends/__pycache__/__init__.cpython-310.pyc b/omnivirt/backends/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 0cc9e70986476b2f6e86491b52a66164759458bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmd1j<>g`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vTKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0vNr}nXsd*{I`tk9Zd6^~g a@p=W7w>WHa^HWN5Qtd#N6f*${76t$@m?`7{ diff --git a/omnivirt/backends/win/__pycache__/__init__.cpython-310.pyc b/omnivirt/backends/win/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index b60b7386e1a82169ae79dfcc725df6f3ad15ec9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmd1j<>g`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vXKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0vNr}nXsd*{I`sJB<`tk9Z ed6^~g@p=W7w>WHa^HWN5Qtdz%6*B<|76t(8@+)Nk diff --git a/omnivirt/grpcs/__pycache__/__init__.cpython-310.pyc b/omnivirt/grpcs/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index bf26fdd57195799ee1da127e81050bcef443c378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmd1j<>g`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v5KeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0v=|u&}#rpB_nR%Hd@$q^E XmA5!-a`RJ4b5iXg`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o10OKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0v=|u&}#c*ysh^rqTpP83g c5+AQuPg`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vTKeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0vKuu+t$v_qH@tJvg`kf<%v*$sqbMh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v5KeRZts93)$ zBQ-A_L{ygQm**E{>nG=@q!#O^XO?7?Ch6zr=4F;;7L_0vr6rj;#rpB_nR%Hd@$q^E XmA5!-a`RJ4b5iX=3.8 -url = https://github.com/ZhengZhenyu/omnivirt.git +url = https://gitee.com/openeuler/eulerlauncher.git classifiers = Development Status :: 3 - Alpha Environment :: OmniVirt @@ -25,8 +25,8 @@ classifiers = [files] packages = - omnivirt + eulerlauncher [entry_points] console_scripts = - omnivirt = omnivirt.cli:main \ No newline at end of file + eulerlauncher = eulerlauncher.cli:main \ No newline at end of file -- Gitee