Giter Site home page Giter Site logo

yunionio / cloudpods Goto Github PK

View Code? Open in Web Editor NEW
2.3K 53.0 480.0 137.16 MB

A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台

Home Page: https://www.cloudpods.org

License: Apache License 2.0

Makefile 0.08% Shell 0.31% Go 99.56% Python 0.06%
infrastructure kubernetes architecture multicloud cloud enterprises aws azure gcp openstack

cloudpods's People

Contributors

62374520 avatar am6737 avatar bistuzx avatar clamyang avatar dependabot[bot] avatar getech-infra avatar gouqi11 avatar gzericlee avatar hoganlxj avatar ioito avatar ironicbo avatar liuxueguo6921 avatar lvyangyang avatar nxsre avatar rainzm avatar seraphico avatar stargic avatar swordqiu avatar taigrr avatar tb365 avatar testwill avatar wangzhongcan654 avatar wanyaoqi avatar ykdh avatar yousong avatar yunion-ci-robot avatar yunioncorp avatar zexi avatar zhaoxiangchun avatar zhasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudpods's Issues

将 server create 的参数信息持久化

What would you like to be added:

调用 server-create 接口时,将创建参数持久化到数据库。

Why is this needed:

实现克隆或者创建主备机等操作时,需要基于原机器的创建参数生成 api 调用参数。
主机现有的资源并不能重新生成创建时的参数。

安装过程中总是运行到这里就出错?请问是什么原因

TASK [primary-master-node : Create onecloud web login user admin] **************************************************************************************************************************************************************************************************************
fatal: [10.1.131.154]: FAILED! => {"changed": true, "cmd": "eval $(/opt/yunion/bin/ocadm cluster rcadmin)\n/opt/yunion/bin/climc user-create --password admin@123 --enabled admin\n", "delta": "0:00:00.239029", "end": "2020-05-20 14:39:50.990319", "msg": "non-zero return code", "rc": 1, "start": "2020-05-20 14:39:50.751290", "stderr": "{"error":{"class":"UnauthorizedError","code":401,"data":{"fields":["authUserByIdentityV3: Query user by name: Error 1146: Table 'keystone.user' doesn't exist"],"id":"unauthorized {0}"},"details":"unauthorized authUserByIdentityV3: Query user by name: Error 1146: Table 'keystone.user' doesn't exist"}}", "stderr_lines": ["{"error":{"class":"UnauthorizedError","code":401,"data":{"fields":["authUserByIdentityV3: Query user by name: Error 1146: Table 'keystone.user' doesn't exist"],"id":"unauthorized {0}"},"details":"unauthorized authUserByIdentityV3: Query user by name: Error 1146: Table 'keystone.user' doesn't exist"}}"], "stdout": "", "stdout_lines": []}

PLAY RECAP *********************************************************************************************************************************************************************************************************************************************************************
10.1.131.154 : ok=51 changed=10 unreachable=0 failed=1 skipped=6 rescued=0 ignored=0

[root@iZ2zeifg1bwa257gpka727Z ocboot]#

bug(调度器): 迁移和主备机创建调度失败

What happened:

如果 network 没有开启 auto_alloc 自动分配,会出现创建主备机和迁移失败的问题。

这个是调度失败日志

 error: 'genericScheduler.Schedule: No resource are avaliable that match all of the
    following predicates: filter by host_migrate(-1), host_network(-8), session_id="1606182133191"'
  logs:
  - 'Success: zwyf-10-10-68-10-10:320766e6-740d-44a8-8ed8-a51d0b6fb865 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-10-10-68-10-10:320766e6-740d-44a8-8ed8-a51d0b6fb865 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-2-10-68-10-2:4e867171-1f4c-46e1-8eac-82d47c41bb05 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-2-10-68-10-2:4e867171-1f4c-46e1-8eac-82d47c41bb05 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-3-10-68-10-3:25360e83-8c8c-400c-8686-2e890cbd798c [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-3-10-68-10-3:25360e83-8c8c-400c-8686-2e890cbd798c [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-4-10-68-10-4:f4ce1dce-7ac2-4562-8cde-0abbc83bf501 [host_aggregate,host_hypervisor_runtime,host_status] '
  - 'Failed: zwyf-4-10-68-10-4:f4ce1dce-7ac2-4562-8cde-0abbc83bf501 [host_migrate]
    host_migrate: host_id specified for migration'
  - 'Success: zwyf-5-10-68-10-5:2b6d0295-7268-4e17-871c-a909f6819c1e [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-5-10-68-10-5:2b6d0295-7268-4e17-871c-a909f6819c1e [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-6-10-68-10-6:c65e45c8-b9b4-4977-83a8-d4ee6ed258c4 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-6-10-68-10-6:c65e45c8-b9b4-4977-83a8-d4ee6ed258c4 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-7-10-68-10-7:f5f40be5-1a1d-438b-8425-37225f3e597a [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-7-10-68-10-7:f5f40be5-1a1d-438b-8425-37225f3e597a [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-8-10-68-10-8:37ca7d47-5948-4f6f-8b0d-aa48d46bc9a5 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-8-10-68-10-8:37ca7d47-5948-4f6f-8b0d-aa48d46bc9a5 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-9-10-68-10-9:15e5034f-1689-4f19-80a5-09a124e677f1 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-9-10-68-10-9:15e5034f-1689-4f19-80a5-09a124e677f1 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  result: null
  status: failed
  time: "2020-11-24 09:42:13"
  type: hypervisor
time: "2020-11-24 09:42:13"

/cc @wanyaoqi @zexi

Better network model for VMware

What would you like to be added:

为 VMware 设计一个更好的网络模型。

Why is this needed:

现在的实现中隐藏了 VMware 本身的 vSwitch 以及 portgroup,而通过 vlan 来决定虚拟机的网卡应该分配到哪个网络中。
造成的问题是:

  • 创建虚拟机是,没法直观的选择 vSwitch 和 portgroup,因为Yunion Onecloud中没有资源对应。
  • 对于使用标准 vSwitch ,自己使用物理交换机实现 vlan 功能的用户,拿不到 vlan 也就无法为虚拟机选择正确的网络。

启用所有组件报错

按照 https://docs.yunion.io/docs/setup/controlplane/ 启用所有组件报错

# ocadm component enable all
I1230 00:05:20.111076    8172 component.go:284] Start enable cloudmon
I1230 00:05:20.436898    8172 component.go:292] End enable cloudmon
I1230 00:05:20.436937    8172 component.go:284] Start enable cloudwatcher
error execution phase cloudwatcher: Service "default-cloudwatcher" is invalid: spec.ports[0].nodePort: Invalid value: 8787: provided port is not in the valid range. The range of valid ports is 30000-32767

Use queryable ExternalID for VMware resources

What would you like to be added:

为 VMware 的资源使用可查询的 ExternalID,简单来说,使用 ExternalID 可以直接调用 VMware api查询对应的资源。

Why is this needed:

VMware 资源的 ExternalID 不可查询,举个例子,Yunion OneCloud 的 storage 对应 VMware 的 datastore,storage 中存储了 datastore 的 ID,称之为 ExternalID,但是通过 ExternalID 去查询 datastore 的方式是:列出所有的 datastore,进行ID的比对。
这是一个非常低效的方式,究其原因就是 VMware 资源的 ExternalID 不可查询。

系统镜像增加上传的功能

What would you like to be added:
系统镜像应该加上镜像上传的功能
Why is this needed:
通过界面上传镜像,容易操作

创建机器是磁盘使用默认存储时,不应该默认使用local

What happened:
创建vmware指定network时,使用默认存储创建失败,指定nas存储会成功
What you expected to happen:
创建vmware指定network时 使用默认存储可以创建成功
How to reproduce it:
network关联的vmwre宿主机使用的是nas存储,创建时使用默认存储
Anything else we need to know?:

Environment:

  • OS (e.g: cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Others:

阿里云账单同步问题

其他信息
健康状态
no permission

阿里云的账号信息中健康状态一直为
no permission

我给阿里云上的子账号按照你们的步骤给予了

AliyunRAMFullAccess
AliyunECSFullAccess
AliyunCloudMonitorFullAccess
这三种权限,怕不够,我还给予了全局oss 的可读权限
相对应的账号的桶也给予了该子账号的oss 只读权限。。为什么还是同步不到账单信息?

AliyunRAMFullAccess 非必须权限,当子账号没有AccessKey时,需要此权限开创建新的AccessKey。
AliyunECSFullAccess 管理虚拟机服务(ECS)的权限,如果您需要管理虚拟机,请开启该权限。
AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限

Add topic 'how to local debug' in documents

What would you like to be added:
Add some content about local debugging in documents to provider a common approach for potential developers to understand code.
Why is this needed:
Yunion Onecloud base on k8s is not easily debugged and local debugging is a good way.

源码编译组件报错,是服务器缺少什么库文件吗?

[root@i-yvriesdx onecloud-master]# make cmd/host-image/
fatal: Not a git repository (or any parent up to mount point /data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /data)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
go build -mod vendor -ldflags "-w -X yunion.io/x/pkg/util/version.gitVersion= -X yunion.io/x/pkg/util/version.gitCommit= -X yunion.io/x/pkg/util/version.gitBranch= -X yunion.io/x/pkg/util/version.buildDate=2020-05-28T13:10:42Z -X yunion.io/x/pkg/util/version.gitTreeState=clean -X yunion.io/x/pkg/util/version.gitMajor=0 -X yunion.io/x/pkg/util/version.gitMinor=0" -o /data/go/src/onecloud-demo/onecloud-master/_output/bin/host-image yunion.io/x/onecloud/cmd/host-image/

yunion.io/x/onecloud/pkg/hostimage

pkg/hostimage/image.go:20:23: fatal error: libqemuio.h: No such file or directory
#include "libqemuio.h"
^
compilation terminated.
make: *** [cmd/host-image/] 错误 2

命令行查询标签下的资源不生效

What happened:

server 标签相关的接口不生效

# 给 server 打上 a=b 的标签
climc server-set-tag ts1 a=b

# 想 list 出拥有 a=b 标签的 server,但没有生效
climc server-list --tags a=b

# 看代码的实现是在 metadata 里面加上了 user:a 的前缀
# 但使用以下命令会报错
climc server-list --tags 'user:a=b'
Error: Not support tag key with :

What you expected to happen:

标签系统应该对 climc 生效并且易于使用

Anything else we need to know?:

分支: release/2.9.0

/area climc region
/cc @ioito

host 和 host-deployer pod 启动失败

容器报错如下
host
[I 200227 15:42:55 hostinfo.NewHostInfo(hostinfo.go:1470)] CPU Model Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz Microcode 0x500002c
[E 200227 15:42:55 procutils.(*Command).Output(procutils.go:87)] Execute command "modprobe tun" , error: exit status 1 , output: modprobe: can't change directory to '/lib/modules': No such file or directory

[F 200227 15:42:55 hostman.(*SHostService).RunService(host_services.go:92)] Failed to activate tun/tap device

host-deployer
[E 200227 15:42:22 procutils.(*Command).Output(procutils.go:87)] Execute command "rmmod nbd" , error: exit status 1 , output: .rmmod.bin: ERROR: Module nbd is not currently loaded

[E 200227 15:42:22 deployserver.(*SDeployService).PrepareEnv(deployserver.go:249)] rmmod error: .rmmod.bin: ERROR: Module nbd is not currently loaded

[E 200227 15:42:22 procutils.(*Command).Output(procutils.go:87)] Execute command "modprobe nbd max_part=16" , error: exit status 1 , output:
[F 200227 15:42:22 deployserver.(*SDeployService).InitService(deployserver.go:293)] Failed to activate nbd device:

这个是什么原因呢

climc 支持通过环境变量禁用 wrap line

What would you like to be added:

climc 命令行工具显示 list 结果的时候可以关闭 line wrap

Why is this needed:

如果终端太窄, climc 打印 table 默认会 wrap,不方便复制,可以通过在外部设置环境变量的方式禁用这种显示。

2020-06-03-143314_grim

/area climc

开源 baremetal PXE 网络启动需要的固件

What would you like to be added:

开源 baremetal TFTP 网络启动依赖的固件,列表如下:

# tree -h
.
├── [4.0K]  baremetal-prepare
│   └── [ 53M]  baremetal_prepare.tar.gz
├── [168K]  bootia32.efi
├── [172K]  bootx64.efi
├── [ 24K]  chain.c32
├── [ 44M]  initramfs
├── [6.3M]  kernel
├── [114K]  ldlinux.c32
├── [116K]  ldlinux.e32
├── [131K]  ldlinux.e64
├── [178K]  libcom32.c32
├── [ 24K]  libutil.c32
├── [ 26K]  menu.c32
├── [ 42K]  pxelinux.0
└── [4.0K]  pxelinux.cfg
    └── [ 119]  default

Why is this needed:

baremetal-agent 管理物理机网络启动时依赖这些二进制固件

@swordqiu @yousong @wanyaoqi

structured API input/output

What would you like to be added:
API的输入和输出参数的结构化

Why is this needed:
目前API输入输出参数还是通用的JsonObject,不方便使用,比较松散,也不利于进行参数校验。应该逐步把API的输入输出参数用结构化的struct表示。

latest onecloud-service-operator docker image is not found in the registry

What happened:
onecloud-cluster-onecloud-service-operator started failed when starting latest version onecloud cluster on k8s using onecloud-operator.
There is no latest onecloud-service-operator docker image in the registry

Failed to pull image "registry.cn-beijing.aliyuncs.com/yunionio/onecloud-service-operator:latest": rpc error: code = Unknown desc = Error response from daemon: manifest for registry.cn-beijing.aliyuncs.com/yunionio/onecloud-service-operator:latest not found: manifest unknown: manifest unknown

What you expected to happen:
onecloud-service-operator on k8s starts successully.

How to reproduce it:
starting latest version onecloud cluster on k8s.

$ kubectl create -f onecloud-cluster.yaml

Anything else we need to know?:
Please help to upload the latest onecloud-service-operator docker image. ThX~

Environment:

Web UI support

What would you like to be added:

需要能够管理云平台资源的 web UI 交互管理界面, 能够方便用户使用。

/cc @houjiazong

Codecov migration to marketplace app

Hi, Tom from Codecov here.

We noticed that you are using Codecov with fairly high frequency, and we’re so excited to see that! However, because you are not using our app, you may have experienced issues with uploading reports or viewing coverage information. This is due to rate-limiting issues from GitHub.

In order to prevent any future outages, we ask that you move over to our GitHub app integration.

The process is extremely simple and shouldn’t require more than a few clicks, and you should not expect any downtime. By moving to our app, you will no longer need an admin or separate account to manage the relationship with GitHub as the team bot.

Let me know if you have any questions, or if I can help at all with this process.

同一VPC下垮IP子网的VM不能互通

What happened:

创建VPC(非经典网络) , 并在VPC下创建两个IP子网。 172.16.1.0/24 和 172.16.2.0/24 , 在两个子网下分别建立虚拟机 VM_A(172.16.1.253), VM_B(172.16.2.253). 在VM_A 中无法 ping 通VM_B

What you expected to happen:

VM_A 可以 ping 通 VM_B

How to reproduce it:

创建VPC(非经典网络) , 并在VPC下创建两个IP子网。 172.16.1.0/24 和 172.16.2.0/24 , 在两个子网下分别建立虚拟机 VM_A(172.16.1.253), VM_B(172.16.2.253). 在VM_A 中无法 ping 通VM_B
Anything else we need to know?:

VM_A VM_B 均可以通外网,但无法互通。 是需要进行什么额外的配置吗?

Environment:
开源版本 v3.3, 两个VM都在同一个宿主机上

baremetal、host、esxiagent 服务需要支持部署到多个 zone

What would you like to be added:

现在的 onecloud-operator 会默认生成一个 zone0,然后所有的 baremetal, host, esxiagent 管理的节点都属于这个 zone,如果实际环境有多个机房,需要将这些服务和物理上的机房对应起来。

建议方案:

  1. 给 k8s node 节点加上 onecloud.yunion.io/zone 的标签
  2. operator 管理的 onecloudcluster list/watch k8s nodes 资源,根据 zone 标签创建对应的 daemonset, deployment,比如:
# 以下 k8s node 物理机房分别属于 wj, dx, jxq zone
k8s-node-wj-1 with label: onecloud.yunion.io/zone=wj
k8s-node-dx-1 with label: onecloud.yunion.io/zone=dx
k8s-node-jxq-1 with label: onecloud.yunion.io/zone=jxq

# 基于上面的 zone 标签,operator 就分别创建以下的 host daemonset, esxiagent&baremetal deployment
host daemonset:
  - default-host-wj
  - default-host-dx
  - default-host-jxq
esxiagent/baremetal deployment:
  - default-esxiagent/baremetal-wj
  - default-esxiagent/baremetal-dx
  - default-esxiagent/baremetal-jxq

/cc @swordqiu @yousong @wanyaoqi

The city/plateform/region/AZ of alicloud can't be listed when trying to create a vm on alicloud

What happened:
I imported a alicloud account and created a vpc on it sucessfully. But when i try to create a vm on alicloud, there is no city/plateform/region/AZ listed on the UI.
3

1

The cloud regions can be listed using the climc tools.
2

What you expected to happen:
city/plateform/region/AZ can be listed on the UI and i can create a vm on alicloud

How to reproduce it:

  • deploying onecloud-operator with version v3.1.5-20200525.0 on minikube
  • deploying onecloud-cluster with version v3.1.5-20200525.0 on minikube
  • Import a alicloud public cloud account and created a vpc
  • Try to create a vm on alicloud

Anything else we need to know?:

Environment:

  • OS (e.g: cat /etc/os-release):
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
  • Kernel (e.g. uname -a):
Linux mi-OptiPlex-7070 5.3.0-59-generic #53~18.04.1-Ubuntu SMP Thu Jun 4 14:58:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • Others:

阿里云机器续费有问题

选择单个阿里云机器,然后点击续费后出现报错,

错误信息
ID:
d8af7f40-6f7b-4051-8eaf-6c7efa67957c
错误消息:
输入的值有误,请更正后重试
未发现 host d8af7f40-6f7b-4051-8eaf-6c7efa67957c
错误源信息:
{
  "class": "ResourceNotFoundError",
  "code": 404,
  "data": {
    "fields": [
      "host",
      "d8af7f40-6f7b-4051-8eaf-6c7efa67957c"
    ],
    "id": "{0} {1} not found"
  },
  "details": "host d8af7f40-6f7b-4051-8eaf-6c7efa67957c not found"
}
请求:
{
  "method": "post",
  "url": "/api/v2/hosts/renew-prepaid-recycle",
  "headers": {
    "Accept": "application/json, text/plain, */*",
    "Content-Type": "application/json;charset=utf-8",
    "Authorization": "Bearer xxxxxxxxx"
  },
  "data": {
    "buyDuration": "1M"
  },
  "params": {
    "id": [
      "d8af7f40-6f7b-4051-8eaf-6c7efa67957c"
    ]
  }
}

Split the scheduled task from 'region' service as an independent service

What would you like to be added:

将定时任务从 region 服务中拆分出来,并作为一个单独的服务。

Why is this needed:

  • region 服务日益臃肿,拆分定时任务一定程度上减小region的体积
  • 定时任务不仅可以规划region的资源,还可以规划glance、notify等其他服务的资源
  • 定时任务可以给自己增加一个独立的 handler,以提供操作资源产生task的回调地址

Todo:

  • 拆分定时任务为一个单独的服务
  • 定时任务调用其他服务的异步任务提供回调地址
  • 定时任务执行过程中,等待结束异步化

物理机 PXE 启动时支持 http

What would you like to be added:

物理机 PXE 启动时可以下发 iPXE 固件,然后使用 http 协议下载 initramfs 和 kernel

Why is this needed:

提高网络启动灵活性和稳定性

/area baremetal
/kind feature

Build failed for missing ceph related header files

What happened:

# github.com/ceph/go-ceph/rados
vendor/github.com/ceph/go-ceph/rados/conn.go:5:11: fatal error: rados/librados.h: No such file or directory
 // #include <rados/librados.h>
           ^~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:90: recipe for target 'cmd/baremetal-agent' failed
make[1]: *** [cmd/baremetal-agent] Error 2
make[1]: Leaving directory '/home/liushaohui/softwares/gopath/src/yunion.io/x/onecloud'
Makefile:99: recipe for target 'build' failed
make: *** [build] Error 2

# github.com/ceph/go-ceph/rbd
vendor/github.com/ceph/go-ceph/rbd/rbd.go:7:11: fatal error: rbd/librbd.h: No such file or directory
 // #include <rbd/librbd.h>
           ^~~~~~~~~~~~~~
compilation terminated.
Makefile:90: recipe for target 'cmd/baremetal-agent' failed
make[1]: *** [cmd/baremetal-agent] Error 2
make[1]: Leaving directory '/home/liushaohui/softwares/gopath/src/yunion.io/x/onecloud'
Makefile:99: recipe for target 'build' failed
make: *** [build] Error 2

What you expected to happen:

Add more documents about building dependencies in contribution doc

How to reproduce it:

Following the developer doc: https://docs.yunion.io/docs/contribute/contrib/
and make under onecloud directory

Anything else we need to know?:

Environment:

  • OS (e.g: cat /etc/os-release):
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
  • Kernel (e.g. uname -a):
Linux mi-OptiPlex-7070 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • Others:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.