Compare commits

..

1809 Commits

Author SHA1 Message Date
Zexi Li
af3ee4af02 Merge pull request #9114 from yousong/automated-cherry-pick-of-#9109-upstream-release-3.2
Automated cherry pick of #9109: fix(host): make sure it won't match vpc guests by accident
2020-12-01 20:22:04 +08:00
Yousong Zhou
12a100f81b fix(host): make sure it won't match vpc guests by accident 2020-12-01 15:34:14 +08:00
yunion-ci-robot
e3509fcae8 Merge pull request #8529 from rainzm/automated-cherry-pick-of-#8525-upstream-release-3.2
Automated cherry pick of #8525: fix(esxi): no callback in uploadHandler
2020-10-28 00:58:40 +08:00
yunion-ci-robot
3cf538db43 Merge pull request #8516 from ioito/automated-cherry-pick-of-#8512-upstream-release-3.2
Automated cherry pick of #8512: fix: avoid sync project panic
2020-10-28 00:46:43 +08:00
rainzm
262d4d650b fix(esxi): filter vmdk item in lease.info 2020-10-27 21:34:58 +08:00
rainzm
fabcc221a9 fix(esxi): use correct device index
1. Sort devices via their Key.
2. There is no relationship between vdisk index and vnics length.
2020-10-27 21:34:58 +08:00
rainzm
a4c781b4d5 fix(esxi): no callback in uploadHandler 2020-10-27 21:34:58 +08:00
Qu Xuan
6256b3f88d fix: avoid sync project panic 2020-10-27 16:14:39 +08:00
yunion-ci-robot
4bd45eef3e Merge pull request #8503 from yousong/automated-cherry-pick-of-#8499-upstream-release-3.2
Automated cherry pick of #8499: lockman: test: add prefix setting
2020-10-26 21:24:42 +08:00
Yousong Zhou
21a0cad5e9 lockman: test: add prefix setting 2020-10-26 20:37:13 +08:00
yunion-ci-robot
311f4cd079 Merge pull request #8491 from ioito/automated-cherry-pick-of-#8487-upstream-release-3.2
Automated cherry pick of #8487: fix: avoid delete public ip when sync eip list
2020-10-26 17:02:41 +08:00
Qu Xuan
de817bd4a7 fix: avoid delete public ip when sync eip list 2020-10-26 16:19:49 +08:00
Zexi Li
fb5276aee4 Merge pull request #8376 from ioito/automated-cherry-pick-of-#8373-upstream-release-3.2
Automated cherry pick of #8373: fix: 新增google存储类型
2020-10-19 15:11:25 +08:00
Zexi Li
f8d689ba87 Merge pull request #8372 from ioito/automated-cherry-pick-of-#8369-upstream-release-3.2
Automated cherry pick of #8369: fix: use correct worker
2020-10-19 15:10:25 +08:00
Qu Xuan
698d13f3ef fix: 新增google存储类型 2020-10-19 14:23:52 +08:00
Qu Xuan
8943a16570 fix: use correct worker 2020-10-19 11:43:15 +08:00
yunion-ci-robot
82a3e65bc4 Merge pull request #8317 from rainzm/automated-cherry-pick-of-#8314-upstream-release-3.2
Automated cherry pick of #8314: feat(esxi): do not specify portkey in NewVNIC
2020-10-16 10:40:35 +08:00
rainzm
b272de37ec feat(esxi): do not specify portkey in NewVNIC 2020-10-16 08:25:09 +08:00
yunion-ci-robot
0447b4ade0 Merge pull request #8311 from ioito/automated-cherry-pick-of-#8308-upstream-release-3.2
Automated cherry pick of #8308: fix: 避免并发同步安全组导致规则混乱
2020-10-15 23:01:35 +08:00
Qu Xuan
64973bf486 fix: 避免并发同步安全组导致规则混乱 2020-10-15 22:27:49 +08:00
yunion-ci-robot
f335e270cf Merge pull request #8245 from zexi/automated-cherry-pick-of-#8242-upstream-release-3.2
Automated cherry pick of #8242: baremetal: fix pxe filter network by guest_dhcp
2020-10-13 10:30:29 +08:00
Zexi Li
5ba53e43b3 Merge pull request #8261 from rainzm/automated-cherry-pick-of-#8232-upstream-release-3.2
Automated cherry pick of #8232: fix(esxi): search template from whole vCenter
2020-10-13 10:06:49 +08:00
rainzm
d80f15af58 fix(esxi): use system disk of template only when cloning vm
1. Create a driver if necessary.
2. After cloning the virtual machine, remove all data disks.
3. Create new data disks.
2020-10-12 17:50:30 +08:00
rainzm
1fe71b8392 fix(esxi): search template from whole vCenter 2020-10-12 17:50:30 +08:00
Zexi Li
1e2e134ad0 baremetal: fix pxe filter network by guest_dhcp 2020-10-12 11:38:05 +08:00
yunion-ci-robot
d456364746 Merge pull request #8197 from rainzm/automated-cherry-pick-of-#8194-upstream-release-3.2
Automated cherry pick of #8194: fix(esxi): check nil value when NewVirtualMachine
2020-10-10 19:06:18 +08:00
yunion-ci-robot
1d82b2fe90 Merge pull request #8215 from tb365/automated-cherry-pick-of-#8214-upstream-release-3.2
Automated cherry pick of #8214: remove aws lbbg cache metedata
2020-10-10 18:55:20 +08:00
yunion-ci-robot
eb3d66750b Merge pull request #8221 from yousong/automated-cherry-pick-of-#8218-upstream-release-3.2
Automated cherry pick of #8218: webconsole: ssh: each argument on its own line
2020-10-10 15:34:49 +08:00
Yousong Zhou
88b752b35c webconsole: ssh: add keyboard-interactive as an option
For ESXi 6.0

  Authentications that can continue: publickey,keyboard-interactive
2020-10-10 14:44:26 +08:00
Yousong Zhou
225067eb88 webconsole: ssh: each argument on its own line 2020-10-10 14:44:26 +08:00
TangBin
d55429d4cd remove aws lbbg cache metedata 2020-10-10 14:27:25 +08:00
yunion-ci-robot
c3ec288464 Merge pull request #8186 from yousong/automated-cherry-pick-of-#8183-upstream-release-3.2
Automated cherry pick of #8183: vpcagent: ovn: increase dhcp lease, renew, rebind time
2020-10-10 11:56:12 +08:00
rainzm
af03b18155 fix(esxi): check nil value when NewVirtualMachine 2020-10-10 11:36:44 +08:00
Yousong Zhou
d40d6a6a74 vpcagent: ovn: increase dhcp lease, renew, rebind time 2020-10-09 10:26:59 +08:00
yunion-ci-robot
dd8629e9aa Merge pull request #8160 from tb365/automated-cherry-pick-of-#8159-upstream-release-3.2
Automated cherry pick of #8159: aliyun public elb region fix
2020-09-29 23:28:41 +08:00
TangBin
6d2f1d25c1 aliyun public elb region fix 2020-09-29 22:04:50 +08:00
yunion-ci-robot
1e95a83db0 Merge pull request #8155 from tb365/automated-cherry-pick-of-#8154-upstream-release-3.2
Automated cherry pick of #8154: aliyun public elb brand fix
2020-09-29 18:18:34 +08:00
TangBin
1e7776ba71 aliyun public elb brand fix 2020-09-29 16:47:25 +08:00
yunion-ci-robot
d4900cc6ac Merge pull request #8062 from ioito/automated-cherry-pick-of-#8059-upstream-release-3.2
Automated cherry pick of #8059: fix: avoid serial vm creation
2020-09-29 10:33:34 +08:00
Zexi Li
732120c796 Merge pull request #8130 from tb365/automated-cherry-pick-of-#8129-upstream-release-3.2
Automated cherry pick of #8129: aliyun create public lb fix
2020-09-28 16:24:23 +08:00
TangBin
70d22e6428 aliyun create public lb fix 2020-09-28 14:19:48 +08:00
yunion-ci-robot
62dfa77b87 Merge pull request #8119 from wanyaoqi/automated-cherry-pick-of-#8116-upstream-release-3.2
Automated cherry pick of #8116: umount nfs on detach storage
2020-09-27 21:03:36 +08:00
wanyaoqi
788e1bb225 increase rbd check timeout 2020-09-27 20:22:10 +08:00
wanyaoqi
02f7c5ac35 umount nfs on detach storage 2020-09-27 20:22:10 +08:00
Zexi Li
a675971d90 Merge pull request #8113 from tb365/automated-cherry-pick-of-#8087-upstream-release-3.2
Automated cherry pick of #8087: huawei snapshot delete fix
2020-09-27 17:29:49 +08:00
TangBin
38be1b0908 huawei util missing import fix 2020-09-27 15:14:37 +08:00
TangBin
e3242abf15 huawei client request add throttling control 2020-09-27 15:13:16 +08:00
TangBin
0171bf71d3 huawei elb get params log 2020-09-27 15:13:16 +08:00
TangBin
70170836fb qcloud elb create listener fix 2020-09-27 15:13:16 +08:00
TangBin
ec7707d397 huawei snapshot delete fix 2020-09-27 15:13:16 +08:00
Zexi Li
6e61174307 Merge pull request #8091 from wanyaoqi/automated-cherry-pick-of-#8088-upstream-release-3.2
Automated cherry pick of #8088: set stagefail on clean fail
2020-09-27 14:46:10 +08:00
wanyaoqi
0d96419b64 set stagefail on clean fail 2020-09-27 11:47:07 +08:00
Zexi Li
a7644951fe Merge pull request #8098 from ioito/automated-cherry-pick-of-#8095-upstream-release-3.2
Automated cherry pick of #8095: fix: avoid purge storages
2020-09-25 20:54:51 +08:00
Qu Xuan
96b6b3cf6f fix: avoid purge storages 2020-09-25 19:18:04 +08:00
Zexi Li
3cc7557964 Merge pull request #8074 from ioito/automated-cherry-pick-of-#8071-upstream-release-3.2
Automated cherry pick of #8071: fix: sql err
2020-09-24 21:19:38 +08:00
ioito
c433050318 fix: sql err 2020-09-24 20:23:33 +08:00
ioito
1505dc6e04 fix: avoid serial vm creation 2020-09-24 16:41:50 +08:00
Zexi Li
f14fbb4007 Merge pull request #8004 from tb365/automated-cherry-pick-of-#8003-upstream-release-3.2
Automated cherry pick of #8003: regional network filter bugfix
2020-09-23 21:09:14 +08:00
TangBin
396a99c4cb regional network filter bugfix 2020-09-22 20:02:33 +08:00
yunion-ci-robot
1356ae3124 Merge pull request #7995 from tb365/automated-cherry-pick-of-#7994-upstream-release-3.2
Automated cherry pick of #7994: ctyun sync secgroup fix & cloudaccount delete fix
2020-09-22 14:08:19 +08:00
TangBin
fc480ffa1a ctyun sync secgroup fix & cloudaccount delete fix 2020-09-22 13:53:20 +08:00
Zexi Li
4e7f02fa68 Merge pull request #7967 from tb365/automated-cherry-pick-of-#7966-upstream-release-3.2
Automated cherry pick of #7966: ctyun add region cn-bj1
2020-09-18 21:04:54 +08:00
TangBin
614ad609bf ctyun add region cn-bj1 2020-09-18 14:22:51 +08:00
Zexi Li
94a2645341 Merge pull request #7964 from zexi/automated-cherry-pick-of-#7961-upstream-release-3.2
Automated cherry pick of #7961: region: fix network schedtag not cleanup when network deleted
2020-09-18 12:45:07 +08:00
Zexi Li
3ad40222c2 region: fix network schedtag not cleanup when network deleted 2020-09-18 10:39:43 +08:00
Zexi Li
63e0f2ee76 Merge pull request #7958 from wanyaoqi/automated-cherry-pick-of-#7953-upstream-release-3.2
Automated cherry pick of #7953: fix set host image cache properties
2020-09-16 21:38:29 +08:00
Zexi Li
e14304a5af Merge pull request #7951 from wanyaoqi/automated-cherry-pick-of-#7948-upstream-release-3.2
Automated cherry pick of #7948: fix update image status after save failed
2020-09-16 21:35:47 +08:00
wanyaoqi
85c61ab14c fix set host image cache properties 2020-09-16 20:53:03 +08:00
wanyaoqi
f393424ca8 fix update image status after save failed 2020-09-16 19:15:05 +08:00
Zexi Li
5aebb04ce3 Merge pull request #7924 from ioito/automated-cherry-pick-of-#7921-upstream-release-3.2
Automated cherry pick of #7921: fix: bucket object cnt fix
2020-09-16 11:30:13 +08:00
Qu Xuan
0d99dc1981 fix: bucket object cnt fix 2020-09-15 19:15:32 +08:00
yunion-ci-robot
4334ccf537 Merge pull request #7908 from wanyaoqi/automated-cherry-pick-of-#7905-upstream-release-3.2
Automated cherry pick of #7905: webconsole: fix defer order to release zombie process
2020-09-15 10:26:10 +08:00
wanyaoqi
285c696e6d webconsole: fix defer order to release zombie process 2020-09-14 18:22:13 +08:00
Zexi Li
ce6e7542a5 Merge pull request #7898 from wanyaoqi/automated-cherry-pick-of-#7895-upstream-release-3.2
Automated cherry pick of #7895: disk: check disk is need renew on guest set renew
2020-09-14 13:02:17 +08:00
wanyaoqi
5ec462bc8e disk: check disk is need renew on guest set renew 2020-09-14 12:08:52 +08:00
Zexi Li
4868674fee Merge pull request #7882 from ioito/automated-cherry-pick-of-#7879-upstream-release-3.2
Automated cherry pick of #7879: fix: avoid sync natgateway eip panic
2020-09-11 21:03:57 +08:00
Zexi Li
2e560c1f04 Merge pull request #7873 from rainzm/automated-cherry-pick-of-#7870-upstream-release-3.2
Automated cherry pick of #7870: fix(esxiagent): add HostDelayTaskWorkerCount
2020-09-11 20:55:47 +08:00
Zexi Li
71b1244846 Merge pull request #7865 from wanyaoqi/automated-cherry-pick-of-#7836-upstream-release-3.2
Automated cherry pick of #7836: host: fix rbd storage cache iso image
2020-09-11 20:54:07 +08:00
Qu Xuan
545f9eebf1 fix: avoid sync natgateway eip panic 2020-09-11 19:18:15 +08:00
rainzm
e6ce176233 fix(esxiagent): add HostDelayTaskWorkerCount
之前,HostDelayWorker 是通过 hostutils.InitWorkerManager 来初始化,
worker的数量依赖于options.HostOptions.DefaultRequestWorkerCount, 因为
这个options没有经过初始化,所以就是0,导致worker count的数量变为1。

现在增加了 HostDelayTaskWorkerCount 来管理这个count,默认值为8。
2020-09-11 17:23:13 +08:00
wanyaoqi
f59d56e796 host: fix rbd storage cache iso image 2020-09-10 23:20:29 +08:00
yunion-ci-robot
37e36f5a08 Merge pull request #7848 from rainzm/automated-cherry-pick-of-#7845-upstream-release-3.2
Automated cherry pick of #7845: Feat & Fix & Refactor for ESXi
2020-09-10 09:41:57 +08:00
rainzm
05abebeea5 fix(region): add RequestSyncstatusOnHost for SESXiGuestDriver
esxi 平台 Guest 进行 syncstatus 和其他平台有所区别,Vcenter 可能会更改
 VM 所在的 Host,所以在 Host 上寻找 VM 可能会出现 ErrNotFound。此时,应该
主动去整个 datacenter 中寻找 VM,然后更改 Host,进行同步。
2020-09-09 21:58:48 +08:00
rainzm
747d70a747 fix(esxi): fetch templatevm from datacenter before clone vm
这里应该和image_cache那里保持一直,对template的获取应该从datacenter
中获取,而不是host。
2020-09-09 21:58:17 +08:00
rainzm
ebf3692ba0 refactor(esxi): replace GetTemplateVMById with FetchTemplateVMById
FetchTemplateVMById 更好,因为它更轻量,更快。
2020-09-09 21:58:16 +08:00
rainzm
7dfe68322a feat(esxicli): better vm operator
现在,可以通过Datacenter来获取vm,不一定要指定HostIp,
Datacenter和HostIp必须指定一个。
2020-09-09 21:58:16 +08:00
rainzm
59861adabc feat(esxi): support fetchVM form datacenter 2020-09-09 21:58:16 +08:00
rainzm
40b3e8e382 refactor(esxi): fetchVms and fetchHardwareInfo
1. fetchHardwareInfo 只有一种error,原因是moVM的某些字段为nil,这种情况下,完全可以打印日志直接返回。
2. fetchVms 现在只返回[]*SVirtualMachine, 进一步的过滤(是不是template)交给调用者。
2020-09-09 21:58:16 +08:00
Zexi Li
c81563b03d Merge pull request #7825 from rainzm/automated-cherry-pick-of-#7821-upstream-release-3.2
Automated cherry pick of #7821: fix(esxiagent): return image extid not id
2020-09-08 20:25:59 +08:00
rainzm
a18b34c365 fix(esxiagent): return image extid not id
调用 disk/image_cache 接口的Task StorageCacheImageTask 会根据回调
回来数据中的 image_id,来设置 storagecachedimage 中的 externalid,
所以这里的 image_id 应该是 externalid。
2020-09-08 15:34:35 +08:00
yunion-ci-robot
f64267897e Merge pull request #7801 from wanyaoqi/automated-cherry-pick-of-#7798-upstream-release-3.2
Automated cherry pick of #7798: guest short desc add backup host id
2020-09-07 21:01:51 +08:00
yunion-ci-robot
ad8d6e76b5 Merge pull request #7792 from wanyaoqi/automated-cherry-pick-of-#7789-upstream-release-3.2
Automated cherry pick of #7789: fix get ubuntu version
2020-09-07 20:59:44 +08:00
wanyaoqi
c266722c31 guest short desc add backup host id 2020-09-07 17:06:36 +08:00
wanyaoqi
4d0cb2b150 fix get ubuntu version 2020-09-07 16:01:59 +08:00
yunion-ci-robot
2171de57ee Merge pull request #7785 from rainzm/automated-cherry-pick-of-#7782-upstream-release-3.2
Automated cherry pick of #7782: fix(notify): Replace String() with GetString()
2020-09-07 15:26:42 +08:00
rainzm
021b4a1ae2 fix(notify): Replace String() with GetString()
The String() of jsonutils.JSONObject will add a pair of
double quotes around the content. The GetString() will
get a clean content.
2020-09-07 15:12:07 +08:00
yunion-ci-robot
b108fe81d2 Merge pull request #7775 from swordqiu/automated-cherry-pick-of-#7772-upstream-release-3.2
Automated cherry pick of #7772: fix: skup syncing lb, rds, redis instances in tasks
2020-09-05 15:47:42 +08:00
Qiu Jian
9f854385e5 fix: skup syncing lb, rds, redis instances in tasks 2020-09-05 14:31:06 +08:00
Zexi Li
b319be6d0a Merge pull request #7747 from wanyaoqi/automated-cherry-pick-of-#7744-upstream-release-3.2
Automated cherry pick of #7744: glance: check min disk size on update
2020-09-04 10:30:01 +08:00
wanyaoqi
fa28094906 glance: check min disk size on update 2020-09-03 20:02:17 +08:00
yunion-ci-robot
f797ec2fb9 Merge pull request #7726 from tb365/automated-cherry-pick-of-#7725-upstream-release-3.2
Automated cherry pick of #7725: create classic vpc fix
2020-09-03 10:32:41 +08:00
TangBin
5ca7179ce1 create classic vpc fix 2020-09-02 18:24:56 +08:00
wanyaoqi
c2b81cf638 hostinfo: try create network add is_on_premise (#7709) 2020-09-01 20:01:41 +08:00
wanyaoqi
ddb7981922 fix host get guests (#7685) 2020-09-01 01:08:36 +08:00
wanyaoqi
8020d70bab fix get storage capacity on init' (#7689) 2020-09-01 01:02:37 +08:00
Zexi Li
d78c549b4a Merge pull request #7625 from wanyaoqi/automated-cherry-pick-of-#7623-upstream-release-3.2
Automated cherry pick of #7623: fix gpfs check mountpoint
2020-08-25 17:41:23 +08:00
wanyaoqi
849a74c0a6 fix gpfs check mountpoint 2020-08-25 15:52:27 +08:00
屈轩
e016109d6e fix: avoid storage=nil, dis can not delete (#7610)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-22 12:33:36 +08:00
Jian Qiu
c67aa4991d fix: opslog filter by owner_project_ids and owner_domain_ids (#7602)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2020-08-21 10:57:23 +08:00
Jian Qiu
f71b787abb fix: dns record create ignore is_public field (#7589)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2020-08-18 10:51:57 +08:00
Zexi Li
780dea24d1 Merge pull request #7581 from swordqiu/automated-cherry-pick-of-#7580-upstream-release-3.2
Automated cherry pick of #7580: fix: allow delete shared role and policy
2020-08-16 23:43:24 +08:00
Zexi Li
a8c65cbeed Merge pull request #7577 from rainzm/automated-cherry-pick-of-#7575-upstream-release-3.2
Automated cherry pick of #7575: fix: GetIImages correctly without 'image_cache' dir
2020-08-16 23:41:56 +08:00
Qiu Jian
b41bd4066c fix: allow delete shared role and policy 2020-08-15 21:04:48 +08:00
rainzm
c5a731daa9 fix: GetIImages correctly without 'image_cache' dir
After creating vms, there is no dir named 'image_cache' exists in
storage of esxi. So handle this case to not affecte the synchronization of the
VMware Template.
2020-08-14 20:36:58 +08:00
屈轩
3bc1381c36 fix: aovid duplicate sku name (#7574)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-14 20:35:49 +08:00
Zexi Li
ff880efe8c Merge pull request #7571 from zexi/hotfix/jsontag-syntax-v32
fix: json TAG_PREFIX invalid syntax
2020-08-14 17:42:04 +08:00
Jian Qiu
813a8c2021 fix: init wire domain_id for local vpc (#7569)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2020-08-14 17:29:51 +08:00
Zexi Li
4f9b8a29da fix: json TAG_PREFIX invalid syntax 2020-08-14 17:02:54 +08:00
屈轩
db7621081a fix: avoid virtual resource project id is empty when cloudaccount with no project (#7562)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-14 10:37:49 +08:00
Jian Qiu
3032f7e26b fix: network port count stat recode (#7556)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2020-08-14 10:33:48 +08:00
Zexi Li
44c0d0ce47 Merge pull request #7549 from wanyaoqi/automated-cherry-pick-of-#7547-upstream-release-3.2
Automated cherry pick of #7547: support diable usb kbd
2020-08-11 18:41:34 +08:00
Zexi Li
5eb4b549ba Merge pull request #7543 from ioito/automated-cherry-pick-of-#7541-upstream-release-3.2
Automated cherry pick of #7541: fix: separete enabled and status field
2020-08-11 18:39:24 +08:00
wanyaoqi
3b6662f7fa support diable usb kbd 2020-08-11 15:33:16 +08:00
Qu Xuan
551ea72afb fix: separete enabled and status field 2020-08-11 14:55:09 +08:00
Zexi Li
2c9378cc9a Merge pull request #7537 from wanyaoqi/automated-cherry-pick-of-#7530-upstream-release-3.2
Automated cherry pick of #7530: fix mount xfs
2020-08-11 11:16:39 +08:00
wanyaoqi
be3244d0b5 fix usage get storage capbility (#7529) 2020-08-10 20:07:56 +08:00
wanyaoqi
9c756c1cc9 fix mount xfs 2020-08-10 20:05:09 +08:00
屈轩
fa47f50e32 fix: optimized huawei security group get and create operation (#7522)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-10 15:38:44 +08:00
wanyaoqi
40b3074acb set disk status on disk detached (#7519) 2020-08-10 12:05:46 +08:00
Zexi Li
035dcaa08b Merge pull request #7510 from ioito/automated-cherry-pick-of-#7508-upstream-release-3.2
Automated cherry pick of #7508: fix: avoid nil pointer
2020-08-10 10:24:58 +08:00
Qu Xuan
efd888ab45 fix: avoid nil pointer 2020-08-07 11:16:24 +08:00
Zexi Li
3dd36fbc46 Merge pull request #7500 from ioito/automated-cherry-pick-of-#7498-upstream-release-3.2
Automated cherry pick of #7498: fix: 隐藏auzre经典类型存储
2020-08-07 11:06:14 +08:00
Zexi Li
d3f1c3c202 Merge pull request #7503 from ioito/automated-cherry-pick-of-#7501-upstream-release-3.2
Automated cherry pick of #7501: fix: 提高zstack认证兼容性
2020-08-07 11:05:19 +08:00
Qu Xuan
0d301c554c fix: 提高zstack认证兼容性 2020-08-06 19:25:25 +08:00
Qu Xuan
19fc35afa5 fix: 隐藏auzre经典类型存储 2020-08-06 18:01:37 +08:00
屈轩
ed7576f2ac fix: 增加openstack兼容性 (#7494)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-06 11:56:18 +08:00
Zexi Li
5bcc5f1e34 Merge pull request #7486 from wanyaoqi/automated-cherry-pick-of-#7484-upstream-release-3.2
Automated cherry pick of #7484: fix host info get sshkey
2020-08-04 13:51:21 +08:00
wanyaoqi
93a8856c2a fix host info get sshkey 2020-08-04 10:37:16 +08:00
Zexi Li
44dabd9af7 Merge pull request #7480 from swordqiu/automated-cherry-pick-of-#7479-upstream-release-3.2
Automated cherry pick of #7479: fix: typo running_geusts => running_guests
2020-08-03 16:58:32 +08:00
Zexi Li
67c1324feb Merge pull request #7476 from ioito/automated-cherry-pick-of-#7474-upstream-release-3.2
Automated cherry pick of #7474: fix: typo
2020-08-03 16:57:54 +08:00
Qiu Jian
9af38305d7 fix: typo running_geusts => running_guests 2020-08-03 16:32:19 +08:00
Qu Xuan
0fd6e1c460 fix: typo 2020-08-03 10:57:19 +08:00
Zexi Li
03b1be05f9 Merge pull request #7471 from swordqiu/automated-cherry-pick-of-#7470-upstream-release-3.2
Automated cherry pick of #7470: fix: ignore bucket-set-acl not implemented error
2020-08-03 09:24:54 +08:00
Qiu Jian
938264a1aa fix: ignore bucket-set-acl not implemented error 2020-08-03 02:24:47 +08:00
Zexi Li
731d86439a Merge pull request #7449 from tb365/automated-cherry-pick-of-#7447-upstream-release-3.2
Automated cherry pick of #7447: aws elb listener&rule name too long fix
2020-08-02 10:08:42 +08:00
屈轩
53bf3d7740 fix: avoid host globalid change (#7467)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-08-02 03:03:03 +08:00
wanyaoqi
be18d0a34f fix reauth condition on influxdb not found (#7458) 2020-08-01 21:27:04 +08:00
wanyaoqi
9687884ac5 fix cache non lvm disks (#7461) 2020-08-01 21:14:03 +08:00
tangbin
ccb2cbce41 aws elb listener&rule name too long fix 2020-08-01 11:13:00 +08:00
Zexi Li
f232c4cd4f Merge pull request #7421 from rainzm/automated-cherry-pick-of-#7416-upstream-release-3.2
Automated cherry pick of #7416: fix(region): Don't allow address conflicts under vpc
2020-08-01 11:05:00 +08:00
Zexi Li
4661370b37 Merge pull request #7436 from tb365/automated-cherry-pick-of-#7435-upstream-release-3.2
Automated cherry pick of #7435: loadblancer listener modify name fix
2020-08-01 10:57:53 +08:00
tangbin
ee8166352a fix redis reset account password action log 2020-08-01 10:53:59 +08:00
tangbin
9f3684a1f6 loadblancer listener modify name fix 2020-08-01 10:53:34 +08:00
rainzm
2e3a4abca3 fix(region): Don't allow address conflicts under vpc
Except for default vpc, vpc and wire have a one-to-one correspondence.
So prohibiting the address conflict of wire does not avoid
the address conflict of default vpc.
2020-08-01 10:52:27 +08:00
Zexi Li
a14da344c0 Merge pull request #7439 from swordqiu/automated-cherry-pick-of-#7438-upstream-release-3.2
Automated cherry pick of #7438: fix: sync share mode between vpc and wire
2020-08-01 10:39:28 +08:00
Zexi Li
a3f71e8959 Merge pull request #7443 from wanyaoqi/automated-cherry-pick-of-#7441-upstream-release-3.2
Automated cherry pick of #7441: fix deploy admin auth key
2020-08-01 00:06:33 +08:00
wanyaoqi
d925cb080d fix deploy admin auth key 2020-07-31 23:24:46 +08:00
Zexi Li
3ca28cfcc7 baremetal: fix hpssactl split last LV size out of limit (#7428) 2020-07-31 22:40:02 +08:00
Qiu Jian
8c33cc9445 fix: sync share mode between vpc and wire 2020-07-31 22:30:16 +08:00
Zexi Li
37b9a960ef Merge pull request #7420 from ioito/automated-cherry-pick-of-#7417-upstream-release-3.2
Automated cherry pick of #7417: fix: avoid lost backend params
2020-07-31 18:07:59 +08:00
Zexi Li
f69370c4db Merge pull request #7415 from ioito/automated-cherry-pick-of-#7413-upstream-release-3.2
Automated cherry pick of #7413: fix: openstack win image user data need encode
2020-07-31 18:06:48 +08:00
Zexi Li
fb8f8847d0 Merge pull request #7407 from ioito/automated-cherry-pick-of-#7405-upstream-release-3.2
Automated cherry pick of #7405: fix: avoid account sync deadlock
2020-07-31 18:05:31 +08:00
Zexi Li
fc7de4722b Merge pull request #7408 from swordqiu/automated-cherry-pick-of-#7400-upstream-release-3.2
Automated cherry pick of #7400: fix: ignore general s3 set acl not implemented error
2020-07-31 18:04:05 +08:00
屈轩
f43af31195 fix: 避免glance metadata-list project scope无权限 (#7404)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-07-31 18:01:48 +08:00
屈轩
0b13608d90 fix: 优化openstack项目认证 (#7399)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-07-31 18:00:17 +08:00
屈轩
04e1a25c60 fix: 避免在仅调整虚拟机磁盘时opslog日志记录mem cpu异常 (#7394)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-07-31 17:57:02 +08:00
Qu Xuan
b09dbdd69f fix: avoid lost backend params 2020-07-31 17:19:49 +08:00
Qu Xuan
ae26dc1214 fix: openstack win image user data need encode 2020-07-31 16:55:43 +08:00
Qu Xuan
cbc4739b1a fix: avoid account sync deadlock 2020-07-31 16:32:57 +08:00
Qiu Jian
5cfe521a23 fix: ignore general s3 set acl not implemented error 2020-07-31 16:31:52 +08:00
Zexi Li
1dd8a0c066 Merge pull request #7389 from rainzm/automated-cherry-pick-of-#7387-upstream-release-3.2
Automated cherry pick of #7387: fix(region): zone from guesttemplate's preferzone maybe nil
2020-07-30 17:41:49 +08:00
rainzm
661611f338 fix(region): zone from guesttemplate's preferzone maybe nil 2020-07-30 16:12:36 +08:00
Zexi Li
5bfd7f3494 Merge pull request #7353 from ioito/automated-cherry-pick-of-#7318-upstream-release-3.2
Automated cherry pick of #7318: fix: openstack多项目问题
2020-07-30 15:53:40 +08:00
Zexi Li
4553879a1a Merge pull request #7386 from ioito/automated-cherry-pick-of-#7384-upstream-release-3.2
Automated cherry pick of #7384: fix: avoid parse json err nil pointer
2020-07-30 15:15:38 +08:00
Qu Xuan
fb25efa0cf fix: openstack多项目问题 2020-07-30 14:48:16 +08:00
Qu Xuan
7c2268417b fix: avoid parse json err nil pointer 2020-07-30 11:32:31 +08:00
Zexi Li
97be89b9f6 Merge pull request #7380 from ioito/automated-cherry-pick-of-#7378-upstream-release-3.2
Automated cherry pick of #7378: fix: 添加阿里云rds备份恢复限制条件
2020-07-29 21:38:48 +08:00
Zexi Li
4e31734f0e Merge pull request #7376 from swordqiu/automated-cherry-pick-of-#7375-upstream-release-3.2
Automated cherry pick of #7375: fix: change owner should check required domain list
2020-07-29 17:31:44 +08:00
Qu Xuan
6d0b4f37f7 fix: 添加阿里云rds备份恢复限制条件 2020-07-29 16:56:24 +08:00
Qiu Jian
244e83b8ae fix: change owner should check required domain list 2020-07-29 13:01:14 +08:00
Zexi Li
dd42c55d1e Merge pull request #7374 from ioito/automated-cherry-pick-of-#7358-upstream-release-3.2
Automated cherry pick of #7358: fix: 普通视图下,安全组仅统计可看到的vm count
2020-07-29 10:27:18 +08:00
Zexi Li
c9f61ca7d5 Merge pull request #7361 from ioito/automated-cherry-pick-of-#7359-upstream-release-3.2
Automated cherry pick of #7359: fix: 修复vm绑定重复安全组
2020-07-28 20:56:06 +08:00
Qu Xuan
439cf1948e fix: 普通视图下,安全组仅统计可看到的vm count 2020-07-28 20:53:32 +08:00
Zexi Li
d2916c079f Merge pull request #7370 from ioito/automated-cherry-pick-of-#7368-upstream-release-3.2
Automated cherry pick of #7368: fix: 同步sku与磁盘类型关系
2020-07-28 20:48:10 +08:00
Qu Xuan
cf294a1f58 fix: 同步sku与磁盘类型关系 2020-07-28 19:47:50 +08:00
Zexi Li
63bff57a05 Merge pull request #7366 from zexi/automated-cherry-pick-of-#7364-upstream-release-3.2
Automated cherry pick of #7364: adjust schedule resource condition width
2020-07-28 18:50:29 +08:00
Zexi Li
620b31e0f3 Merge pull request #7356 from ioito/automated-cherry-pick-of-#7354-upstream-release-3.2
Automated cherry pick of #7354: fix: 避免创建rds备份时对rds进行一些操作
2020-07-28 18:49:47 +08:00
Zexi Li
95b21d541d adjust schedule resource condition width 2020-07-28 18:37:23 +08:00
Qu Xuan
d6782d5324 fix: 修复vm绑定重复安全组 2020-07-28 18:15:45 +08:00
Qu Xuan
fd233a6869 fix: 避免创建rds备份时对rds进行一些操作 2020-07-28 16:03:06 +08:00
Zexi Li
92a7fad56c Merge pull request #7340 from rainzm/automated-cherry-pick-of-#7338-upstream-release-3.2
Automated cherry pick of #7338: fix(region): Remove default secgroup for esxi guest
2020-07-27 19:49:24 +08:00
Zexi Li
788c845ca3 Merge pull request #7345 from rainzm/automated-cherry-pick-of-#7343-upstream-release-3.2
Automated cherry pick of #7343: fix: modify list details for guesttemplate
2020-07-27 19:48:28 +08:00
Zexi Li
7554cd5268 Merge pull request #7322 from swordqiu/automated-cherry-pick-of-#7321-upstream-release-3.2
Automated cherry pick of #7321: fix: choose candidate list from the list returned from backend
2020-07-27 15:53:56 +08:00
Zexi Li
15fe440911 Merge pull request #7325 from swordqiu/automated-cherry-pick-of-#7324-upstream-release-3.2
Automated cherry pick of #7324: fix: schedtag should be system resource
2020-07-27 15:49:59 +08:00
Zexi Li
7a4d0cf507 Merge pull request #7328 from tb365/automated-cherry-pick-of-#7327-upstream-release-3.2
Automated cherry pick of #7327: huawei fetch regions&projects fix
2020-07-27 15:21:51 +08:00
rainzm
0824b5445e Add metadata for GuestTempalte details 2020-07-27 15:18:40 +08:00
rainzm
951f53a96b Add network info when list scalingGroup details 2020-07-27 15:18:40 +08:00
rainzm
260d259392 fix: modify list details for guesttemplate 2020-07-27 15:18:40 +08:00
Zexi Li
54b16d94c7 Merge pull request #7333 from swordqiu/automated-cherry-pick-of-#7332-upstream-release-3.2
Automated cherry pick of #7332: fix: cloud account delete may fail due to inconsistent status
2020-07-27 15:13:01 +08:00
rainzm
52008bace0 fix(region): Remove default secgroup for esxi guest
1. InitializeData remove all secgroup_id of esxi guest from database
2. Set input.SecgroupId as empty for guest whose GetMaxSecurityGroupCount
return 0
2020-07-27 14:54:19 +08:00
屈轩
5df48d5b76 fix: 避免status_code>=400并且resp为空时err为nil (#7266)
Co-authored-by: Qu Xuan <quxuan@yunionyun.com>
2020-07-27 04:43:24 +08:00
yunion-ci-robot
88f46fc0c2 Merge pull request #7313 from ioito/automated-cherry-pick-of-#7310-upstream-release-3.2
Automated cherry pick of #7310: fix: 支持多项目安全组规则过滤
2020-07-25 23:56:45 +08:00
Qiu Jian
44f3226061 fix: cloud account delete may fail due to inconsistent status 2020-07-25 23:08:17 +08:00
yunion-ci-robot
d997501c64 Merge pull request #7305 from wanyaoqi/automated-cherry-pick-of-#7302-upstream-release-3.2
Automated cherry pick of #7302: fix clone clean pending usage
2020-07-24 22:52:44 +08:00
tangbin
8f7e75772c go fmt 2020-07-24 18:31:04 +08:00
tangbin
c723def4b7 go fmt 2020-07-24 18:31:04 +08:00
tangbin
31a9373b7b host upload template check 2020-07-24 18:31:03 +08:00
tangbin
a85af97bef huawei fetch regions&projects fix 2020-07-24 18:31:02 +08:00
Qiu Jian
143fa7a896 fix: schedtag should be system resource 2020-07-24 17:03:38 +08:00
Qiu Jian
7e68b1c6a2 fix: choose candidate list from the list returned from backend 2020-07-24 16:41:43 +08:00
Qu Xuan
ec16b2abbd fix: 支持多项目安全组规则过滤 2020-07-23 20:36:59 +08:00
wanyaoqi
a8a2f07742 fix clone clean pending usage 2020-07-23 18:39:02 +08:00
Zexi Li
b627985733 Merge pull request #7296 from wanyaoqi/automated-cherry-pick-of-#7294-upstream-release-3.2
Automated cherry pick of #7294: fix snapshot clean pending usage
2020-07-23 13:48:08 +08:00
wanyaoqi
89a355132c fix snapshot clean pending usage 2020-07-23 11:36:46 +08:00
Zexi Li
0e9d0052e9 Merge pull request #7288 from tb365/automated-cherry-pick-of-#7286-upstream-release-3.2
Automated cherry pick of #7286: apigateway host imports data validate
2020-07-22 21:44:07 +08:00
tangbin
2b67f052b7 format fix 2020-07-22 17:50:46 +08:00
tangbin
6280ea485d fix empty else 2020-07-22 17:50:46 +08:00
tangbin
0b7ab48836 fix host import 2020-07-22 17:50:46 +08:00
tangbin
88d67e0f36 fix huawei delete resource 2020-07-22 17:50:46 +08:00
tangbin
faffc39a34 fix huawei elb disable healthcheck 2020-07-22 17:50:46 +08:00
tangbin
9ce1527d35 lb sync project fix 2020-07-22 17:50:45 +08:00
tangbin
1b480af798 add more log 2020-07-22 17:50:45 +08:00
tangbin
dfbd0af963 apigateway host imports data validate 2020-07-22 17:50:45 +08:00
Zexi Li
83e67c50c3 Merge pull request #7278 from ioito/automated-cherry-pick-of-#7276-upstream-release-3.2
Automated cherry pick of #7276: fix: 避免未能导出共享安全组规则
2020-07-22 13:55:50 +08:00
Zexi Li
27fa4752a2 Merge pull request #7275 from swordqiu/automated-cherry-pick-of-#7273-upstream-release-3.2
Automated cherry pick of #7273: fix: image upload not clean pending usage
2020-07-22 13:54:45 +08:00
Zexi Li
4281636f42 Merge pull request #7283 from rainzm/automated-cherry-pick-of-#7281-upstream-release-3.2
Automated cherry pick of #7281: fix(esxi): Select correct unitNumber for ide control when creating disk
2020-07-22 13:52:26 +08:00
Rain Zheng
d670f37156 fix(esxi): Select correct unitNumber for ide control when creating disk 2020-07-21 20:49:18 +08:00
Qu Xuan
9fef6dfb46 fix: 避免未能导出共享安全组规则 2020-07-21 17:14:54 +08:00
yunion-ci-robot
1f6762b4a0 Merge pull request #7272 from zexi/automated-cherry-pick-of-#7270-upstream-release-3.2
Automated cherry pick of #7270: baremetal: set zone when enable netif
2020-07-21 11:49:25 +08:00
Qiu Jian
2a892fd845 fix: image upload not clean pending usage 2020-07-21 01:43:40 +08:00
yunion-ci-robot
1d1674faf9 Merge pull request #7269 from tb365/automated-cherry-pick-of-#7267-upstream-release-3.2
Automated cherry pick of #7267: fix GetOrCreateVpcForClassicNetwork
2020-07-20 20:49:27 +08:00
Zexi Li
ae1acc891c Merge pull request #7262 from tb365/automated-cherry-pick-of-#7237-upstream-release-3.2
Automated cherry pick of #7237: huawei eip delete fix
2020-07-20 20:47:34 +08:00
Zexi Li
9fd48cee3c baremetal: set zone when enable netif 2020-07-20 20:45:30 +08:00
tangbin
ea14aaa52e fix GetOrCreateVpcForClassicNetwork 2020-07-20 18:52:08 +08:00
tangbin
38440ed276 huawei eip delete fix 2020-07-20 10:51:56 +08:00
Zexi Li
2910eeb89b Merge pull request #7241 from ioito/automated-cherry-pick-of-#7225-upstream-release-3.2
Automated cherry pick of #7225: fix: rds备份恢复优化
2020-07-20 02:07:57 +08:00
Zexi Li
53d0d4c4e7 Merge pull request #7230 from wanyaoqi/automated-cherry-pick-of-#7228-upstream-release-3.2
Automated cherry pick of #7228: fix server sync status
2020-07-20 02:06:41 +08:00
Zexi Li
e3270c90e6 Merge pull request #7236 from ioito/automated-cherry-pick-of-#7234-upstream-release-3.2
Automated cherry pick of #7234: fix: globalvpc跟随云账号共享
2020-07-20 02:05:46 +08:00
Zexi Li
31883f5984 Merge pull request #7232 from tb365/automated-cherry-pick-of-#7231-upstream-release-3.2
Automated cherry pick of #7231: acl delete condition fix
2020-07-20 02:02:25 +08:00
Zexi Li
1e7b5e2e2c Merge pull request #7250 from wanyaoqi/automated-cherry-pick-of-#7248-upstream-release-3.2
Automated cherry pick of #7248: fix error output
2020-07-19 20:53:59 +08:00
Zexi Li
c939399546 Merge pull request #7252 from swordqiu/automated-cherry-pick-of-#7251-upstream-release-3.2
Automated cherry pick of #7251: fix: quota usage not updated after disk resizing
2020-07-19 20:25:07 +08:00
Qiu Jian
f2e4a9af63 fix: quota usage not updated after disk resizing 2020-07-19 13:24:31 +08:00
wanyaoqi
e4c24c436c fix error output 2020-07-19 12:35:25 +08:00
Qu Xuan
144f40b472 fix: rds备份恢复优化 2020-07-18 20:48:28 +08:00
Qu Xuan
0af8c519be fix: globalvpc跟随云账号共享 2020-07-17 20:47:10 +08:00
tangbin
e1665416f1 acl delete condition fix 2020-07-17 20:41:34 +08:00
wanyaoqi
050d019f7f fix server sync status 2020-07-17 20:25:56 +08:00
Zexi Li
4e7af6e2e7 Merge pull request #7227 from ioito/automated-cherry-pick-of-#7224-upstream-release-3.2
Automated cherry pick of #7224: fix: 过滤可用eip
2020-07-17 20:25:04 +08:00
Zexi Li
df8982747a Merge pull request #7223 from ioito/automated-cherry-pick-of-#7221-upstream-release-3.2
Automated cherry pick of #7221: fix: 避免乌兰察布区域拉取资源异常
2020-07-17 20:24:05 +08:00
Qu Xuan
08c836ad1c fix: 过滤可用eip 2020-07-17 20:16:54 +08:00
Qu Xuan
5a47ca5da4 fix: 避免乌兰察布区域拉取资源异常 2020-07-17 18:53:20 +08:00
Zexi Li
1e992cc145 Merge pull request #7218 from rainzm/automated-cherry-pick-of-#7216-upstream-release-3.2
Automated cherry pick of #7216: fix: prefetch image error when create guest with vmware template
2020-07-17 10:16:43 +08:00
Zexi Li
1c45f1c6a4 Merge pull request #7215 from tb365/automated-cherry-pick-of-#7213-upstream-release-3.2
Automated cherry pick of #7213: sync classic redis fix
2020-07-17 10:15:54 +08:00
Zexi Li
128bf89ba8 Merge pull request #7205 from yousong/automated-cherry-pick-of-#7202-upstream-release-3.2
Automated cherry pick of #7202: mcclient: options: loadbalanceragents: yum as the default deploy method
2020-07-17 10:15:17 +08:00
Zexi Li
7055459cc0 Merge pull request #7200 from yousong/automated-cherry-pick-of-#7198-upstream-release-3.2
Automated cherry pick of #7198: ansibleserver: register metadata manager
2020-07-17 10:12:02 +08:00
Zexi Li
f0a65e5b5f Merge pull request #7197 from ioito/automated-cherry-pick-of-#7195-upstream-release-3.2
Automated cherry pick of #7195: fix: sec rule export missing fields
2020-07-17 10:10:42 +08:00
Zexi Li
34c865ce22 Merge pull request #7191 from ioito/automated-cherry-pick-of-#7077-upstream-release-3.2
Automated cherry pick of #7077: fix: 修复elastic cache sku zone_id异常问题
2020-07-17 10:09:57 +08:00
Zexi Li
51911362ab Merge pull request #7194 from wanyaoqi/automated-cherry-pick-of-#7192-upstream-release-3.2
Automated cherry pick of #7192: add params auto_migrate_on_host_down
2020-07-17 10:09:14 +08:00
Zexi Li
28c6abd0e8 Merge pull request #7212 from ioito/automated-cherry-pick-of-#7210-upstream-release-3.2
Automated cherry pick of #7210: fix: not work for network-list --zones
2020-07-17 10:08:22 +08:00
rainzm
d3c1bfd21d fix: prefetch image error when create guest with vmware template
1. Only need the corresponding vmware template in the vcenter where the host is
located.
2. Chose storagecache which cacheimage is ready before deploying.
2020-07-16 21:44:26 +08:00
tangbin
df2deb61c4 update vendor 2020-07-16 20:39:35 +08:00
tangbin
38be2488be sync classic redis fix 2020-07-16 20:34:09 +08:00
yunion-ci-robot
c781346225 Merge pull request #7206 from zexi/automated-cherry-pick-of-#7201-upstream-release-3.2
Automated cherry pick of #7201: webconsole: fix old session make new session closed
2020-07-16 20:21:20 +08:00
Qu Xuan
60ba1ffc20 fix: not work for network-list --zones 2020-07-16 19:06:37 +08:00
Yousong Zhou
87bba5ae4f region: lbagents: turn off guest src check 2020-07-16 18:50:36 +08:00
Yousong Zhou
836ac8e00e region: loadbalanceragents: yum as the default method 2020-07-16 18:50:36 +08:00
Yousong Zhou
4bdf62cb81 mcclient: options: loadbalanceragents: yum as the default deploy method 2020-07-16 18:50:36 +08:00
Zexi Li
1d2b64d62e webconsole: fix old session make new session closed 2020-07-16 18:50:29 +08:00
Yousong Zhou
67230151a0 build: ansibleserver: use native alpine, include openssh 2020-07-16 18:12:41 +08:00
Yousong Zhou
08b60b4c6f ansibleserver: register metadata manager
To quash the following error in log

  [E 200716 15:20:40 db.(*SMetadataResourceBaseModelManager).FetchCustomizeColumns(metadataresource.go:136)] FetchQueryObjectsByIds metadata fail Error 1146: Table 'yunionansible.metadata_tbl' doesn't exist
2020-07-16 18:10:38 +08:00
Qu Xuan
9e81cae902 fix: sec rule export missing fields 2020-07-16 17:14:44 +08:00
Qu Xuan
020f3dee57 fix: 修复elastic cache sku zone_id异常问题 2020-07-16 16:32:08 +08:00
wanyaoqi
4ab5051c04 add params auto_migrate_on_host_down 2020-07-16 15:08:33 +08:00
Zexi Li
e39ce07331 Merge pull request #7176 from ioito/automated-cherry-pick-of-#7174-upstream-release-3.2
Automated cherry pick of #7174: fix: 添加secgroup rule过滤参数
2020-07-16 11:18:55 +08:00
Zexi Li
3259b1b2c4 Merge pull request #7190 from ioito/automated-cherry-pick-of-#7188-upstream-release-3.2
Automated cherry pick of #7188: fix: check azure image format when rebuild root
2020-07-16 11:09:51 +08:00
Zexi Li
2934f6c15b Merge pull request #7179 from ioito/automated-cherry-pick-of-#7177-upstream-release-3.2
Automated cherry pick of #7177: fix: 避免华为云安全组规则删除失败
2020-07-16 10:16:35 +08:00
Qu Xuan
84c7341b7f fix: check azure image format when rebuild root 2020-07-15 18:48:25 +08:00
Zexi Li
5cff334188 Merge pull request #7183 from wanyaoqi/automated-cherry-pick-of-#7181-upstream-release-3.2
Automated cherry pick of #7181: misc ha guest fix
2020-07-15 17:42:40 +08:00
Qu Xuan
987ba6079b fix: 避免华为云安全组规则删除失败 2020-07-15 17:14:21 +08:00
wanyaoqi
60df899d5d misc ha guest fix 2020-07-15 17:06:43 +08:00
Qu Xuan
39c033e0c5 fix: 添加secgroup rule过滤参数 2020-07-15 14:32:24 +08:00
Zexi Li
01908aebdb Merge pull request #7170 from wanyaoqi/automated-cherry-pick-of-#7168-upstream-release-3.2
Automated cherry pick of #7168: fix list guests on host
2020-07-15 10:46:03 +08:00
Zexi Li
472a2f9ebb Merge pull request #7154 from yousong/bugfix/yousong-vpcagent-mtu3.2
vpcagent: ovn: set underlay mtu size in config file
2020-07-15 10:35:28 +08:00
Zexi Li
4919226d0d Merge pull request #7160 from yousong/automated-cherry-pick-of-#7158-upstream-release-3.2
Automated cherry pick of #7158: iproute2: address: make Exact idempotent
2020-07-15 10:34:41 +08:00
Zexi Li
769dd28a51 Merge pull request #7164 from tb365/automated-cherry-pick-of-#7163-upstream-release-3.2
Automated cherry pick of #7163: cloudprovider usable filter with zone
2020-07-15 10:34:03 +08:00
wanyaoqi
2b7373608d fix list guests on host 2020-07-14 22:36:55 +08:00
tangbin
6a81f78a4d cloudprovider usable filter with zone 2020-07-14 19:55:05 +08:00
Zexi Li
05d5bd6c9f Merge pull request #7157 from ioito/automated-cherry-pick-of-#7155-upstream-release-3.2
Automated cherry pick of #7155: fix: 优化webconsole代码&bugfix
2020-07-14 17:53:08 +08:00
Yousong Zhou
48000786cc iproute2: address: make Exact idempotent
Idempotence against address not available for Exact is not a bad idea if
we look at the name of that func

This should accomodate the race condition where keepalived will remove
vips should the primary address used for vrrp comms is removed, causing
later addr del to fail with "cannot assign requested address"
2020-07-14 16:42:18 +08:00
Qu Xuan
fae1c3d542 fix: 优化webconsole代码&bugfix 2020-07-14 15:09:35 +08:00
Yousong Zhou
ba87528561 vpcagent: ovn: set underlay mtu size in config file
(cherry picked from commit 2841e245e2)
2020-07-14 11:38:21 +08:00
Zexi Li
03d393cca4 Merge pull request #7149 from rainzm/automated-cherry-pick-of-#7147-upstream-release-3.2
Automated cherry pick of #7147: fix: mo.VirtualMachine's Config maybe nil
2020-07-14 11:34:47 +08:00
rainzm
51131f9c75 fix: mo.VirtualMachine's Config maybe nil 2020-07-13 23:11:02 +08:00
Zexi Li
b7b5e5666e Merge pull request #7136 from tb365/automated-cherry-pick-of-#7135-upstream-release-3.2
Automated cherry pick of #7135: user batch register bugfix
2020-07-13 21:28:58 +08:00
Zexi Li
3c9ca461d9 Merge pull request #7142 from ioito/automated-cherry-pick-of-#7140-upstream-release-3.2
Automated cherry pick of #7140: fix: 修复阿里云同步安全组规则异常问题
2020-07-13 21:24:36 +08:00
Qu Xuan
f874a02c05 fix: 修复阿里云同步安全组规则异常问题 2020-07-13 20:48:18 +08:00
tangbin
f7b31c08cb user batch register bugfix 2020-07-13 14:49:20 +08:00
Zexi Li
08c2864b71 Merge pull request #7127 from wanyaoqi/automated-cherry-pick-of-#7125-upstream-release-3.2
Automated cherry pick of #7125: - fix local storage init local man
2020-07-10 20:15:49 +08:00
wanyaoqi
b25e4dfb31 - fix local storage init local man
- fix rbd set storage info
2020-07-10 14:49:35 +08:00
Zexi Li
35cdcbe0ff Merge pull request #7118 from ioito/automated-cherry-pick-of-#7116-upstream-release-3.2
Automated cherry pick of #7116: fix: 修复vpc同步异常问题
2020-07-09 21:23:17 +08:00
Zexi Li
8e440f9390 Merge pull request #7115 from ioito/automated-cherry-pick-of-#7113-upstream-release-3.2
Automated cherry pick of #7113: fix: 避免越界访问
2020-07-09 21:21:24 +08:00
Zexi Li
40a903a56f Merge pull request #7108 from wanyaoqi/automated-cherry-pick-of-#7106-upstream-release-3.2
Automated cherry pick of #7106: fix set storage info bind mount
2020-07-09 21:19:39 +08:00
Qu Xuan
2d4d76cdd6 fix: 修复vpc同步异常问题 2020-07-09 21:13:36 +08:00
Qu Xuan
3e2eeb9e6e fix: 避免越界访问 2020-07-09 20:25:11 +08:00
wanyaoqi
447f41a40f fix set storage info bind mount 2020-07-09 14:55:44 +08:00
Zexi Li
95f59d0a59 Merge pull request #7104 from swordqiu/automated-cherry-pick-of-#7102-upstream-release-3.2
Automated cherry pick of #7102: fix: opslog show the owners operation logs only
2020-07-09 14:24:13 +08:00
Qiu Jian
40ee6d6d44 fix: opslog show the owners operation logs only 2020-07-09 11:27:01 +08:00
Zexi Li
f978973c7e Merge pull request #7095 from ioito/automated-cherry-pick-of-#7093-upstream-release-3.2
Automated cherry pick of #7093: fix: 修复资源组云上同步异常问题
2020-07-08 21:24:30 +08:00
Qu Xuan
8f5634eafc fix: 修复资源组云上同步异常问题 2020-07-08 16:26:26 +08:00
Zexi Li
eda171ced0 Merge pull request #7081 from ioito/automated-cherry-pick-of-#7079-upstream-release-3.2
Automated cherry pick of #7079: fix: 修复腾讯云操作日志时间异常问题
2020-07-08 14:09:39 +08:00
Zexi Li
c3a81ca793 Merge pull request #7090 from ioito/automated-cherry-pick-of-#7088-upstream-release-3.2
Automated cherry pick of #7088: fix: 修复azure 项目同步问题
2020-07-08 01:38:24 +08:00
Qu Xuan
abfa4a5a4d fix: 修复azure 项目同步问题 2020-07-07 18:48:31 +08:00
Qu Xuan
e77eb6e8ba fix: 修复腾讯云操作日志时间异常问题 2020-07-07 14:59:19 +08:00
Zexi Li
9d35818660 Merge pull request #7070 from swordqiu/automated-cherry-pick-of-#6880-upstream-release-3.2
Automated cherry pick of #6880: feature: 1. allow enable/disable idp-synced-users 2. turn off user's MFA by default
2020-07-07 14:51:45 +08:00
Zexi Li
fe28b8d6c6 Merge pull request #7073 from ioito/automated-cherry-pick-of-#7066-upstream-release-3.2
Automated cherry pick of #7066: fix: json request 支持自定义匹配err
2020-07-07 14:46:56 +08:00
Zexi Li
bccc16c4c5 Merge pull request #7053 from ioito/automated-cherry-pick-of-#7050-upstream-release-3.2
Automated cherry pick of #7050: fix: google rds regional and zonal
2020-07-07 14:45:51 +08:00
Zexi Li
8f3a9fe611 Merge pull request #7076 from ioito/automated-cherry-pick-of-#7074-upstream-release-3.2
Automated cherry pick of #7074: fix: 分开统计安全组关联虚拟机数量
2020-07-07 14:43:39 +08:00
Qu Xuan
dce47bbb22 fix: 分开统计安全组关联虚拟机数量 2020-07-07 11:49:52 +08:00
Qu Xuan
15a809e744 fix: json request 支持自定义匹配err 2020-07-07 11:18:32 +08:00
Zexi Li
ba7af63d59 Merge pull request #7063 from rainzm/automated-cherry-pick-of-#7061-upstream-release-3.2
Automated cherry pick of #7061: Update docker image onecloud-base and its references
2020-07-07 11:12:51 +08:00
Qiu Jian
c808ca89e6 remove mfa/totp modification on 3.2 2020-07-07 01:21:22 +08:00
Qiu Jian
d2b28e04c9 feature: 1. allow enable/disable idp-synced-users 2. turn off user's MFA by default 2020-07-07 01:19:14 +08:00
rainzm
b9908acaae Update docker image onecloud-base and its references 2020-07-06 21:04:45 +08:00
Qu Xuan
fec72492b7 fix: google rds regional and zonal 2020-07-06 11:18:52 +08:00
Zexi Li
1a0974ae83 Merge pull request #7044 from swordqiu/automated-cherry-pick-of-#7042-upstream-release-3.2
Automated cherry pick of #7042: feature: project filter that list jointable projects for user or group
2020-07-04 12:11:45 +08:00
Zexi Li
51197b837f Merge pull request #7033 from ioito/automated-cherry-pick-of-#7031-upstream-release-3.2
Automated cherry pick of #7031: fix: 避免azure同步资源组异常
2020-07-04 12:10:50 +08:00
Zexi Li
dcfa17492b Merge pull request #7038 from swordqiu/automated-cherry-pick-of-#7036-upstream-release-3.2
Automated cherry pick of #7036: fix: cloud account sync may block
2020-07-04 12:09:28 +08:00
Qiu Jian
b982ff47f3 feature: project filter that list jointable projects for user or group 2020-07-04 11:35:47 +08:00
Qiu Jian
d9035e9cba fix: cloud account sync may block 2020-07-04 10:24:24 +08:00
Qu Xuan
c4f14c7f42 fix: 避免azure同步资源组异常 2020-07-03 20:57:52 +08:00
Zexi Li
60bcb757fb Merge pull request #7011 from ioito/automated-cherry-pick-of-#7009-upstream-release-3.2
Automated cherry pick of #7009: fix: 取消aliyun lb scheduler创建限制
2020-07-03 19:24:49 +08:00
Zexi Li
40bffa5d12 Merge pull request #7022 from ioito/automated-cherry-pick-of-#7020-upstream-release-3.2
Automated cherry pick of #7020: fix: 优化安全组list速度,并发挥rule规则信息
2020-07-03 17:39:40 +08:00
Qu Xuan
22e7aa2f79 fix: 优化安全组list速度,并发挥rule规则信息 2020-07-03 15:53:26 +08:00
yunion-ci-robot
b34f6dbd8c Merge pull request #7001 from tb365/automated-cherry-pick-of-#7000-upstream-release-3.2
Automated cherry pick of #7000: cluster_d required->optional
2020-07-02 20:29:27 +08:00
Zexi Li
fdc918a0ee Merge pull request #7005 from ioito/automated-cherry-pick-of-#6998-upstream-release-3.2
Automated cherry pick of #6998: fix: manager_id资源隔离获取
2020-07-02 20:20:23 +08:00
Zexi Li
7609ef53df Merge pull request #7008 from wanyaoqi/automated-cherry-pick-of-#7006-upstream-release-3.2
Automated cherry pick of #7006: bind mount nfs storage path
2020-07-02 17:35:30 +08:00
Qu Xuan
ee173b3397 fix: 取消aliyun lb scheduler创建限制 2020-07-02 15:44:42 +08:00
wanyaoqi
4e22ff4805 bind mount nfs storage path 2020-07-02 14:35:13 +08:00
Qu Xuan
aaa3d498a5 fix: manager_id资源隔离获取 2020-07-02 14:30:18 +08:00
tangbin
a2bcbb83cd cluster_d required->optional 2020-07-02 11:54:39 +08:00
Zexi Li
068662e36e Merge pull request #6992 from rainzm/automated-cherry-pick-of-#6990-upstream-release-3.2
Automated cherry pick of #6990: fix the bug introduced in #6643
2020-07-01 19:26:32 +08:00
rainzm
9c141930c2 fix the bug introduced in #6643 2020-07-01 16:54:28 +08:00
Zexi Li
d27574e832 Merge pull request #6969 from ioito/automated-cherry-pick-of-#6903-upstream-release-3.2
Automated cherry pick of #6903: fix: 修正项目映射同步
2020-07-01 16:30:02 +08:00
Zexi Li
8641803302 Merge pull request #6977 from wanyaoqi/automated-cherry-pick-of-#6975-upstream-release-3.2
Automated cherry pick of #6975: fix deploy backup server order
2020-06-30 23:09:03 +08:00
wanyaoqi
6feeff2009 fix deploy backup server order 2020-06-30 22:03:51 +08:00
Qu Xuan
60cdc3fdda fix: 支持同步project标签到本地资源 2020-06-30 14:08:49 +08:00
Qu Xuan
6bed7639b0 fix: 修正项目映射同步 2020-06-30 11:52:41 +08:00
Zexi Li
aa9a5896c8 Merge pull request #6949 from swordqiu/automated-cherry-pick-of-#6947-upstream-release-3.2
Automated cherry pick of #6947: fix: disable domain sharing if non_default_domain_projects turned off
2020-06-30 10:48:22 +08:00
Qiu Jian
24f4b91955 fix: disable domain sharing if non_default_domain_projects turned off 2020-06-28 13:26:31 +08:00
Zexi Li
185c780faf Merge pull request #6945 from yousong/automated-cherry-pick-of-#6943-upstream-release-3.2
Automated cherry pick of #6943: lb: include cluster name info in details
2020-06-28 09:01:44 +08:00
Yousong Zhou
b3588b48a2 lb: include cluster name info in details 2020-06-24 18:55:51 +08:00
Zexi Li
98a0d39a0a Merge pull request #6935 from wanyaoqi/automated-cherry-pick-of-#6933-upstream-release-3.2
Automated cherry pick of #6933: server name enable upper case
2020-06-24 17:42:27 +08:00
Zexi Li
f7fde18f46 Merge pull request #6920 from ioito/automated-cherry-pick-of-#6918-upstream-release-3.2
Automated cherry pick of #6918: fix: 避免azure同步项目失败
2020-06-24 12:58:40 +08:00
Zexi Li
0cb69b7fb6 Merge pull request #6928 from ioito/automated-cherry-pick-of-#6926-upstream-release-3.2
Automated cherry pick of #6926: fix: google资源名称兼容处理
2020-06-23 23:29:39 +08:00
Zexi Li
8637b1fa04 Merge pull request #6938 from swordqiu/automated-cherry-pick-of-#6936-upstream-release-3.2
Automated cherry pick of #6936: fix: sort quota list result by usage rate
2020-06-23 23:28:02 +08:00
Qiu Jian
9a6362cd6b fix: sort quota list result by usage rate 2020-06-23 22:24:00 +08:00
Zexi Li
e0b523ba65 Merge pull request #6923 from swordqiu/automated-cherry-pick-of-#6921-upstream-release-3.2
Automated cherry pick of #6921: fix: simplify forbidden user login message
2020-06-23 21:26:03 +08:00
wanyaoqi
74037b56ca server name enable upper case 2020-06-23 21:07:16 +08:00
Qu Xuan
a898351061 fix: google资源名称兼容处理 2020-06-23 20:30:54 +08:00
Qiu Jian
21f1486001 fix: simplify forbidden user login message 2020-06-23 17:47:49 +08:00
Qu Xuan
8ec7fd93dc fix: 避免azure同步项目失败 2020-06-23 17:32:49 +08:00
Zexi Li
f3b2f3d93e Merge pull request #6905 from wanyaoqi/automated-cherry-pick-of-#6904-upstream-release-3.2
Automated cherry pick of #6904: fix get storage capabilities with null field
2020-06-23 11:53:31 +08:00
Zexi Li
a75554ed40 Merge pull request #6916 from ioito/automated-cherry-pick-of-#6912-upstream-release-3.2
Automated cherry pick of #6912: optimized: 支持ip和端口过滤安全组
2020-06-23 11:52:32 +08:00
Qu Xuan
3452b85d69 optimized: 支持ip和端口过滤安全组 2020-06-23 11:26:37 +08:00
yunion-ci-robot
ef47ad9807 Merge pull request #6908 from wanyaoqi/automated-cherry-pick-of-#6906-upstream-release-3.2
Automated cherry pick of #6906: disable dhclient
2020-06-22 23:42:03 +08:00
wanyaoqi
063ac404f0 disable dhclient 2020-06-22 21:30:53 +08:00
wanyaoqi
1425da2ccd fix get storage capabilities with null field 2020-06-22 20:00:15 +08:00
Zexi Li
c857ca4410 Merge pull request #6895 from yousong/automated-cherry-pick-of-#6893-upstream-release-3.2
Automated cherry pick of #6893: cloudcommon: app: cosmetic change
2020-06-22 09:15:33 +08:00
Yousong Zhou
8bb60ea439 cloudcommon: policy: fix interval and oneshot sync
Reduce CPU utilization caused by queued time.AfterFunc calls
2020-06-21 18:34:00 +08:00
Yousong Zhou
f59f5cb4bf cloudcommon: app: cosmetic change 2020-06-21 18:34:00 +08:00
yunion-ci-robot
c8e986d077 Merge pull request #6870 from rainzm/automated-cherry-pick-of-#6869-upstream-release-3.2
Automated cherry pick of #6869: Notify/email fix
2020-06-19 10:09:22 +08:00
yunion-ci-robot
2878cc81e8 Merge pull request #6884 from swordqiu/automated-cherry-pick-of-#6883-upstream-release-3.2
Automated cherry pick of #6883: fix: network created by sysadmin should be shared by default
2020-06-19 09:50:14 +08:00
yunion-ci-robot
b3b26475cc Merge pull request #6886 from swordqiu/automated-cherry-pick-of-#6885-upstream-release-3.2
Automated cherry pick of #6885: fix: wrong cloud provider status when sync disconnected cloud account
2020-06-19 09:49:08 +08:00
Qiu Jian
bd2a4e2832 fix: wrong cloud provider status when sync disconnected cloud account 2020-06-19 01:21:00 +08:00
yunion-ci-robot
cacd42ee15 Merge pull request #6860 from yousong/automated-cherry-pick-of-#6859-upstream-release-3.2
Automated cherry pick of #6859: cloudaccounts: one sync task in queue per cloudaccount
2020-06-18 23:20:03 +08:00
yunion-ci-robot
a90e6eac8c Merge pull request #6882 from wanyaoqi/automated-cherry-pick-of-#6881-upstream-release-3.2
Automated cherry pick of #6881: fix reserved ip export keys
2020-06-18 22:52:04 +08:00
Qiu Jian
95413e8a02 fix: network created by sysadmin should be shared by default 2020-06-18 22:48:26 +08:00
wanyaoqi
639e4fb87f fix reserved ip export keys 2020-06-18 21:45:56 +08:00
rainzm
7ffb1c969f fix: Fix problems about sending verify email 2020-06-18 19:05:58 +08:00
rainzm
a1a96f35fe fix: Fix the url of 'notify-template-delete' in climc 2020-06-18 19:05:58 +08:00
Zexi Li
a06b9c7884 Merge pull request #6872 from ioito/automated-cherry-pick-of-#6871-upstream-release-3.2
Automated cherry pick of #6871: fix: 避免同步删除失败
2020-06-18 19:05:31 +08:00
Qu Xuan
fd788b15b3 fix: 避免同步删除失败 2020-06-18 17:20:11 +08:00
Yousong Zhou
2ccc45df92 cloudaccounts: one sync task in queue per cloudaccount 2020-06-18 17:12:09 +08:00
yunion-ci-robot
4abbfd9932 Merge pull request #6877 from tb365/automated-cherry-pick-of-#6875-upstream-release-3.2
Automated cherry pick of #6875: replace err with errors.cause
2020-06-18 15:13:06 +08:00
tangbin
8fd53d0db5 replace err with errors.cause 2020-06-18 14:30:52 +08:00
Zexi Li
5775c13fbf Merge pull request #6862 from tb365/automated-cherry-pick-of-#6861-upstream-release-3.2
Automated cherry pick of #6861: shuzhou to suzhou
2020-06-17 18:50:50 +08:00
Zexi Li
c9998c8b47 Merge pull request #6841 from zexi/automated-cherry-pick-of-#6839-upstream-release-3.2
Automated cherry pick of #6839: scheduler: fix memory over committed
2020-06-17 18:49:35 +08:00
tangbin
43000c7d77 shuzhou to suzhou 2020-06-17 15:53:42 +08:00
Zexi Li
bce22f04d4 Merge pull request #6855 from yousong/automated-cherry-pick-of-#6837-upstream-release-3.2
Automated cherry pick of #6837: appsrv: ring: release ring content on pop
2020-06-17 11:24:35 +08:00
Yousong Zhou
7f98ec2a30 appsrv: rework TestRing 2020-06-17 10:53:15 +08:00
Yousong Zhou
4e735f8972 appsrv: ring: release ring content on pop 2020-06-17 10:53:15 +08:00
Zexi Li
21650e61f9 Merge pull request #6850 from swordqiu/automated-cherry-pick-of-#6849-upstream-release-3.2
Automated cherry pick of #6849: fix: disable policy rule compaction
2020-06-17 10:29:01 +08:00
Qiu Jian
406cc01b7c fix: policy allow if one of the matching rules is allow 2020-06-16 23:11:01 +08:00
Qiu Jian
d8d8256b0a fix: disable policy rule compaction 2020-06-16 23:11:01 +08:00
Zexi Li
75576e17dc Merge pull request #6845 from wanyaoqi/automated-cherry-pick-of-#6844-upstream-release-3.2
Automated cherry pick of #6844: fix cpu usage metrics
2020-06-16 21:00:44 +08:00
wanyaoqi
479b309160 fix cpu usage metrics 2020-06-16 20:44:00 +08:00
Zexi Li
d3ecbd98f8 Merge pull request #6825 from wanyaoqi/automated-cherry-pick-of-#6824-upstream-release-3.2
Automated cherry pick of #6824: fix windows install regedit record
2020-06-16 20:13:02 +08:00
Zexi Li
a957815041 scheduler: fix memory over committed 2020-06-16 19:12:47 +08:00
Zexi Li
bf2d727933 Merge pull request #6829 from yousong/bugfix/yousong-lblistener-cert-32
[3.2] Bugfix/yousong lblistener cert 32
2020-06-15 17:37:11 +08:00
Zexi Li
231a3a9fdd Merge pull request #6831 from ioito/automated-cherry-pick-of-#6830-upstream-release-3.2
Automated cherry pick of #6830: fix: 优化标签列表version问题
2020-06-15 14:11:16 +08:00
Qu Xuan
ada6d9e00c fix: 优化标签列表version问题 2020-06-15 14:06:18 +08:00
Yousong Zhou
6a10d8a66a lblistener: rename filter name certificate{,_id}
Previously we accept both, now with structured input we'd better choose
one and ignore the other.  Use certificate_id because that's the
console's choice
2020-06-15 11:26:07 +08:00
Yousong Zhou
9fd612c5ac lblisteners: list: filter with certificate ids 2020-06-15 11:25:53 +08:00
wanyaoqi
18cb393ba3 fix windows install regedit record 2020-06-15 10:58:07 +08:00
Zexi Li
4e6bb13c52 Merge pull request #6818 from yousong/automated-cherry-pick-of-#6817-upstream-release-3.2
Automated cherry pick of #6817: guestnetworks: use math/rand instead of crypto/rand
2020-06-12 10:10:01 +08:00
Yousong Zhou
2989ecfe8a guestnetworks: reduce odds of collision seeded by epoch seconds 2020-06-11 21:22:16 +08:00
Yousong Zhou
a91e8230f3 guestnetworks: use math/rand instead of crypto/rand 2020-06-11 21:22:16 +08:00
Zexi Li
e8592d9158 Merge pull request #6809 from ioito/automated-cherry-pick-of-#6808-upstream-release-3.2
Automated cherry pick of #6808: fix: 避免sql erorr
2020-06-11 17:52:40 +08:00
Zexi Li
a765271c55 Merge pull request #6812 from ioito/automated-cherry-pick-of-#6810-upstream-release-3.2
Automated cherry pick of #6810: fix: 避免openstack磁盘和存储窜位
2020-06-11 17:52:14 +08:00
Zexi Li
6181ce84b3 Merge pull request #6804 from zexi/automated-cherry-pick-of-#6803-upstream-release-3.2
Automated cherry pick of #6803: webconsole: fix version and others handler not handle
2020-06-11 17:50:03 +08:00
Qu Xuan
51c4a420ae fix: 避免openstack磁盘和存储窜位 2020-06-11 14:13:25 +08:00
Qu Xuan
735461541e fix: 避免sql erorr 2020-06-11 10:42:37 +08:00
Zexi Li
804d987dc0 Merge pull request #6798 from wanyaoqi/automated-cherry-pick-of-#6797-upstream-release-3.2
Automated cherry pick of #6797: fix host list servers filter
2020-06-10 17:05:37 +08:00
Zexi Li
f44f6532dd webconsole: fix version and others handler not handle 2020-06-10 17:00:16 +08:00
wanyaoqi
a4968259e7 fix host list servers filter 2020-06-10 14:07:46 +08:00
Zexi Li
97b6bcd9f0 Merge pull request #6787 from rainzm/automated-cherry-pick-of-#6786-upstream-release-3.2
Automated cherry pick of #6786: fix: Hanle the error of vdisk.GetIStorage in syncCloudDisk
2020-06-10 11:28:01 +08:00
Zexi Li
48326f46dc Merge pull request #6731 from ioito/automated-cherry-pick-of-#6663-upstream-release-3.2
Automated cherry pick of #6663: fix: 优化安全组同步逻辑
2020-06-10 11:19:30 +08:00
Zexi Li
1fb12fe81f Merge pull request #6780 from ioito/automated-cherry-pick-of-#6779-upstream-release-3.2
Automated cherry pick of #6779: fix: 更正华为云操作成功判断
2020-06-10 10:46:02 +08:00
Zexi Li
8c6db4e81a Merge pull request #6776 from yousong/automated-cherry-pick-of-#6775-upstream-release-3.2
Automated cherry pick of #6775: networks: sep check of masklen only for start,end type creation
2020-06-10 10:20:34 +08:00
Zexi Li
18edd50fe3 Merge pull request #6783 from rainzm/automated-cherry-pick-of-#6782-upstream-release-3.2
Automated cherry pick of #6782: fix: Add '/version' handler for notify
2020-06-10 10:19:19 +08:00
Zexi Li
50338788c8 Merge pull request #6792 from swordqiu/automated-cherry-pick-of-#6791-upstream-release-3.2
Automated cherry pick of #6791: fix: policy-explain not working properly
2020-06-10 09:52:57 +08:00
Qiu Jian
447616f779 fix: policy-explain not working properly 2020-06-09 22:28:40 +08:00
rainzm
3e0344dc0d fix: Hanle the error of vdisk.GetIStorage in syncCloudDisk 2020-06-09 19:50:00 +08:00
rainzm
df44eb8082 fix: Add '/version' handler for notify 2020-06-09 18:55:06 +08:00
Qu Xuan
9443fe7b42 fix: 更正华为云操作成功判断 2020-06-09 18:21:03 +08:00
Yousong Zhou
d196db034f networks: validate that start, end, gateway ip are in the same subnet 2020-06-09 16:14:01 +08:00
Yousong Zhou
90e3bcd5d0 networks: validateUpdateData: eliminate intermediate vars 2020-06-09 16:14:01 +08:00
Yousong Zhou
7f052c0a79 networks: decrease indent 2020-06-09 16:14:01 +08:00
Yousong Zhou
3022a121ef networks: sep check of masklen only for start,end type creation 2020-06-09 16:14:01 +08:00
Zexi Li
a3cda0ca59 Merge pull request #6768 from yousong/bugfix/yousong-climc-lb-create-cluster
mcclient: options: lb: arg rename cluster{,_id}
2020-06-09 00:12:40 +08:00
Zexi Li
3d8ef5d442 Merge pull request #6773 from swordqiu/automated-cherry-pick-of-#6772-upstream-release-3.2
Automated cherry pick of #6772: fix: disable updating zone_id for host, storage, wire
2020-06-09 00:12:05 +08:00
Qiu Jian
ce64a499bb fix: disable updating zone_id for host, storage, wire 2020-06-08 22:02:57 +08:00
yunion-ci-robot
191f0dcb88 Merge pull request #6770 from zexi/automated-cherry-pick-of-#6769-upstream-release-3.2
Automated cherry pick of #6769: region: retry set influxdb policy until completed
2020-06-08 21:12:07 +08:00
Zexi Li
fb20a846f8 region: retry set influxdb policy until completed 2020-06-08 19:08:22 +08:00
Yousong Zhou
7f8549cd4b mcclient: options: lb: arg rename cluster{,_id}
Ref b0537773cd ("fxi: 修复lb 有些有vpc_id为空的问题")
2020-06-08 17:36:53 +08:00
Zexi Li
14716b64da Merge pull request #6761 from wanyaoqi/automated-cherry-pick-of-#6760-upstream-release-3.2
Automated cherry pick of #6760: image support generate name
2020-06-08 16:11:42 +08:00
Qu Xuan
42fe1cbfe2 fix: 优化安全组同步逻辑 2020-06-08 14:11:16 +08:00
wanyaoqi
57df58aa43 image support generate name 2020-06-08 11:27:10 +08:00
Zexi Li
8149573a80 Merge pull request #6751 from swordqiu/automated-cherry-pick-of-#6750-upstream-release-3.2
Automated cherry pick of #6750: fix: base64 decode 12-bytes plain text password return nil
2020-06-08 09:13:18 +08:00
yunion-ci-robot
daa0621bcd Merge pull request #6758 from swordqiu/automated-cherry-pick-of-#6757-upstream-release-3.2
Automated cherry pick of #6757: fix: remove spaces in name
2020-06-06 12:22:45 +08:00
Qiu Jian
18e8d68c9d fix: base64 decode 12-bytes plain text password return nil 2020-06-06 11:08:04 +08:00
Qiu Jian
3712a3a077 fix: remove spaces in name 2020-06-06 11:01:59 +08:00
yunion-ci-robot
388b152517 Merge pull request #6693 from ioito/automated-cherry-pick-of-#6692-upstream-release-3.2
Automated cherry pick of #6692: fix: 返回object默认acl
2020-06-06 11:00:45 +08:00
Qu Xuan
e70d7f4357 fix: 返回object默认acl 2020-06-05 11:00:34 +08:00
Zexi Li
97b5bd2006 Merge pull request #6741 from swordqiu/automated-cherry-pick-of-#6740-upstream-release-3.2
Automated cherry pick of #6740: fix: xsky recode using endpoint as accesskey key
2020-06-04 21:40:58 +08:00
Zexi Li
9c100c8a92 Merge pull request #6739 from tb365/automated-cherry-pick-of-#6737-upstream-release-3.2
Automated cherry pick of #6737: ctyun sync host wire fix
2020-06-04 21:39:57 +08:00
Zexi Li
8683501e69 Merge pull request #6745 from wanyaoqi/automated-cherry-pick-of-#6744-upstream-release-3.2
Automated cherry pick of #6744: bind mount local image path to container path
2020-06-04 21:24:14 +08:00
Zexi Li
ac47a29a8c Merge pull request #6748 from wanyaoqi/automated-cherry-pick-of-#6173-upstream-release-3.2
Automated cherry pick of #6173: support custom service url
2020-06-04 21:19:53 +08:00
wanyaoqi
b903a2aecb support custom service url 2020-06-04 20:27:44 +08:00
wanyaoqi
4cebf604ab bind mount local image path to container path 2020-06-04 20:21:14 +08:00
Qiu Jian
5da84f7a51 fix: xsky recode using endpoint as accesskey key 2020-06-04 19:22:54 +08:00
tangbin
4ba3437006 ctyun sync host wire fix 2020-06-04 18:53:45 +08:00
Zexi Li
f7dde179d8 Merge pull request #6729 from ioito/automated-cherry-pick-of-#6728-upstream-release-3.2
Automated cherry pick of #6728: fix: 避免openstack session==nil
2020-06-04 15:04:29 +08:00
Qu Xuan
7d505c6dc1 fix: 避免openstack session==nil 2020-06-04 11:24:13 +08:00
Zexi Li
bdbb08c15d Merge pull request #6723 from ioito/automated-cherry-pick-of-#6722-upstream-release-3.2
Automated cherry pick of #6722: fix: 添加region翻译
2020-06-04 10:28:59 +08:00
Zexi Li
b24ec284f7 Merge pull request #6727 from swordqiu/automated-cherry-pick-of-#6726-upstream-release-3.2
Automated cherry pick of #6726: fix: keystone event list fail to find user
2020-06-04 10:26:57 +08:00
Qiu Jian
635827794d fix: keystone event list fail to find user 2020-06-04 08:01:15 +08:00
Qu Xuan
c0ad0c495a fix: 添加region翻译 2020-06-03 20:40:10 +08:00
Zexi Li
728494b9e3 Merge pull request #6721 from ioito/automated-cherry-pick-of-#6720-upstream-release-3.2
Automated cherry pick of #6720: fix: 修复gcp object编码问题
2020-06-03 20:07:46 +08:00
Zexi Li
0585a83a0c Merge pull request #6712 from ioito/automated-cherry-pick-of-#6711-upstream-release-3.2
Automated cherry pick of #6711: fix: 移除默认调度策略
2020-06-03 17:27:30 +08:00
Zexi Li
60b11e8f50 Merge pull request #6719 from tb365/automated-cherry-pick-of-#6696-upstream-release-3.2
Automated cherry pick of #6696: add-enterprise-info-update-climc
2020-06-03 17:26:25 +08:00
Zexi Li
7ec7598037 Merge pull request #6714 from wanyaoqi/automated-cherry-pick-of-#6713-upstream-release-3.2
Automated cherry pick of #6713: isolated device manager:
2020-06-03 17:25:12 +08:00
Qu Xuan
fe8c2c6d51 fix: 修复gcp object编码问题 2020-06-03 16:36:42 +08:00
tangbin
2fb4254d83 add-enterprise-info-update-climc 2020-06-03 16:27:10 +08:00
wanyaoqi
cbbbd29830 isolated device manager:
- fix find boot_vga got No such file or dirtory
2020-06-03 15:50:03 +08:00
Qu Xuan
f70ca13563 fix: 移除默认调度策略 2020-06-03 15:23:08 +08:00
Zexi Li
9f4a4028b8 Merge pull request #6709 from ioito/automated-cherry-pick-of-#6708-upstream-release-3.2
Automated cherry pick of #6708: fix: 转换gcp错误
2020-06-03 13:03:25 +08:00
Qu Xuan
7bbc8afc51 fix: 转换gcp错误 2020-06-03 11:57:28 +08:00
Zexi Li
afdc49d0b5 Merge pull request #6700 from rainzm/automated-cherry-pick-of-#6699-upstream-release-3.2
Automated cherry pick of #6699: feat: Logo and copyright in verify email are same with these in company info
2020-06-03 10:23:57 +08:00
Zexi Li
bea0d7b978 Merge pull request #6703 from ioito/automated-cherry-pick-of-#6702-upstream-release-3.2
Automated cherry pick of #6702: fix: gcp默认创建允许所有地址访问的用户
2020-06-03 10:17:12 +08:00
Zexi Li
562e15c97d Merge pull request #6705 from ioito/automated-cherry-pick-of-#6704-upstream-release-3.2
Automated cherry pick of #6704: fix: 允许gcp创建vpc时不指定cidr
2020-06-03 10:16:50 +08:00
Zexi Li
7211580cfe Merge pull request #6707 from ioito/automated-cherry-pick-of-#6706-upstream-release-3.2
Automated cherry pick of #6706: fix: 避免越过tenantcache过期检查
2020-06-03 10:16:08 +08:00
Qu Xuan
7451ae9f90 fix: 避免越过tenantcache过期检查 2020-06-02 22:18:43 +08:00
Qu Xuan
766d5cf803 fix: 允许gcp创建vpc时不指定cidr 2020-06-02 22:03:17 +08:00
Qu Xuan
040a90587b fix: gcp默认创建允许所有地址访问的用户 2020-06-02 21:47:02 +08:00
Zexi Li
d3f8c71050 Merge pull request #6698 from swordqiu/automated-cherry-pick-of-#6697-upstream-release-3.2
Automated cherry pick of #6697: fix: apigateway expose esxiagent service avaiability
2020-06-02 21:20:24 +08:00
rainzm
3630164960 feat: Logo and copyright in verify email are same with these in company info 2020-06-02 20:55:56 +08:00
Qiu Jian
38b8e24eb0 fix: apigateway expose esxiagent service avaiability 2020-06-02 20:32:30 +08:00
yunion-ci-robot
847c296b64 Merge pull request #6687 from ioito/automated-cherry-pick-of-#6686-upstream-release-3.2
Automated cherry pick of #6686: fix: 避免锁超时
2020-06-02 13:59:44 +08:00
Qu Xuan
2521ec8f91 fix: 避免锁超时 2020-06-02 11:14:33 +08:00
Zexi Li
15f0e8c72c Merge pull request #6681 from ioito/automated-cherry-pick-of-#6680-upstream-release-3.2
Automated cherry pick of #6680: fix: sync s3 bucket status
2020-06-02 10:05:04 +08:00
Zexi Li
6013c0e0d8 Merge pull request #6685 from ioito/automated-cherry-pick-of-#6684-upstream-release-3.2
Automated cherry pick of #6684: fix: gcp path escape for object
2020-06-02 10:04:40 +08:00
Zexi Li
f072ef65fd Merge pull request #6667 from ioito/automated-cherry-pick-of-#6666-upstream-release-3.2
Automated cherry pick of #6666: fix: 安全组规则返回项目id信息
2020-06-02 10:03:24 +08:00
Zexi Li
b3b6a0cf59 Merge pull request #6665 from zhaoxiangchun/automated-cherry-pick-of-#6664-upstream-release-3.2
Automated cherry pick of #6664: 在优化建议资源列表中增加费用信息
2020-06-02 10:02:37 +08:00
Zexi Li
c47f6a77b9 Merge pull request #6676 from ioito/automated-cherry-pick-of-#6675-upstream-release-3.2
Automated cherry pick of #6675: fix: add us-west4 for google region
2020-06-02 09:59:50 +08:00
Zexi Li
b1704b0039 Merge pull request #6671 from wanyaoqi/automated-cherry-pick-of-#6670-upstream-release-3.2
Automated cherry pick of #6670: get snapshots order by created at asc
2020-06-02 09:58:31 +08:00
Qu Xuan
a98ce67684 fix: gcp path escape for object 2020-06-01 19:58:44 +08:00
Qu Xuan
fcc8db69a8 fix: sync s3 bucket status 2020-06-01 18:56:04 +08:00
Qu Xuan
43748db2e2 fix: add us-west4 for google region 2020-06-01 18:26:51 +08:00
wanyaoqi
41673a54c0 get snapshots order by created at asc 2020-06-01 15:09:15 +08:00
Qu Xuan
bd63447bae fix: 安全组规则返回项目id信息 2020-05-29 20:49:52 +08:00
zhaoxiangchun
5ca2c6fcdf 在优化建议资源列表中增加费用信息
另外,在资源进行处理时记录对应的status信息
2020-05-29 19:45:47 +08:00
Zexi Li
f330d01791 Merge pull request #6662 from rainzm/automated-cherry-pick-of-#6661-upstream-release-3.2
Automated cherry pick of #6661: fix(notify): Remove default mobile template
2020-05-29 19:32:24 +08:00
Zexi Li
8fb744be58 Merge pull request #6659 from ioito/automated-cherry-pick-of-#6658-upstream-release-3.2
Automated cherry pick of #6658: fix: byte size fix
2020-05-29 19:14:33 +08:00
rainzm
ec2087f3f0 fix(notify): Remove default mobile template 2020-05-29 18:50:11 +08:00
Qu Xuan
f67011b143 fix: byte size fix 2020-05-29 17:00:01 +08:00
Zexi Li
bb0b831b72 Merge pull request #6649 from swordqiu/automated-cherry-pick-of-#6636-upstream-release-3.2
Automated cherry pick of #6636: fix: ignore match weights when searching matched policysets
2020-05-29 14:20:29 +08:00
Zexi Li
74a1ccec9d Merge pull request #6651 from wanyaoqi/automated-cherry-pick-of-#6650-upstream-release-3.2
Automated cherry pick of #6650: fix migrate with multi local storage
2020-05-29 14:18:54 +08:00
wanyaoqi
c74b41ef1f fix migrate with multi local storage 2020-05-29 11:52:28 +08:00
Qiu Jian
54d3173c15 fix: ignore match weights when searching matched policysets 2020-05-29 11:20:17 +08:00
yunion-ci-robot
dbee0d0eef Merge pull request #6644 from rainzm/automated-cherry-pick-of-#6643-upstream-release-3.2
Automated cherry pick of #6643: feat(notify): Support 'socpe:domain' when list contacts
2020-05-28 19:11:01 +08:00
yunion-ci-robot
6e22bea1cc Merge pull request #6634 from swordqiu/automated-cherry-pick-of-#6631-upstream-release-3.2
Automated cherry pick of #6631: fix: sysadmin cannot convert host in non-default domain
2020-05-28 19:04:01 +08:00
yunion-ci-robot
6fa35f9c7c Merge pull request #6617 from ioito/automated-cherry-pick-of-#6592-upstream-release-3.2
Automated cherry pick of #6592: fix: 通用指定项目到云上创建资源
2020-05-28 19:02:01 +08:00
yunion-ci-robot
62b4fd8240 Merge pull request #6556 from zhaoxiangchun/automated-cherry-pick-of-#6544-upstream-release-3.2
Automated cherry pick of #6544: 类型是onecloud的notifier增加webconsole的alert
2020-05-28 18:59:00 +08:00
rainzm
c3d0ff9e6f feat(notify): Support 'socpe:domain' when list contacts
This is a temporary solution.
2020-05-28 18:57:10 +08:00
Zexi Li
f727fb6d6d Merge pull request #6633 from zhaoxiangchun/automated-cherry-pick-of-#6632-upstream-release-3.2
Automated cherry pick of #6632: 修复优化建议资源列表cloudenv过滤失效的问题
2020-05-28 18:07:08 +08:00
Zexi Li
3198cccd6d Merge pull request #6638 from ioito/automated-cherry-pick-of-#6637-upstream-release-3.2
Automated cherry pick of #6637: fix: 避免因磁盘数量导致创建机器失败
2020-05-28 17:13:55 +08:00
Qu Xuan
62607fb9d2 fix: tmp update 2020-05-28 14:39:42 +08:00
Qu Xuan
11cae0b675 fix: 避免因磁盘数量导致创建机器失败 2020-05-28 12:08:32 +08:00
Qiu Jian
f32538d92d fix: sysadmin cannot convert host in non-default domain 2020-05-27 22:34:08 +08:00
zhaoxiangchun
0afe110088 修复优化建议资源列表cloudenv过滤失效的问题 2020-05-27 22:14:30 +08:00
Zexi Li
158f70613d Merge pull request #6623 from wanyaoqi/automated-cherry-pick-of-#6621-upstream-release-3.2
Automated cherry pick of #6621: host storage misc fix:
2020-05-27 18:04:14 +08:00
Zexi Li
04ee98c6dc Merge pull request #6627 from swordqiu/automated-cherry-pick-of-#6618-upstream-release-3.2
Automated cherry pick of #6618: fix: domain user no previleges to convert host
2020-05-27 18:03:54 +08:00
Zexi Li
913879c95f Merge pull request #6612 from wanyaoqi/automated-cherry-pick-of-#6609-upstream-release-3.2
Automated cherry pick of #6609: fix host name validator
2020-05-27 18:01:21 +08:00
Zexi Li
baa575953b Merge pull request #6581 from yousong/automated-cherry-pick-of-#6580-upstream-release-3.2
Automated cherry pick of #6580: hostman: deprecate k8s_cluster_cidr
2020-05-27 18:00:51 +08:00
Zexi Li
2b62f8d8e2 Merge pull request #6606 from ioito/automated-cherry-pick-of-#6605-upstream-release-3.2
Automated cherry pick of #6605: fix: 移除azure policy sync部分
2020-05-27 17:56:31 +08:00
Zexi Li
f1683f3d03 Merge pull request #6614 from swordqiu/automated-cherry-pick-of-#6613-upstream-release-3.2
Automated cherry pick of #6613: fix: scheduler test ignore quota limit
2020-05-27 17:54:54 +08:00
Zexi Li
eb4780fd78 Merge pull request #6620 from ioito/automated-cherry-pick-of-#6619-upstream-release-3.2
Automated cherry pick of #6619: fix: 避免azure卸载磁盘失败
2020-05-27 17:51:57 +08:00
wanyaoqi
03592086a4 host storage misc fix:
- add accessible timeout
- add force detach host storage
2020-05-27 15:57:07 +08:00
Qu Xuan
abd5c9a03a fix: 避免azure卸载磁盘失败 2020-05-27 15:55:21 +08:00
Qiu Jian
96ea180573 fix: domain user no previleges to convert host 2020-05-27 15:49:34 +08:00
Qu Xuan
9208a70518 fix: 通用指定项目到云上创建资源 2020-05-27 15:31:54 +08:00
Qiu Jian
8feafc1bf4 fix: scheduler test ignore quota limit 2020-05-27 14:48:08 +08:00
Zexi Li
7f7ce94c57 Merge pull request #6608 from yousong/automated-cherry-pick-of-#6607-upstream-release-3.2
Automated cherry pick of #6607: vpcagent: apihelper: use its own options
2020-05-27 14:36:10 +08:00
Zexi Li
0b18d55068 Merge pull request #6590 from swordqiu/automated-cherry-pick-of-#6589-upstream-release-3.2
Automated cherry pick of #6589: fix: retry ipmi probe if redfish-api-probe fails
2020-05-27 14:35:11 +08:00
wanyaoqi
6a5f97f626 fix host name validator 2020-05-26 23:17:52 +08:00
Zexi Li
2e8749eb97 Merge pull request #6604 from ioito/automated-cherry-pick-of-#6603-upstream-release-3.2
Automated cherry pick of #6603: fix: sku status filter
2020-05-26 18:23:51 +08:00
Yousong Zhou
7298c4bf67 hostman: options: remove k8s_cluster_cidr
Remove instead of deprecation.  No user of this option anymore
2020-05-26 17:56:53 +08:00
Qu Xuan
920db3bb60 fix: 移除azure policy sync部分 2020-05-26 17:55:56 +08:00
Yousong Zhou
a91bef28c4 hostman: options: fix default value spec 2020-05-26 17:54:22 +08:00
Yousong Zhou
94d14b1863 vpcagent: models: separate Copy() and CopyJoined() 2020-05-26 17:54:21 +08:00
Yousong Zhou
dd288441b1 vpcagent: apihelper: use CopyJoined() 2020-05-26 17:54:21 +08:00
Yousong Zhou
f86cdbbdad vpcagent: models: add CopyJoined() 2020-05-26 17:54:21 +08:00
Yousong Zhou
c7468440f0 vpcagent: remove unused code 2020-05-26 17:54:21 +08:00
Yousong Zhou
16c4663e7b vpcagent: apihelper: use its own options 2020-05-26 17:54:21 +08:00
Zexi Li
7b5053e77f Merge pull request #6599 from wanyaoqi/automated-cherry-pick-of-#6598-upstream-release-3.2
Automated cherry pick of #6598: fix remotefile fetch image propertites
2020-05-26 17:15:20 +08:00
Zexi Li
13b43caf91 Merge pull request #6595 from ioito/automated-cherry-pick-of-#6594-upstream-release-3.2
Automated cherry pick of #6594: fix: bucket信息修正
2020-05-26 17:14:06 +08:00
Qu Xuan
8201433166 fix: sku status filter 2020-05-26 17:10:02 +08:00
wanyaoqi
fd4830859e fix remotefile fetch image propertites 2020-05-26 15:54:09 +08:00
Qu Xuan
e775515b59 fix: bucket信息修正 2020-05-26 15:09:58 +08:00
Zexi Li
752f9763c1 Merge pull request #6588 from swordqiu/automated-cherry-pick-of-#6587-upstream-release-3.2
Automated cherry pick of #6587: fix: identity_provider details missing fields
2020-05-25 18:34:20 +08:00
Zexi Li
015d7a213d Merge pull request #6583 from zexi/hotfix/k8s-repo-privilege
fix k8s repo privilege
2020-05-25 18:28:53 +08:00
Qiu Jian
216d6cbc89 fix: retry ipmi probe if redfish-api-probe fails 2020-05-25 17:55:08 +08:00
Qiu Jian
01d7c16f84 fix: identity_provider details missing fields 2020-05-25 17:45:22 +08:00
Zexi Li
95db384c6c fix k8s repo privilege 2020-05-25 16:51:57 +08:00
yunion-ci-robot
383ead3988 Merge pull request #6579 from zexi/automated-cherry-pick-of-#6578-upstream-release-3.2
Automated cherry pick of #6578: baremetal: fix forget init lockman pkg
2020-05-25 12:49:55 +08:00
Zexi Li
99cf71401c Merge pull request #6577 from zhaoxiangchun/automated-cherry-pick-of-#6573-upstream-release-3.2
Automated cherry pick of #6573: zstack宿主机监控中增加参数信息进行Unmarshal
2020-05-25 12:18:15 +08:00
Zexi Li
bffdf0cd64 baremetal: fix forget init lockman pkg 2020-05-25 12:17:26 +08:00
zhaoxiangchun
21888984b9 zstack宿主机监控中增加参数信息进行Unmarshal 2020-05-24 17:20:08 +08:00
Zexi Li
a85171ddf1 Merge pull request #6568 from swordqiu/automated-cherry-pick-of-#6567-upstream-release-3.2
Automated cherry pick of #6567: fix: default policy not effective
2020-05-22 22:48:21 +08:00
Zexi Li
3bd9c756db Merge pull request #6566 from rainzm/automated-cherry-pick-of-#6565-upstream-release-3.2
Automated cherry pick of #6565: fix: Support filtering notification with contactType
2020-05-22 22:47:08 +08:00
Zexi Li
e117dd46ed Merge pull request #6559 from ioito/automated-cherry-pick-of-#6558-upstream-release-3.2
Automated cherry pick of #6558: fix: 避免openstack以镜像做系统盘创建失败
2020-05-22 22:45:20 +08:00
Qiu Jian
8d6911a8cb fix: default policy not effective 2020-05-22 22:36:33 +08:00
rainzm
c303d8eafd feat: Supports disabling of feishu and dingtalk notification 2020-05-22 20:54:04 +08:00
rainzm
841224b402 fix: Support filtering notification with contactType 2020-05-22 20:54:04 +08:00
Qu Xuan
e1238af669 fix: 避免openstack以镜像做系统盘创建失败 2020-05-22 20:16:54 +08:00
zhaoxiangchun
909e92040c 类型是onecloud的notifier增加webconsole的alert 2020-05-22 20:04:22 +08:00
Zexi Li
3908877d3b Merge pull request #6547 from ioito/automated-cherry-pick-of-#6534-upstream-release-3.2
Automated cherry pick of #6534: fix: 避免azure uefi重装系统失败
2020-05-22 19:39:09 +08:00
Zexi Li
b8c287b1ad Merge pull request #6546 from rainzm/automated-cherry-pick-of-#6545-upstream-release-3.2
Automated cherry pick of #6545: Fix the problem of field duplication when exporting fields
2020-05-22 19:34:58 +08:00
Zexi Li
8b67811739 Merge pull request #6550 from ioito/automated-cherry-pick-of-#6549-upstream-release-3.2
Automated cherry pick of #6549: fix: 返回项目信息
2020-05-22 19:33:56 +08:00
Zexi Li
cc9e94dbbe Merge pull request #6552 from swordqiu/automated-cherry-pick-of-#6551-upstream-release-3.2
Automated cherry pick of #6551: fix: empty matched policies list for roles
2020-05-22 19:32:18 +08:00
Qiu Jian
1afbe0e44d fix: empty matched policies list for roles 2020-05-22 18:50:18 +08:00
Qu Xuan
6ba2ddf0d7 fix: 返回项目信息 2020-05-22 17:32:24 +08:00
Qu Xuan
d52062137c fix: 加入Azure套餐和镜像的检查 2020-05-22 16:12:52 +08:00
Qu Xuan
cc1e19b025 fix: 避免azure uefi重装系统失败 2020-05-22 16:12:52 +08:00
rainzm
71a7922ca0 Fix the problem of field duplication when exporting fields 2020-05-22 15:54:11 +08:00
Zexi Li
699fa4c458 Merge pull request #6541 from ioito/automated-cherry-pick-of-#6540-upstream-release-3.2
Automated cherry pick of #6540: fix: 避免因io问题导致同步镜像列表为空
2020-05-22 14:43:44 +08:00
Qu Xuan
c8652e7997 fix: 避免因io问题导致同步镜像列表为空 2020-05-22 13:47:09 +08:00
Zexi Li
37f30aca20 Merge pull request #6537 from ioito/automated-cherry-pick-of-#6530-upstream-release-3.2
Automated cherry pick of #6530: fix: aliyun rds backup create fix
2020-05-22 12:36:43 +08:00
Qu Xuan
793a02598a fix: aliyun rds backup create fix 2020-05-22 10:31:15 +08:00
Zexi Li
ff4c3616cf Merge pull request #6512 from ioito/automated-cherry-pick-of-#6511-upstream-release-3.2
Automated cherry pick of #6511: fix: 避免忽略本地allow any云上deny any安全组规则同步
2020-05-22 10:26:59 +08:00
Zexi Li
d282ea5480 Merge pull request #6532 from ioito/automated-cherry-pick-of-#6531-upstream-release-3.2
Automated cherry pick of #6531: fix: gcp bucket文件夹默认设为private
2020-05-22 10:26:06 +08:00
Zexi Li
1d516505e3 Merge pull request #6526 from tb365/automated-cherry-pick-of-#6525-upstream-release-3.2
Automated cherry pick of #6525: aws lbbg cache bugfix
2020-05-22 10:24:45 +08:00
Zexi Li
f3158a09c9 Merge pull request #6510 from wanyaoqi/automated-cherry-pick-of-#6509-upstream-release-3.2
Automated cherry pick of #6509: fix list disk attachable servers
2020-05-22 10:20:31 +08:00
Zexi Li
db4e94d455 Merge pull request #6536 from swordqiu/automated-cherry-pick-of-#6535-upstream-release-3.2
Automated cherry pick of #6535: fix: usage for schetag not accurate
2020-05-22 10:19:27 +08:00
Zexi Li
4d547c5d84 Merge pull request #6529 from ioito/automated-cherry-pick-of-#6528-upstream-release-3.2
Automated cherry pick of #6528: fix: 避免regional network-list --zone导致返回结果为空
2020-05-22 10:18:06 +08:00
Zexi Li
07359651d5 Merge pull request #6519 from swordqiu/automated-cherry-pick-of-#6516-upstream-release-3.2
Automated cherry pick of #6516: fix: system privileges user cannot access system console
2020-05-22 10:15:15 +08:00
yunion-ci-robot
ebf2e84de6 Merge pull request #6506 from ioito/automated-cherry-pick-of-#6505-upstream-release-3.2
Automated cherry pick of #6505: fix: 上传镜像为转换列表之外时,subformat状态异常
2020-05-21 23:09:53 +08:00
Qiu Jian
c9998c2176 fix: usage for schetag not accurate 2020-05-21 22:37:57 +08:00
Qu Xuan
95ded99428 fix: gcp bucket文件夹默认设为private 2020-05-21 20:54:03 +08:00
Qu Xuan
9cdd63299d fix: 避免regional network-list --zone导致返回结果为空 2020-05-21 20:15:47 +08:00
tangbin
e2db897856 aws lbbg cache bugfix 2020-05-21 19:08:23 +08:00
Qiu Jian
41db54737e fix: system privileges user cannot access system console 2020-05-21 18:44:03 +08:00
Qu Xuan
d567916e06 fix: 避免忽略本地allow any云上deny any安全组规则同步 2020-05-21 18:29:54 +08:00
wanyaoqi
60107e5dd1 fix list disk attachable servers 2020-05-21 18:02:39 +08:00
Qu Xuan
ab72632ece fix: 上传镜像为转换列表之外时,subformat状态异常 2020-05-21 17:41:33 +08:00
Zexi Li
df8a942d38 Merge pull request #6502 from zhaoxiangchun/automated-cherry-pick-of-#6500-upstream-release-3.2
Automated cherry pick of #6500: 修复当prestate=alerting,newstate=alerting的情况无法触发notify的问题
2020-05-21 16:38:04 +08:00
Zexi Li
e638c7dfca Merge pull request #6496 from zhaoxiangchun/automated-cherry-pick-of-#6472-upstream-release-3.2
Automated cherry pick of #6472: suggestions  increase time screening range
2020-05-21 16:34:26 +08:00
yunion-ci-robot
e030d683f0 Merge pull request #6498 from wanyaoqi/automated-cherry-pick-of-#6497-upstream-release-3.2
Automated cherry pick of #6497: image cache use lockman
2020-05-21 16:33:45 +08:00
Zexi Li
8e28f9f72d Merge pull request #6490 from rainzm/automated-cherry-pick-of-#6487-upstream-release-3.2
Automated cherry pick of #6487: Fix/esxi
2020-05-21 16:33:27 +08:00
zhaoxiangchun
041a1b2cdc bugfix-优化建议
在删除资源列表的信息时,增加对应的状态值。如果删除失败记录相关日志
2020-05-21 15:18:52 +08:00
zhaoxiangchun
094a3115df 优化建议增加时间筛选范围
1.在时间范围内查询未使用的资源,对于存在解绑的操作,通过查询对应的日志来确定最近的使用时间
2.基于监控的优化建议,增加新的reducer,当有足够多的points时,再进行其他逻辑
2020-05-21 15:18:52 +08:00
zhaoxiangchun
0fb24d91e3 修复当prestate=alerting,newstate=alerting的情况无法触发notify的问题 2020-05-21 13:58:37 +08:00
wanyaoqi
5131057cd8 image cache use lockman 2020-05-21 11:47:32 +08:00
rainzm
9735881e55 fix(esxi): Modify the disk size correctly when creating vm 2020-05-21 10:51:10 +08:00
rainzm
a465548e5e fix(esxi): Detach all disk first when deleting vm 2020-05-21 10:51:10 +08:00
rainzm
5b0b346f12 Kill processes in time & Add debug info 2020-05-21 10:51:10 +08:00
rainzm
caffe7f96f fix(esxi): Remove 'Destory' operation that is unnecessary for VirtualDiskManager 2020-05-21 10:51:10 +08:00
rainzm
1ea7937cdd fix(esxi): Separate detach disk and delete disk when rebuilding.
In previous versions, set
`removeSpec.FileOperation = types.VirtualDeviceConfigSpecFileOperationDestroy'
to delete disk indirectly.

But, when its parent has only one child, the parent will be deleted along with it.
And the consequence is failure to reinstall the system.

Now, detach disk without deleteing backing file and then remove backing
2020-05-21 10:51:10 +08:00
Zexi Li
a3c48265fe Merge pull request #6486 from wanyaoqi/automated-cherry-pick-of-#6485-upstream-release-3.2
Automated cherry pick of #6485: add sys usage
2020-05-21 10:02:33 +08:00
Zexi Li
6caa3be510 Merge pull request #6495 from yousong/automated-cherry-pick-of-#6494-upstream-release-3.2
Automated cherry pick of #6494: guests: include vpc, network info in guest nics list
2020-05-21 10:00:33 +08:00
Yousong Zhou
b9543dd565 guests: include vpc, network info in guest nics list 2020-05-20 22:49:28 +08:00
Zexi Li
1efba08bf2 Merge pull request #6492 from zexi/automated-cherry-pick-of-#6491-upstream-release-3.2
Automated cherry pick of #6491: keystone: fix db not sync
2020-05-20 17:32:20 +08:00
Zexi Li
b19c7cfdcf keystone: fix db not sync 2020-05-20 17:22:13 +08:00
wanyaoqi
4e1acfc028 add sys usage 2020-05-20 15:03:24 +08:00
Zexi Li
d81d99394f Merge pull request #6483 from zexi/automated-cherry-pick-of-#6481-upstream-release-3.2
Automated cherry pick of #6481: region: fix get resource details panic
2020-05-20 14:00:17 +08:00
Zexi Li
6dbd344c10 region: fix get resource details panic 2020-05-20 13:30:56 +08:00
Zexi Li
3b99ebfd03 Merge pull request #6475 from yousong/automated-cherry-pick-of-#6474-upstream-release-3.2
Automated cherry pick of #6474: cloudcommon: rbac: fix typo
2020-05-20 12:54:38 +08:00
Zexi Li
e1f43e29a3 Merge pull request #6470 from zexi/automated-cherry-pick-of-#6463-upstream-release-3.2
Automated cherry pick of #6463: add fuzzy ip matching
2020-05-20 11:09:44 +08:00
Zexi Li
f428ad2abe Merge pull request #6457 from swordqiu/automated-cherry-pick-of-#6456-upstream-release-3.2
Automated cherry pick of #6456: fix: cloudprovider list support filter by zone and cloudregion
2020-05-20 11:09:11 +08:00
Zexi Li
3e9fab0ca0 Merge pull request #6454 from ioito/automated-cherry-pick-of-#6453-upstream-release-3.2
Automated cherry pick of #6453: fix: 优化azure image同步逻辑
2020-05-20 11:08:23 +08:00
Zexi Li
11463ce683 Merge pull request #6435 from ioito/automated-cherry-pick-of-#6434-upstream-release-3.2
Automated cherry pick of #6434: fix: 加入azure镜像vhd检查
2020-05-20 11:07:46 +08:00
Zexi Li
7d1b6a98eb Merge pull request #6448 from ioito/automated-cherry-pick-of-#6427-upstream-release-3.2
Automated cherry pick of #6427: fix: 避免大范围安全组共享
2020-05-20 11:07:23 +08:00
Yousong Zhou
2180e2e361 networks: return HTTP 404 for sql.ErrNoRows 2020-05-20 11:04:50 +08:00
Yousong Zhou
94433b590d wires: default to "default" vpc on creation
Wire creation request right now only makes sense in context of classic
network ("default" vpc)
2020-05-20 11:04:50 +08:00
Yousong Zhou
e5eed9ef2a networks: eliminate a variable 2020-05-20 11:04:50 +08:00
Yousong Zhou
7cd01cf535 guestdrivers: managed: use const api.EIP_STATUS_ASSOCIATE 2020-05-20 11:04:50 +08:00
Yousong Zhou
5d284b392b cloudprovider: fix typo 2020-05-20 11:04:50 +08:00
Yousong Zhou
306f8eabf2 cloudcommon: rbac: fix typo 2020-05-20 11:04:50 +08:00
Zexi Li
b5604f4767 Merge pull request #6469 from zexi/automated-cherry-pick-of-#6468-upstream-release-3.2
Automated cherry pick of #6468: host convert inject dockerd config
2020-05-20 10:44:31 +08:00
tangbin
fd13237ff3 add fuzzy ip matching 2020-05-19 19:15:55 +08:00
Zexi Li
36bef6db5a Merge pull request #6459 from ioito/automated-cherry-pick-of-#6458-upstream-release-3.2
Automated cherry pick of #6458: fix: 修复zstack使用win镜像时userdata base64加密问题
2020-05-19 19:13:49 +08:00
Zexi Li
926ab1e41a Merge pull request #6464 from zexi/automated-cherry-pick-of-#6462-upstream-release-3.2
Automated cherry pick of #6462: region: fix server create params not include specified resource
2020-05-19 19:08:45 +08:00
Zexi Li
ccef3b6aba host convert inject dockerd config 2020-05-19 19:08:11 +08:00
Zexi Li
c95f397ecf region: fix server create params not include specified resource 2020-05-19 17:38:23 +08:00
Qu Xuan
9455c75098 fix: 修复zstack使用win镜像时userdata base64加密问题 2020-05-19 16:46:31 +08:00
Qiu Jian
498aea4d18 fix: cloudprovider list support filter by zone and cloudregion 2020-05-19 16:44:44 +08:00
Qu Xuan
78be10c0a4 fix: 优化azure image同步逻辑 2020-05-19 16:24:23 +08:00
Zexi Li
fdbecf5365 Merge pull request #6452 from swordqiu/automated-cherry-pick-of-#6451-upstream-release-3.2
Automated cherry pick of #6451: fix: policy create fail on initialization phrase
2020-05-19 15:49:13 +08:00
Qiu Jian
d23b1fb08a fix: policy create fail on initialization phrase 2020-05-19 15:25:37 +08:00
Qu Xuan
fa287db5d6 fix: 避免大范围安全组共享 2020-05-19 14:03:24 +08:00
Zexi Li
379877189a Merge pull request #6422 from ioito/automated-cherry-pick-of-#6421-upstream-release-3.2
Automated cherry pick of #6421: fix: 优化标签列表过滤参数
2020-05-19 10:21:44 +08:00
Zexi Li
93179d30a7 Merge pull request #6442 from swordqiu/automated-cherry-pick-of-#6441-upstream-release-3.2
Automated cherry pick of #6441: update lisDescendent scope params
2020-05-19 10:20:24 +08:00
Zexi Li
a5436f2ba0 Merge pull request #6444 from swordqiu/automated-cherry-pick-of-#6443-upstream-release-3.2
Automated cherry pick of #6443: fix: anonymous user may list resources
2020-05-19 10:17:53 +08:00
Zexi Li
4576bb1728 Merge pull request #6440 from zexi/automated-cherry-pick-of-#6436-upstream-release-3.2
Automated cherry pick of #6436: baremetal: fix ssh put empty content file not created
2020-05-19 10:16:16 +08:00
Qiu Jian
f964b93bf8 fix: anonymous user may list resources 2020-05-19 01:13:52 +08:00
Qiu Jian
3cdf2da320 sync storage shared info when syncing local storage 2020-05-18 23:19:58 +08:00
Qiu Jian
7123de13ed update lisDescendent scope params 2020-05-18 23:19:58 +08:00
Zexi Li
9b0dc429c6 Merge pull request #6419 from ioito/automated-cherry-pick-of-#6418-upstream-release-3.2
Automated cherry pick of #6418: 可根据代理过滤云账号
2020-05-18 21:51:20 +08:00
Zexi Li
45f88c907d Merge pull request #6424 from ioito/automated-cherry-pick-of-#6423-upstream-release-3.2
Automated cherry pick of #6423: fix: 避免仅同步一个region时,其余region状态变为准备中
2020-05-18 21:49:10 +08:00
Zexi Li
534e7b4eda Merge pull request #6429 from ioito/automated-cherry-pick-of-#6428-upstream-release-3.2
Automated cherry pick of #6428: fix: 避免设置自动释放后磁盘的expired_at失效
2020-05-18 21:47:53 +08:00
Zexi Li
97cb68397b Merge pull request #6433 from swordqiu/automated-cherry-pick-of-#6432-upstream-release-3.2
Automated cherry pick of #6432: fix: update fields permission tags
2020-05-18 21:47:22 +08:00
Zexi Li
e8b90a9617 baremetal: fix ssh put empty content file not created 2020-05-18 21:46:26 +08:00
Qu Xuan
6281c56333 fix: image-list --sub-format support 2020-05-18 21:22:19 +08:00
Qu Xuan
1fa6b53a34 fix: 加入azure镜像vhd检查 2020-05-18 21:22:18 +08:00
Qiu Jian
5471bd9acf fix: update fields permission tags 2020-05-18 21:01:10 +08:00
Qu Xuan
2f84801b18 fix: 避免设置自动释放后磁盘的expired_at失效 2020-05-18 20:07:03 +08:00
Qu Xuan
963aaf0c33 fix: 避免仅同步一个region时,其余region状态变为准备中 2020-05-18 19:37:14 +08:00
Qu Xuan
168a4c7e9a fix: 优化标签列表过滤参数 2020-05-18 15:31:15 +08:00
Qu Xuan
be7adbea40 根据调度标签过滤网络和存储资源 2020-05-18 12:05:47 +08:00
Qu Xuan
2cdccfcf65 可根据代理过滤云账号 2020-05-18 12:05:46 +08:00
Zexi Li
eb56db7b00 Merge pull request #6404 from swordqiu/automated-cherry-pick-of-#6401-upstream-release-3.2
Automated cherry pick of #6401: fix: fail to explain permission for disabled policy
2020-05-17 14:22:45 +08:00
Zexi Li
8277ae48a6 Merge pull request #6415 from zhaoxiangchun/automated-cherry-pick-of-#6410-upstream-release-3.2
Automated cherry pick of #6410: 修复无法获取vmware宿主机监控数据的问题
2020-05-17 14:17:17 +08:00
Zexi Li
b91f4a2fde Merge pull request #6403 from swordqiu/automated-cherry-pick-of-#6402-upstream-release-3.2
Automated cherry pick of #6402: fix: disable delete standard image
2020-05-17 14:15:27 +08:00
yunion-ci-robot
121f538690 Merge pull request #6409 from rainzm/release/3.2
update vendor for release/3.2
2020-05-17 09:43:37 +08:00
zhaoxiangchun
f8fb9eddc8 修复无法获取vmware宿主机监控数据的问题 2020-05-16 21:23:51 +08:00
rainzm
66e42f2dba update vendor 2020-05-16 21:14:52 +08:00
Zexi Li
411c264890 Merge pull request #6400 from swordqiu/automated-cherry-pick-of-#6394-upstream-release-3.2
Automated cherry pick of #6394: fix: xxx-agent should generally use scope=system to list resources
2020-05-16 17:46:26 +08:00
Zexi Li
4696a51e92 Merge pull request #6396 from swordqiu/automated-cherry-pick-of-#6395-upstream-release-3.2
Automated cherry pick of #6395: fix: server-sync-fix-nics should return errors if vnics ip is not reachable on host
2020-05-16 17:45:25 +08:00
Zexi Li
928ceff800 Merge pull request #6376 from rainzm/automated-cherry-pick-of-#6375-upstream-release-3.2
Automated cherry pick of #6375: Fix/esxi
2020-05-16 17:42:42 +08:00
yunion-ci-robot
f5f83d3b3f Merge pull request #6389 from zexi/automated-cherry-pick-of-#6388-upstream-release-3.2
Automated cherry pick of #6388: region: fix baremetal can't enable public baremetal type network
2020-05-16 17:31:07 +08:00
Qiu Jian
74e784a84d fix: bugfixes 2020-05-16 01:05:40 +08:00
Qiu Jian
6ad68788e5 fix: fail to explain permission for disabled policy 2020-05-16 01:05:40 +08:00
Qiu Jian
4b6723d8fe fix: disable delete standard image 2020-05-16 00:37:04 +08:00
Qiu Jian
b12c644494 fix: xxx-agent should generally use scope=system to list resources 2020-05-15 22:33:03 +08:00
Qiu Jian
16b6186cab fix: server-sync-fix-nics should return errors if vnics ip is not reachable on host 2020-05-15 22:16:54 +08:00
rainzm
e9d0764be9 fix(esxi): Allow the creation of duplicate vcenter machines.
Create vm with name whose vlaue is localVM.Uuid and try to rename again.
2020-05-15 21:36:19 +08:00
rainzm
3e8b854dbe fix(esxi): Add usb to support mouse in vnc viewer 2020-05-15 21:36:19 +08:00
rainzm
cdabc68a71 fix(esxi): Fix GetDriver and add driver log for vdisk.
In GetDriver, return 'name' directly if driverMap is empty.
2020-05-15 21:36:19 +08:00
rainzm
4873635dd8 fix(esxi): Set 'WindowsDefaultAdminUser' as true when deploy vm.
'WindowsDefaultAdminUser' means that the default admin account is
'Administrator' when deploy windows vm.
2020-05-15 21:36:19 +08:00
rainzm
7d1270c968 fix(region): Set default value if rootdisk's driver is empty. 2020-05-15 21:36:19 +08:00
rainzm
4b9f1a409b fix(esxi): Disable automatically add host to the dvs 2020-05-15 21:36:19 +08:00
rainzm
23a03bb24c fix(esxi): Set 'IsInit' as true when rebuildroot
IsInit is true will cause cloudinit enable. When rebuilding root, if there is cloudinit service in the image, it will cover the initialization work we did on the rebuilding.
2020-05-15 21:36:19 +08:00
Zexi Li
62fe9cee88 region: fix baremetal can't enable public baremetal type network 2020-05-15 20:00:09 +08:00
Zexi Li
61a707bd57 Merge pull request #6387 from yousong/automated-cherry-pick-of-#6386-upstream-release-3.2
Automated cherry pick of #6386: vpcagent: ovn: cmp: generate clean args in a single batch
2020-05-15 19:59:27 +08:00
Yousong Zhou
188a0ea9e3 vpcagent: ovnutil: destroy non root obj first
To avoid the following error

	/* Can't happen because of the database schema. */
	ctl_fatal("logical port %s is not part of any logical router",
		  ctx->argv[1]);
2020-05-15 16:34:51 +08:00
Yousong Zhou
fea1e2166e vpcagent: ovn: cmp: generate clean args in a single batch 2020-05-15 16:31:18 +08:00
Zexi Li
3864156c5f Merge pull request #6380 from ioito/automated-cherry-pick-of-#6379-upstream-release-3.2
Automated cherry pick of #6379: fix: 避免backup list未能正常显示rds信息
2020-05-15 15:29:43 +08:00
Zexi Li
6301776f72 Merge pull request #6385 from zexi/automated-cherry-pick-of-#6381-upstream-release-3.2
Automated cherry pick of #6381: scheduler: fix min counter get count not correct
2020-05-15 15:28:34 +08:00
Zexi Li
0f6297aea8 scheduler: fix min counter get count not correct 2020-05-15 15:12:02 +08:00
Qu Xuan
c29528ac54 fix: 避免backup list未能正常显示rds信息 2020-05-15 14:30:19 +08:00
Zexi Li
0a3f041bf7 Merge pull request #6374 from zhaoxiangchun/automated-cherry-pick-of-#6358-upstream-release-3.2
Automated cherry pick of #6358: modify the logic of queryCondition save the  evalMatch
2020-05-15 11:11:15 +08:00
Zexi Li
4b8e100916 Merge pull request #6361 from ioito/automated-cherry-pick-of-#6346-upstream-release-3.2
Automated cherry pick of #6346: fix: 优化windows powershell userdata
2020-05-15 11:09:51 +08:00
Zexi Li
5ad8cb051f Merge pull request #6373 from swordqiu/automated-cherry-pick-of-#6363-upstream-release-3.2
Automated cherry pick of #6363: fix: set public_scope to system for image with is_public=true
2020-05-15 11:08:22 +08:00
zhaoxiangchun
23380f2a00 modify the logic of queryCondition save the evalMatch 2020-05-15 11:07:23 +08:00
Zexi Li
e45ef0a8e1 Merge pull request #6359 from ioito/automated-cherry-pick-of-#6352-upstream-release-3.2
Automated cherry pick of #6352: fix: 优化rds zone同步逻辑
2020-05-15 11:05:46 +08:00
Qiu Jian
e6d240ac79 fix: set public_scope to system for image with is_public=true 2020-05-15 00:34:29 +08:00
Qu Xuan
1cc5eee870 fix: 优化windows powershell userdata 2020-05-14 20:42:47 +08:00
Qu Xuan
9f99f1466b fix: 优化rds zone同步逻辑 2020-05-14 20:24:15 +08:00
Zexi Li
519cbec486 Merge pull request #6357 from zexi/automated-cherry-pick-of-#6353-upstream-release-3.2
Automated cherry pick of #6353: scheduler: filter disabled cloudprovider
2020-05-14 18:59:34 +08:00
Zexi Li
5ed76cd0cf Merge pull request #6345 from tb365/automated-cherry-pick-of-#6344-upstream-release-3.2
Automated cherry pick of #6344: allow delete paramter config
2020-05-14 18:20:50 +08:00
Zexi Li
408a4e33c4 Merge pull request #6339 from swordqiu/automated-cherry-pick-of-#6338-upstream-release-3.2
Automated cherry pick of #6338: fix: avoid using background context
2020-05-14 18:18:58 +08:00
Zexi Li
9104f101eb Merge pull request #6337 from zhaoxiangchun/automated-cherry-pick-of-#6336-upstream-release-3.2
Automated cherry pick of #6336: Modify the logic of rule change execution time
2020-05-14 18:17:53 +08:00
Zexi Li
019d72a694 scheduler: filter disabled cloudprovider 2020-05-14 18:15:53 +08:00
Zexi Li
c23ee27c9f Merge pull request #6348 from zexi/automated-cherry-pick-of-#6347-upstream-release-3.2
Automated cherry pick of #6347: scheduler: set schedtag default strategy if input empty
2020-05-14 17:49:20 +08:00
Zexi Li
fa5f9351d2 scheduler: set schedtag default strategy if input empty 2020-05-14 17:25:50 +08:00
Qiu Jian
db111a8da4 fix: avoid using background context 2020-05-14 16:51:26 +08:00
tangbin
de4c354c7d allow delete paramter config 2020-05-14 15:20:37 +08:00
zhaoxiangchun
acd7fceb91 修改规则执行时间
在将资源数据取到后更新执行时间
2020-05-14 15:00:36 +08:00
Zexi Li
8a7f37dcd1 Merge pull request #6330 from zhaoxiangchun/automated-cherry-pick-of-#6164-upstream-release-3.2
Automated cherry pick of #6164: bugfix mem paginate
2020-05-14 13:02:45 +08:00
Zexi Li
1f8c1f4d13 Merge pull request #6332 from tb365/automated-cherry-pick-of-#6331-upstream-release-3.2
Automated cherry pick of #6331: clear yunionauth cookie
2020-05-14 13:02:20 +08:00
Zexi Li
fd3fb7ba89 Merge pull request #6335 from wanyaoqi/automated-cherry-pick-of-#6333-upstream-release-3.2
Automated cherry pick of #6333: remove statefile in start script
2020-05-14 13:01:45 +08:00
wanyaoqi
6b63ac0af5 fix esxi disk disconnect 2020-05-14 12:28:27 +08:00
wanyaoqi
f50dfaef4c remove statefile in start script 2020-05-14 12:28:27 +08:00
tangbin
346a325e7e clear yunionauth cookie 2020-05-14 11:46:03 +08:00
zhaoxiangchun
9b1aa45a15 修复规则无法禁用的问题 2020-05-14 10:38:39 +08:00
Zexi Li
9e2874caaa Merge pull request #6329 from swordqiu/automated-cherry-pick-of-#6328-upstream-release-3.2
Automated cherry pick of #6328: fix: status-base resource's action log missing owner project/domain
2020-05-14 09:52:32 +08:00
Zexi Li
e0a8fe38d0 Merge pull request #6327 from zexi/automated-cherry-pick-of-#6326-upstream-release-3.2
Automated cherry pick of #6326: region: server create prefer resource fetch by name or id
2020-05-14 09:51:46 +08:00
Qiu Jian
6453e7fa82 fix: status-base resource's action log missing owner project/domain 2020-05-14 01:17:09 +08:00
Zexi Li
ad4d25e0cd Merge pull request #6197 from zhaoxiangchun/automated-cherry-pick-of-#6164-upstream-release-3.2
Automated cherry pick of #6164 bugfix-suggestrule cannot disable
2020-05-14 01:02:08 +08:00
Zexi Li
a3d962894c region: server create prefer resource fetch by name or id 2020-05-14 01:00:18 +08:00
zhaoxiangchun
c1384f29cf merge 2020-05-14 00:29:11 +08:00
zhaoxiangchun
829c6c65fc 修复规则无法禁用的问题 2020-05-14 00:27:34 +08:00
Zexi Li
c106bdc24c Merge pull request #6088 from zhaoxiangchun/automated-cherry-pick-of-#6087-upstream-release-3.2
Automated cherry pick of #6087: 在monitor的package中新增influxdb相关的功能
2020-05-13 23:00:04 +08:00
zhaoxiangchun
d9509a0cf5 基于监控数据的优化建议 2020-05-13 22:45:41 +08:00
zhaoxiangchun
22dccbbb20 在monitor的package中新增influxdb相关的功能
1.可以获取influxdb实例中的databases
2.可以获取指定database中的measurements
3.通过指定measurement获取其中的tags和fileds
2020-05-13 22:45:41 +08:00
Zexi Li
442e95a2c1 Merge pull request #6325 from swordqiu/automated-cherry-pick-of-#6324-upstream-release-3.2
Automated cherry pick of #6324: fix: host agent list use baremetalagents model
2020-05-13 21:20:56 +08:00
Qiu Jian
2089c055f3 fix: host agent list use baremetalagents model 2020-05-13 21:15:38 +08:00
yunion-ci-robot
c52946c5ed Merge pull request #6320 from wanyaoqi/automated-cherry-pick-of-#6319-upstream-release-3.2
Automated cherry pick of #6319: do not close worker chan
2020-05-13 20:18:01 +08:00
wanyaoqi
3e2f5c7af1 do not close worker chan
don't close worker chan after put work, will cause dead loop
2020-05-13 18:58:18 +08:00
Zexi Li
061d31ae0d Merge pull request #6314 from swordqiu/automated-cherry-pick-of-#6305-upstream-release-3.2
Automated cherry pick of #6305: fix: change-owner-candidate-domains not implemented for some resources
2020-05-13 12:46:17 +08:00
Zexi Li
055d01d24e Merge pull request #6303 from yousong/automated-cherry-pick-of-#6302-upstream-release-3.2
Automated cherry pick of #6302: vpcagent: ignore possible external subnets
2020-05-13 12:45:30 +08:00
Zexi Li
b48647abbd Merge pull request #6301 from ioito/automated-cherry-pick-of-#6300-upstream-release-3.2
Automated cherry pick of #6300: fix: 避免provider错乱返回
2020-05-13 12:44:28 +08:00
Zexi Li
34f7a4e6d0 Merge pull request #6298 from ioito/automated-cherry-pick-of-#6297-upstream-release-3.2
Automated cherry pick of #6297: fix: cloud-provider-list support filter by cloudregion
2020-05-13 12:44:02 +08:00
Zexi Li
cb0810c7c2 Merge pull request #6279 from swordqiu/automated-cherry-pick-of-#6241-upstream-release-3.2
Automated cherry pick of #6241: feature: user login into project with highest privilege automatically
2020-05-13 12:43:33 +08:00
Zexi Li
ec9dcb05ee Merge pull request #6310 from ioito/automated-cherry-pick-of-#6306-upstream-release-3.2
Automated cherry pick of #6306: fix: openstack 安全组规则同步
2020-05-13 12:41:55 +08:00
Zexi Li
cfb3c4c184 Merge pull request #6316 from ioito/automated-cherry-pick-of-#6315-upstream-release-3.2
Automated cherry pick of #6315: fix: i-ps -> ips
2020-05-13 10:46:16 +08:00
Zexi Li
cd5d452e86 Merge pull request #6318 from swordqiu/automated-cherry-pick-of-#6317-upstream-release-3.2
Automated cherry pick of #6317: fix: reserved ip owner filter
2020-05-13 10:44:16 +08:00
Zexi Li
e725bdf0ca Merge pull request #6293 from ioito/automated-cherry-pick-of-#6292-upstream-release-3.2
Automated cherry pick of #6292: fix: 优化openstack错误处理
2020-05-13 10:42:45 +08:00
Qiu Jian
04ba1e8300 fix: reserved ip owner filter 2020-05-12 21:13:14 +08:00
Qu Xuan
93222c5827 fix: i-ps -> ips 2020-05-12 20:27:36 +08:00
Qiu Jian
014e159339 fix: change-owner-candidate-domains not implemented for some resources 2020-05-12 18:47:30 +08:00
Yousong Zhou
f7e1676a17 vpcagent: ignore possible external subnets 2020-05-12 18:06:27 +08:00
Qu Xuan
535e9a1861 fix: openstack 安全组规则同步 2020-05-12 17:57:25 +08:00
Qu Xuan
48e35019b3 fix: 避免provider错乱返回 2020-05-12 17:03:12 +08:00
Zexi Li
79f9d69125 Merge pull request #6281 from yousong/automated-cherry-pick-of-#6280-upstream-release-3.2
Automated cherry pick of #6280: cloudcommon: elect: notifyOne on subscribe
2020-05-12 14:22:37 +08:00
Zexi Li
7bec5cbdb8 Merge pull request #6278 from ioito/automated-cherry-pick-of-#6277-upstream-release-3.2
Automated cherry pick of #6277: fix: 支持访问其他服务的标签列表
2020-05-12 14:21:47 +08:00
Qu Xuan
b8104481ee fix: 优化openstack错误处理 2020-05-12 14:09:10 +08:00
Qu Xuan
ebe775338c fix: cloud-provider-list support filter by cloudregion 2020-05-12 14:06:53 +08:00
Zexi Li
fa54acf2c7 Merge pull request #6288 from yousong/automated-cherry-pick-of-#6287-upstream-release-3.2
Automated cherry pick of #6287: region: lbagent: undeploy: make it idempotent
2020-05-12 11:50:05 +08:00
Zexi Li
f01d45d7ed Merge pull request #6283 from yousong/automated-cherry-pick-of-#6282-upstream-release-3.2
Automated cherry pick of #6282: region: lbagents: fix deleting pending_deleted objects
2020-05-12 11:43:42 +08:00
Yousong Zhou
d2197aec70 region: lbagent: undeploy: make it idempotent
Both the following three can result in the same error message "Could not
find the requested service yunion-xx: host"

  -m systemd -a 'name=yunion-xx enabled=no state=stopped daemon_reload=yes'
  -m systemd -a 'name=yunion-xx enabled=no state=stopped daemon_reload=yes force=yes'
  -m service -a 'name=yunion-xx enabled=no state=stopped'

Use of ansibleplaybookv2 is overkill and can break console expectation.
Just turn to shell module for now
2020-05-12 10:38:56 +08:00
Yousong Zhou
51f50c1087 region: lbagents: fix deleting pending_deleted objects
This was broken since the introduction of virtual object
2020-05-12 10:11:01 +08:00
Yousong Zhou
a77aa72d47 cloudcommon: elect: notifyOne on subscribe 2020-05-11 23:27:19 +08:00
Qu Xuan
88af7f7f2f fix: 支持访问其他服务的标签列表 2020-05-11 21:39:59 +08:00
Qiu Jian
e95ea4a0fa detect bmagent and hostagent service 2020-05-11 21:21:15 +08:00
Qiu Jian
6e24efd176 feature: user login into project with highest privilege automatically 2020-05-11 21:21:15 +08:00
Zexi Li
9034bff3cb Merge pull request #6264 from ioito/automated-cherry-pick-of-#6263-upstream-release-3.2
Automated cherry pick of #6263: fix: globalvpc count vpc
2020-05-11 21:09:39 +08:00
Zexi Li
002ac64e8b Merge pull request #6266 from ioito/automated-cherry-pick-of-#6265-upstream-release-3.2
Automated cherry pick of #6265: fix: 避免卸载完已删除的磁盘后,磁盘状态为ready
2020-05-11 21:09:09 +08:00
Zexi Li
4e67c95561 Merge pull request #6271 from zexi/automated-cherry-pick-of-#6270-upstream-release-3.2
Automated cherry pick of #6270: scheduler: get region nil panic
2020-05-11 21:07:38 +08:00
Zexi Li
2d9cc6d99e Merge pull request #6276 from swordqiu/automated-cherry-pick-of-#6275-upstream-release-3.2
Automated cherry pick of #6275: fix: isolated_devices domain filter not working
2020-05-11 21:07:14 +08:00
Qiu Jian
05c206497a fix: isolated_devices domain filter not working 2020-05-11 20:47:58 +08:00
Zexi Li
a3955a36b9 Merge pull request #6269 from ioito/automated-cherry-pick-of-#6268-upstream-release-3.2
Automated cherry pick of #6268: fix: gcp rds 默认不使用vpc网络
2020-05-11 18:17:51 +08:00
Zexi Li
2e13690b5c Merge pull request #6259 from ioito/automated-cherry-pick-of-#6258-upstream-release-3.2
Automated cherry pick of #6258: fix: 避免aliyun磁盘计费类型多次转换
2020-05-11 18:17:04 +08:00
Zexi Li
e22bac2597 scheduler: get region nil panic 2020-05-11 14:58:09 +08:00
Qu Xuan
7840528040 fix: gcp rds 默认不使用vpc网络 2020-05-11 14:52:58 +08:00
Qu Xuan
e8070c171a fix: 避免卸载完已删除的磁盘后,磁盘状态为ready 2020-05-11 14:37:13 +08:00
Qu Xuan
73890e5adb fix: globalvpc count vpc 2020-05-11 14:18:22 +08:00
Qu Xuan
1868ab31eb fix: 避免aliyun磁盘计费类型多次转换 2020-05-11 14:06:03 +08:00
Zexi Li
52200db57b Merge pull request #6220 from swordqiu/automated-cherry-pick-of-#6219-upstream-release-3.2
Automated cherry pick of #6219: fix: 1. vpc, cloudprovider should not violate the sharing limit of cloud account 2. sharing mode of host and attached local storage should be consistent. 3. cannot change owner of shared resource
2020-05-11 12:37:21 +08:00
Zexi Li
4da9c3b427 Merge pull request #6256 from swordqiu/automated-cherry-pick-of-#6252-upstream-release-3.2
Automated cherry pick of #6252: fix: panic when disk has no valid storage_id
2020-05-11 10:01:20 +08:00
yunion-ci-robot
5ae4a4b2de Merge pull request #6231 from tb365/automated-cherry-pick-of-#6230-upstream-release-3.2
Automated cherry pick of #6230: lb acl cache add acl filter
2020-05-11 09:42:56 +08:00
Qiu Jian
dbd88e3288 fix: panic when disk has no valid storage_id 2020-05-11 02:58:43 +08:00
Zexi Li
83c186b616 Merge pull request #6248 from wanyaoqi/automated-cherry-pick-of-#6247-upstream-release-3.2
Automated cherry pick of #6247: fix import from libvirt
2020-05-10 21:35:04 +08:00
Zexi Li
77ac919edb Merge pull request #6236 from tb365/automated-cherry-pick-of-#6232-upstream-release-3.2
Automated cherry pick of #6232: huawei network id fix
2020-05-10 21:33:53 +08:00
wanyaoqi
e8a8416b77 fix import from libvirt 2020-05-10 20:43:24 +08:00
Zexi Li
558c477de1 Merge pull request #6218 from swordqiu/automated-cherry-pick-of-#6200-upstream-release-3.2
Automated cherry pick of #6200: fix: recode sync public_src of cloud resources
2020-05-10 19:50:21 +08:00
Zexi Li
d768fc33f1 Merge pull request #6243 from yousong/automated-cherry-pick-of-#6242-upstream-release-3.2
Automated cherry pick of #6242: disks: reword error message on bad DiskConfig struct
2020-05-10 11:29:03 +08:00
Yousong Zhou
ee13acba43 disks: reword error message on bad DiskConfig struct 2020-05-10 00:18:21 +08:00
yunion-ci-robot
c65a25fa80 Merge pull request #6240 from swordqiu/automated-cherry-pick-of-#6237-upstream-release-3.2
Automated cherry pick of #6237: fix: guestsecgroup-list panic
2020-05-10 00:17:50 +08:00
Qiu Jian
4599988771 fix: guestsecgroup-list panic 2020-05-09 23:06:06 +08:00
Qiu Jian
d85e9be656 fix: init sharing status of default vpc and default secgroup 2020-05-09 22:36:16 +08:00
Qiu Jian
9e06c3a52f fix: allow delete shared resource 2020-05-09 22:36:15 +08:00
Qiu Jian
a51f928af9 fix: 1. vpc, cloudprovider should not violate the sharing limit of cloud account 2. sharing mode of host and attached local storage should be consistent. 3. cannot change owner of shared resource 2020-05-09 22:36:15 +08:00
Qiu Jian
117122c363 fix: recode sync public_src of cloud resources 2020-05-09 21:26:42 +08:00
tangbin
2d61f927a4 huawei network id fix 2020-05-09 20:12:17 +08:00
tangbin
b4b815a30f new local lb backend fix 2020-05-09 19:23:57 +08:00
tangbin
9c50414a0e lb acl cache add acl filter 2020-05-09 19:23:57 +08:00
Zexi Li
2714b6ceb0 Merge pull request #6222 from yousong/automated-cherry-pick-of-#6221-upstream-release-3.2
Automated cherry pick of #6221: cloudprovider: add methods for getting http client
2020-05-09 19:02:14 +08:00
Zexi Li
472c5b2622 Merge pull request #6210 from swordqiu/automated-cherry-pick-of-#6209-upstream-release-3.2
Automated cherry pick of #6209: fix: missing methods for SDomainRegionalCloudResourceKeys
2020-05-09 19:00:06 +08:00
Zexi Li
4ee4a9d872 Merge pull request #6217 from swordqiu/automated-cherry-pick-of-#6216-upstream-release-3.2
Automated cherry pick of #6216: fix: export missing keys && export panic
2020-05-09 18:58:58 +08:00
Zexi Li
89af0eeba1 Merge pull request #6214 from yousong/automated-cherry-pick-of-#6213-upstream-release-3.2
Automated cherry pick of #6213: vpcagent: ovn: explicitly include gateway route in classless routes
2020-05-09 18:57:13 +08:00
Zexi Li
ea7cd16ab3 Merge pull request #6212 from yousong/automated-cherry-pick-of-#6211-upstream-release-3.2
Automated cherry pick of #6211: vpcagent: models: ignore possible external guests
2020-05-09 18:55:39 +08:00
Zexi Li
f89276dd6a Merge pull request #6207 from wanyaoqi/automated-cherry-pick-of-#6206-upstream-release-3.2
Automated cherry pick of #6206: bm register use domain token
2020-05-09 18:54:38 +08:00
Zexi Li
a9bb0087b2 Merge pull request #6226 from yousong/automated-cherry-pick-of-#6225-upstream-release-3.2
Automated cherry pick of #6225: apigateway: handlers: register cloudnet modules
2020-05-09 18:47:42 +08:00
Zexi Li
00ca11f63c Merge pull request #6208 from zexi/automated-cherry-pick-of-#6193-upstream-release-3.2
Automated cherry pick of #6193: baremetal: find baremetal add scope system
2020-05-09 17:48:49 +08:00
Yousong Zhou
3e135e70ae apigateway: handlers: register cloudnet modules 2020-05-09 16:41:08 +08:00
Yousong Zhou
caf6726b12 multicloud: loader: guard against changing proxyFunc of default client 2020-05-09 12:56:29 +08:00
Yousong Zhou
f080a4ca9b multicloud: avoid changing transport of global default http client 2020-05-09 12:56:29 +08:00
Yousong Zhou
b187ca471f cloudprovider: add methods for getting http client
Prepare for following changes to avoid using and changing default
client settings
2020-05-09 12:56:29 +08:00
Qiu Jian
83f2defb24 fix: export missing keys && export panic 2020-05-08 17:44:30 +08:00
Yousong Zhou
daa591e99d vpcagent: ovn: explicitly include gateway route in classless routes 2020-05-08 16:35:52 +08:00
Yousong Zhou
88ac93510b vpcagent: models: ignore possible external guests 2020-05-08 15:46:46 +08:00
Qiu Jian
bf5d38d510 fix: missing methods for SDomainRegionalCloudResourceKeys 2020-05-08 14:16:34 +08:00
Zexi Li
79cecc5c7e baremetal: find baremetal add scope system 2020-05-08 13:46:38 +08:00
wanyaoqi
5fdd93fa2e bm register use domain token 2020-05-08 12:00:19 +08:00
Zexi Li
af9bf353f4 Merge pull request #6205 from tb365/automated-cherry-pick-of-#6204-upstream-release-3.2
Automated cherry pick of #6204: set cookie domain
2020-05-08 11:57:25 +08:00
tangbin
50146557ba set cookie domain 2020-05-08 11:56:17 +08:00
Zexi Li
cc52279ba2 Merge pull request #6201 from tb365/automated-cherry-pick-of-#6190-upstream-release-3.2
Automated cherry pick of #6190: apigateway-yunionauth-domain-setting
2020-05-08 10:29:21 +08:00
tangbin
6320fe1594 apigateway-yunionauth-domain-setting 2020-05-08 10:19:04 +08:00
Zexi Li
aa4cba8e6f Merge pull request #6199 from swordqiu/automated-cherry-pick-of-#6198-upstream-release-3.2
Automated cherry pick of #6198: fix: fail to sync share state for on-premise storages
2020-05-08 10:18:31 +08:00
Zexi Li
8d17139484 Merge pull request #6195 from wanyaoqi/automated-cherry-pick-of-#6194-upstream-release-3.2
Automated cherry pick of #6194: set host list scope system
2020-05-08 10:16:28 +08:00
Qiu Jian
7291e620a3 fix: fail to sync share state for on-premise storages 2020-05-07 20:47:12 +08:00
wanyaoqi
e8dc98ca8d set host list scope system 2020-05-07 20:04:31 +08:00
Zexi Li
012ee72fcb Merge pull request #6189 from zhaoxiangchun/automated-cherry-pick-of-#6185-upstream-release-3.2
Automated cherry pick of #6185: 修复谷歌监控无法获取的问题
2020-05-07 17:21:38 +08:00
yunion-ci-robot
84ea12f86d Merge pull request #6165 from zhaoxiangchun/automated-cherry-pick-of-#6164-upstream-release-3.2
Automated cherry pick of #6164: bugfix mem paginate
2020-05-07 16:51:45 +08:00
Zexi Li
67baa9be6e Merge pull request #6184 from swordqiu/automated-cherry-pick-of-#6183-upstream-release-3.2
Automated cherry pick of #6183: fix: missing perform public/private actionlog
2020-05-07 11:38:40 +08:00
zhaoxiangchun
1a800c99c7 修复谷歌监控无法获取的问题
直接返回调用RestAPI的json格式数据
2020-05-07 11:28:34 +08:00
Zexi Li
e9a4c0fe86 Merge pull request #6182 from swordqiu/automated-cherry-pick-of-#6181-upstream-release-3.2
Automated cherry pick of #6181: fix: shared cloudprovider not accessible
2020-05-07 11:28:26 +08:00
Zexi Li
8d9bddf6da Merge pull request #6180 from swordqiu/automated-cherry-pick-of-#6179-upstream-release-3.2
Automated cherry pick of #6179: fix: shared resource should not be deletable
2020-05-07 11:23:59 +08:00
Zexi Li
5eb616a30c Merge pull request #6169 from yousong/automated-cherry-pick-of-#6168-upstream-release-3.2
Automated cherry pick of #6168: dnsrecords: note that DnsRecordManager is a IAdminSharableVirtualModelManager
2020-05-07 11:23:14 +08:00
Zexi Li
8a9aef390d Merge pull request #6175 from swordqiu/automated-cherry-pick-of-#6174-upstream-release-3.2
Automated cherry pick of #6174: fix: fail to fetch real client ip from httprequest
2020-05-07 11:16:23 +08:00
Qiu Jian
c269437f36 fix: missing perform public/private actionlog 2020-05-07 02:14:49 +08:00
Qiu Jian
92232a5c45 fix: shared cloudprovider not accessible 2020-05-07 01:54:10 +08:00
Qiu Jian
fea14ed51e fix: shared resource should not be deletable 2020-05-07 01:40:23 +08:00
Qiu Jian
5c74ad427f fix: fail to fetch real client ip from httprequest 2020-05-06 22:27:08 +08:00
Yousong Zhou
40282fa5e6 dnsrecords: allow updating only description
This commit includes the following changes

 - Eliminate unused arguments from validateModelData()
 - Remove "records" member of input data unconditionally
 - Allow updates to not include records related parameters, to allow
   updating only "description" without emitting "Empty record" error
2020-05-06 18:42:29 +08:00
Yousong Zhou
356bea1915 dnsrecords: note that DnsRecordManager is a IAdminSharableVirtualModelManager 2020-05-06 18:42:29 +08:00
yunion-ci-robot
e3d062290a Merge pull request #6159 from zhaoxiangchun/automated-cherry-pick-of-#6158-upstream-release-3.2
Automated cherry pick of #6158: bugfix mem paginate
2020-05-06 15:45:44 +08:00
Zexi Li
1817cb1423 Merge pull request #6166 from wanyaoqi/automated-cherry-pick-of-#6150-upstream-release-3.2
Automated cherry pick of #6150: fix update input
2020-05-06 12:35:52 +08:00
wanyaoqi
eda2a39e5a fix update input 2020-05-06 11:55:22 +08:00
zhaoxiangchun
ee55aed03f bugfix mem paginate
通过totoal和offset 与limit比较确定最后返回数据
2020-05-06 11:06:27 +08:00
Zexi Li
70534106e6 Merge pull request #6154 from ioito/automated-cherry-pick-of-#6153-upstream-release-3.2
Automated cherry pick of #6153: fix: secgroupcache权限问题修复
2020-04-30 20:14:01 +08:00
zhaoxiangchun
b20d1ab7bd 修复规则无法禁用的问题 2020-04-30 20:13:30 +08:00
zhaoxiangchun
2ef877bd4d bugfix mem paginate
通过totoal和offset 与limit比较确定最后返回数据
2020-04-30 20:13:30 +08:00
Zexi Li
9103700f33 Merge pull request #6163 from wanyaoqi/automated-cherry-pick-of-#6151-upstream-release-3.2
Automated cherry pick of #6151: fix host details output
2020-04-30 19:08:24 +08:00
wanyaoqi
17676568d8 fix host init without etcd 2020-04-30 18:46:15 +08:00
wanyaoqi
341dda54ca fix host details output 2020-04-30 18:34:42 +08:00
Qu Xuan
0812fc2efe fix: secgroupcache权限问题修复 2020-04-30 15:42:32 +08:00
Zexi Li
7a97d5690b Merge pull request #6148 from rainzm/automated-cherry-pick-of-#6147-upstream-release-3.2
Automated cherry pick of #6147: fix/monitor: AutoScalingNotifier.ShouldNotify should call NotifierBase.ShouldNotify
2020-04-30 14:41:38 +08:00
Zexi Li
70db8a462e Merge pull request #6149 from wanyaoqi/automated-cherry-pick-of-#6145-upstream-release-3.2
Automated cherry pick of #6145: fix host health
2020-04-30 14:41:05 +08:00
wanyaoqi
9b22f51f25 fix host health 2020-04-30 11:32:53 +08:00
Rain
3a09de47b7 fix/monitor: AutoScalingNotifier.ShouldNotify should call NotifierBase.ShouldNotify 2020-04-30 11:31:28 +08:00
Zexi Li
b2c20dac86 Merge pull request #6138 from ioito/automated-cherry-pick-of-#6137-upstream-release-3.2
Automated cherry pick of #6137: fix: 云账号创建可以指定项目
2020-04-30 10:36:36 +08:00
Zexi Li
71be44a29b Merge pull request #6126 from ioito/automated-cherry-pick-of-#6123-upstream-release-3.2
Automated cherry pick of #6123: fix: usage-handler 不统计虚拟的vpc wire
2020-04-30 10:36:14 +08:00
Zexi Li
bab5b137ae Merge pull request #6142 from swordqiu/automated-cherry-pick-of-#6141-upstream-release-3.2
Automated cherry pick of #6141: fix: remove cloudaccount autosync randomness
2020-04-30 10:35:40 +08:00
Zexi Li
0fc6e1a29b Merge pull request #6144 from swordqiu/automated-cherry-pick-of-#6143-upstream-release-3.2
Automated cherry pick of #6143: fix: list lbbg panic
2020-04-30 10:35:07 +08:00
Qiu Jian
4b8ddca41b fix: list lbbg panic 2020-04-29 22:42:53 +08:00
Qiu Jian
2181019270 fix: remove cloudaccount autosync randomness 2020-04-29 22:34:37 +08:00
Zexi Li
fb3ae328c8 Merge pull request #6136 from wanyaoqi/automated-cherry-pick-of-#6034-upstream-release-3.2
Automated cherry pick of #6034: host health check
2020-04-29 21:17:12 +08:00
Zexi Li
60f3b1e6a2 Merge pull request #6128 from swordqiu/automated-cherry-pick-of-#6120-upstream-release-3.2
Automated cherry pick of #6120: fix: sysadmin can override policy violation check
2020-04-29 21:15:44 +08:00
Zexi Li
368a45069e Merge pull request #6125 from tb365/automated-cherry-pick-of-#6124-upstream-release-3.2
Automated cherry pick of #6124: add cookie domain setting option
2020-04-29 21:13:34 +08:00
Qu Xuan
a126f56bfb fix: 云账号创建可以指定项目 2020-04-29 20:06:26 +08:00
wanyaoqi
70fa719942 enable etcd lock 2020-04-29 20:03:06 +08:00
wanyaoqi
e024bdef1b host health check 2020-04-29 19:58:03 +08:00
Zexi Li
b18df612be Merge pull request #6122 from zhaoxiangchun/automated-cherry-pick-of-#6121-upstream-release-3.2
Automated cherry pick of #6121: monitor,对于监控数据nodata,默认不发送邮件
2020-04-29 19:36:05 +08:00
Qiu Jian
ae9838a38b fix: sysadmin can override policy violation check 2020-04-29 17:59:03 +08:00
Qu Xuan
599facb154 fix: usage-handler 不统计虚拟的vpc wire 2020-04-29 17:56:46 +08:00
tangbin
793412b813 add cookie domain setting option 2020-04-29 17:54:42 +08:00
zhaoxiangchun
27e075bfae monitor,对于监控数据nodata,默认不发送邮件 2020-04-29 15:18:23 +08:00
Zexi Li
ba6e8a1656 Merge pull request #6119 from swordqiu/automated-cherry-pick-of-#6118-upstream-release-3.2
Automated cherry pick of #6118: fix: cloud-account-usage vpc/storage not accurate
2020-04-29 13:11:41 +08:00
Zexi Li
e1840785c4 Merge pull request #6112 from swordqiu/automated-cherry-pick-of-#6111-upstream-release-3.2
Automated cherry pick of #6111: fix: prevent policy violation
2020-04-29 13:10:22 +08:00
Zexi Li
8767b92bc2 Merge pull request #6102 from rainzm/automated-cherry-pick-of-#6101-upstream-release-3.2
Automated cherry pick of #6101: fix/autoscaling: Chang the format of CoolingTime
2020-04-29 13:09:35 +08:00
Zexi Li
1fc3614d7c Merge pull request #6096 from ioito/automated-cherry-pick-of-#6095-upstream-release-3.2
Automated cherry pick of #6095: fix: 普通用户可获取rds账号密码
2020-04-29 13:08:07 +08:00
Zexi Li
3b94a82dc4 Merge pull request #6110 from ioito/automated-cherry-pick-of-#6109-upstream-release-3.2
Automated cherry pick of #6109: fix: 避免gcp创建创建文件夹失败
2020-04-29 13:07:32 +08:00
Zexi Li
7a4096c733 Merge pull request #6117 from swordqiu/automated-cherry-pick-of-#6116-upstream-release-3.2
Automated cherry pick of #6116: fix: export files complain duplicate field name error
2020-04-29 13:06:38 +08:00
Qiu Jian
eb67eb6346 fix: cloud-account-usage vpc/storage not accurate 2020-04-29 01:16:18 +08:00
Qiu Jian
ac4832ebf2 fix: export files complain duplicate field name error 2020-04-29 00:56:07 +08:00
yunion-ci-robot
4cdb7513a0 Merge pull request #6104 from ioito/automated-cherry-pick-of-#6103-upstream-release-3.2
Automated cherry pick of #6103: fix: 修复openstack存储同步问题
2020-04-28 23:41:35 +08:00
Qiu Jian
3713cfd967 fix: prevent policy violation 2020-04-28 23:37:26 +08:00
Qu Xuan
ff0e90a593 fix: 避免gcp创建创建文件夹失败 2020-04-28 20:50:31 +08:00
Zexi Li
e4f57eebe0 Merge pull request #6093 from wanyaoqi/automated-cherry-pick-of-#6092-upstream-release-3.2
Automated cherry pick of #6092: gpu host enable huge page
2020-04-28 16:05:23 +08:00
Qu Xuan
d6ae5042b0 fix: 修复openstack存储同步问题 2020-04-28 14:47:34 +08:00
Rain
76788bfa9d fix/as: Set ScalingPolicy's project as its ScalingGroup's project 2020-04-28 11:18:23 +08:00
Rain
f9fcb5e73f fix/autoscaling: Chang the format of CoolingTime 2020-04-28 11:18:23 +08:00
Qu Xuan
c3f13225cd fix: 普通用户可获取rds账号密码 2020-04-28 10:41:08 +08:00
Zexi Li
deac1a9ea4 Merge pull request #6086 from yousong/automated-cherry-pick-of-#6085-upstream-release-3.2
Automated cherry pick of #6085: region: cloudaccounts: re-validate only when proxysetting changed
2020-04-27 20:59:28 +08:00
Zexi Li
396f099098 Merge pull request #6091 from yousong/automated-cherry-pick-of-#6090-upstream-release-3.2
Automated cherry pick of #6090: vpcagent: tmp replacement for db.FindByIndex()
2020-04-27 20:52:19 +08:00
Yousong Zhou
6d9a5c2a70 vpcagent: ad-hoc replacement for db.FindByIndex() 2020-04-27 20:07:34 +08:00
wanyaoqi
41aceac04d gpu host enable huge page 2020-04-27 20:04:03 +08:00
Yousong Zhou
29dcd54f4a region: cloudaccounts: re-validate only when proxysetting changed 2020-04-27 17:36:29 +08:00
Zexi Li
f8a2f31373 Merge pull request #6076 from yousong/automated-cherry-pick-of-#6075-upstream-release-3.2
Automated cherry pick of #6075: vpcagent: work around nics of pending deleted guest
2020-04-27 17:19:02 +08:00
Zexi Li
95aa4a91fe Merge pull request #6080 from ioito/automated-cherry-pick-of-#6079-upstream-release-3.2
Automated cherry pick of #6079: fix: gcp fake region status
2020-04-27 17:17:46 +08:00
Zexi Li
1212dad5b3 Merge pull request #6078 from swordqiu/automated-cherry-pick-of-#6077-upstream-release-3.2
Automated cherry pick of #6077: fix: cloudaccount usage region/zone count not accurate
2020-04-27 17:17:06 +08:00
Zexi Li
36c64afcec Merge pull request #6026 from zhaoxiangchun/automated-cherry-pick-of-#6024-upstream-release-3.2
Automated cherry pick of #6024: lb 负载均衡优化建议
2020-04-27 17:16:18 +08:00
Zexi Li
f90bd32c61 Merge pull request #6082 from wanyaoqi/automated-cherry-pick-of-#6081-upstream-release-3.2
Automated cherry pick of #6081: fix exsi convert disk path
2020-04-27 17:14:34 +08:00
Yousong Zhou
12e9bcca0e vpcagent: models: allow guest to have multiple vpc nics 2020-04-27 17:13:44 +08:00
Yousong Zhou
95ada0fe55 vpcagent: work around nics of pending deleted guest 2020-04-27 17:13:44 +08:00
Zexi Li
933368b4b2 Merge pull request #6069 from ioito/automated-cherry-pick-of-#6068-upstream-release-3.2
Automated cherry pick of #6068: fix: gcp use project name for cloudprovider
2020-04-27 16:03:18 +08:00
wanyaoqi
16af1a4dc0 fix exsi convert disk path 2020-04-27 15:58:09 +08:00
Qu Xuan
06d47bba43 fix: gcp fake region status 2020-04-27 15:56:39 +08:00
Qiu Jian
eb401bd1f8 fix: cloudaccount usage region/zone count not accurate 2020-04-27 15:53:27 +08:00
yunion-ci-robot
81ea86885e Merge pull request #6074 from rainzm/automated-cherry-pick-of-#6073-upstream-release-3.2
Automated cherry pick of #6073: fix/notify: remove 'v2' from email verify url
2020-04-27 14:38:32 +08:00
Qu Xuan
fcb817033c fix: gcp use project name for cloudprovider 2020-04-27 14:16:25 +08:00
Zexi Li
dc43158b59 Merge pull request #6061 from wanyaoqi/automated-cherry-pick-of-#5853-upstream-release-3.2
Automated cherry pick of #5853: host health check
2020-04-27 12:55:14 +08:00
Zexi Li
ce1eef35bd Merge pull request #6063 from rainzm/automated-cherry-pick-of-#6062-upstream-release-3.2
Automated cherry pick of #6062: fix/notify: Add deadline for rpc client
2020-04-27 12:48:02 +08:00
yunion-ci-robot
a6e7042a09 Merge pull request #6045 from tb365/automated-cherry-pick-of-#6041-upstream-release-3.2
Automated cherry pick of #6041: yunionapi reset password fix
2020-04-27 12:12:32 +08:00
Rain
77d4a0ee77 fix/notify: remove 'v2' from email verify url 2020-04-27 11:33:41 +08:00
Zexi Li
5b00f25dc8 Merge pull request #6060 from swordqiu/automated-cherry-pick-of-#6059-upstream-release-3.2
Automated cherry pick of #6059: fix: cloud-account/provider usage not accurate
2020-04-27 10:55:16 +08:00
Zexi Li
587eade0a4 Merge pull request #6053 from wanyaoqi/automated-cherry-pick-of-#6052-upstream-release-3.2
Automated cherry pick of #6052: host fix cmt bound, minor fix
2020-04-27 10:54:55 +08:00
Zexi Li
dc8d122394 Merge pull request #6051 from swordqiu/automated-cherry-pick-of-#6050-upstream-release-3.2
Automated cherry pick of #6050: feature: make baremetal options managed by service config
2020-04-27 10:53:42 +08:00
Zexi Li
9bef06b319 Merge pull request #6055 from rainzm/automated-cherry-pick-of-#6054-upstream-release-3.2
Automated cherry pick of #6054: Fix/auto scaling & guest template
2020-04-27 10:52:12 +08:00
Rain
778b619a59 fix/notify: Add deadline for rpc client 2020-04-27 10:43:54 +08:00
wanyaoqi
342f963e6e host health check 2020-04-27 10:32:34 +08:00
Qiu Jian
1a61a8445f fix: cloud-account/provider usage not accurate 2020-04-27 02:13:18 +08:00
tangbin
3e722dd487 yunionapi reset password fix 2020-04-26 21:50:18 +08:00
Qiu Jian
6d263c3bd1 feature: make baremetal options managed by service config 2020-04-26 21:28:48 +08:00
Zexi Li
3d0e842825 Merge pull request #6046 from tb365/automated-cherry-pick-of-#6042-upstream-release-3.2
Automated cherry pick of #6042: huawei elb cookie timeout fix
2020-04-26 21:06:22 +08:00
Rain
5ed62e22d8 fix/autoscaling: Change Sunday as 7 from 0 2020-04-26 21:05:25 +08:00
Rain
a31c64e726 fix/guesttemplate: Change ResetPassword as true default 2020-04-26 21:05:25 +08:00
Rain
e6c9d50bf3 fix/autoscaling: fix some problem
1. ScalingGroupGuestManger.Query 默认添加 NotEqual(...)
2. ScalingGroup.Scale 扩大锁的粒度,更新冷却时间也挪到这里面
3. climc 中增加 scaling-group-show
2020-04-26 21:05:25 +08:00
Zexi Li
2116475c9f Merge pull request #6021 from swordqiu/automated-cherry-pick-of-#6020-upstream-release-3.2
Automated cherry pick of #6020: fix: opslog FetchOwnerId fail
2020-04-26 21:04:55 +08:00
Zexi Li
5f3009c157 Merge pull request #6023 from yousong/automated-cherry-pick-of-#6022-upstream-release-3.2
Automated cherry pick of #6022: vpcagent: fend off non-onecloud-vpc guest nics
2020-04-26 21:04:42 +08:00
wanyaoqi
6b4c215d66 host fix cmt bound, minor fix 2020-04-26 20:57:07 +08:00
Zexi Li
aab70ad1b8 Merge pull request #6044 from tb365/automated-cherry-pick-of-#6040-upstream-release-3.2
Automated cherry pick of #6040: ctyun subnet create bugfix
2020-04-26 20:31:29 +08:00
tangbin
d3d46e81b3 aws elb health check type fix 2020-04-26 20:09:51 +08:00
tangbin
3f7b410bc2 huawei elb cookie timeout fix 2020-04-26 20:09:51 +08:00
tangbin
ce25fc43d6 ctyun subnet create bugfix 2020-04-26 20:08:42 +08:00
Zexi Li
0b138da714 Merge pull request #6019 from swordqiu/automated-cherry-pick-of-#6013-upstream-release-3.2
Automated cherry pick of #6013: fix: network allocation according to sharing status
2020-04-26 19:59:18 +08:00
Zexi Li
bc44cce0e1 Merge pull request #6039 from wanyaoqi/automated-cherry-pick-of-#6038-upstream-release-3.2
Automated cherry pick of #6038: misc bugfix:
2020-04-26 19:57:46 +08:00
yunion-ci-robot
479665c3fe Merge pull request #6012 from swordqiu/automated-cherry-pick-of-#6008-upstream-release-3.2
Automated cherry pick of #6008: fix: GetOnPremiseNetworkOfIP should return underlay networks
2020-04-26 19:50:31 +08:00
yunion-ci-robot
cd25cc9b33 Merge pull request #6037 from swordqiu/automated-cherry-pick-of-#6036-upstream-release-3.2
Automated cherry pick of #6036: fix: proxysetting attributes should be domain-settable
2020-04-26 19:47:32 +08:00
Yousong Zhou
16815d078d guestnetworks: try allocation of mapped addr on sync 2020-04-26 19:03:24 +08:00
Yousong Zhou
78d39efde7 region: vpcs_mapped_address: fix locking 2020-04-26 19:03:24 +08:00
Yousong Zhou
f2a777c977 region: vpcs_mapped_address: alloc guestnic mapped addr backwards 2020-04-26 19:03:24 +08:00
Yousong Zhou
b8fcf37883 guests: simplify code 2020-04-26 19:03:24 +08:00
Yousong Zhou
47ad14ea4c hostman: options: pack up a Parse() func 2020-04-26 19:03:24 +08:00
Yousong Zhou
1234fb46c5 vpcagent: fend off non-onecloud-vpc guest nics 2020-04-26 19:03:24 +08:00
wanyaoqi
127ce54503 misc bugfix:
- fix get details hosts
- save image enable generate_name
- network auto set dns
- fix servers filter by disk
2020-04-26 18:35:33 +08:00
Zexi Li
82f4f070ab Merge pull request #6029 from ioito/automated-cherry-pick-of-#6028-upstream-release-3.2
Automated cherry pick of #6028: fix: json unmarshal
2020-04-26 18:19:18 +08:00
Qiu Jian
5c42d6eb88 make DIRECT proxysettting default share to system 2020-04-26 17:34:41 +08:00
Qiu Jian
fe213d8bf7 fix: proxysetting attributes should be domain-settable 2020-04-26 17:34:41 +08:00
Zexi Li
8e57a5af9c Merge pull request #6025 from swordqiu/automated-cherry-pick-of-#6006-upstream-release-3.2
Automated cherry pick of #6006: fix: resolve parameter name conflict in google cloud account create input
2020-04-26 16:36:16 +08:00
Qu Xuan
bbeda23bf9 fix: json unmarshal 2020-04-26 15:51:51 +08:00
zhaoxiangchun
383517c0df lb 负载均衡优化建议
通过判断是否包含后端服务器组和后端服务实例进行判断
2020-04-26 11:43:27 +08:00
Qiu Jian
f835b55e4f fix: resolve parameter name conflict in google cloud account create input 2020-04-26 11:43:01 +08:00
Qiu Jian
87b0e7f48a fix: opslog FetchOwnerId fail 2020-04-26 11:37:04 +08:00
Qiu Jian
ca13731a58 fix: network allocation according to sharing status 2020-04-26 00:37:38 +08:00
yunion-ci-robot
d9ec66362e Merge pull request #6015 from zexi/automated-cherry-pick-of-#6014-upstream-release-3.2
Automated cherry pick of #6014: scheduler: fix network predicate get wrong free port
2020-04-26 00:32:31 +08:00
Zexi Li
02ec462b5d scheduler: fix network predicate get wrong free port 2020-04-25 23:24:15 +08:00
Qiu Jian
92d1d1f3a8 fix: GetOnPremiseNetworkOfIP should return underlay networks 2020-04-25 16:31:29 +08:00
Zexi Li
822838035b Merge pull request #6005 from swordqiu/automated-cherry-pick-of-#6004-upstream-release-3.2
Automated cherry pick of #6004: fix: dns name pattern revisited
2020-04-25 10:44:45 +08:00
Qiu Jian
fa820b8740 fix: dns name pattern revisited 2020-04-24 21:55:43 +08:00
yunion-ci-robot
c573880cc7 Merge pull request #5912 from yousong/automated-cherry-pick-of-#5911-upstream-release-3.2
Automated cherry pick of #5911: apis: add ovn distgw const definitions
2020-04-24 21:08:30 +08:00
Zexi Li
6c0f61becd Merge pull request #6003 from swordqiu/automated-cherry-pick-of-#6002-upstream-release-3.2
Automated cherry pick of #6002: fix: code autogen issues
2020-04-24 20:33:22 +08:00
Zexi Li
44e8a0843a Merge pull request #6000 from rainzm/automated-cherry-pick-of-#5978-upstream-release-3.2
Automated cherry pick of #5978: fix/autoscaling: Use UserCred's session but AdminSession to request monitor
2020-04-24 20:30:26 +08:00
Qiu Jian
cbf1818e5c fix: code autogen issues 2020-04-24 20:20:48 +08:00
Rain
87506a8140 fix/autoscaling: Add 'scaling_group_id' for server-list result 2020-04-24 19:39:11 +08:00
Rain
e01292274d fix/autoscaling: Add status 'pending_remove' for ScalingGroup_Guest
The status 'pending_remove' means that the guest described by
ScalingGroup_Guest has been pendingdeleted or deleted.
2020-04-24 19:39:11 +08:00
Rain
e6e95f31a7 fix/autoscaling: Change ScalingPolicy as VirtualResource 2020-04-24 19:39:11 +08:00
Rain
b28c1a0b63 fix/autoscaling: Use UserCred's session but AdminSession to request monitor 2020-04-24 19:39:11 +08:00
Yousong Zhou
96dcd83996 hostman: let sdnagent do port cleanup
ovsutils.CleanHiddenPorts() is buggy in that it has no regards for
patch ports
2020-04-24 18:32:40 +08:00
Yousong Zhou
8eb6c01ecd hostman: options: add ovn_mapped_bridge 2020-04-24 18:32:40 +08:00
Yousong Zhou
2588613598 hostman: options: add allow_xx_vms 2020-04-24 18:32:40 +08:00
Yousong Zhou
417cc017d9 vpcagent: ovn: use network.GuestDns when available 2020-04-24 18:32:40 +08:00
Yousong Zhou
96b58d0455 vpcagent: ovn: manage static routes 2020-04-24 18:32:40 +08:00
Yousong Zhou
5185e93413 vpcagent: ovn: guestnetwork: guard against empty dhcpopt 2020-04-24 18:32:40 +08:00
Yousong Zhou
8cad301846 vpcagent: ovn: rename subnet, guestnetwork ovn obj names 2020-04-24 18:32:40 +08:00
Yousong Zhou
4cb1fbbd8f vpcagent: ovn: use cmp() when claimVpc 2020-04-24 18:32:40 +08:00
Yousong Zhou
08ef2c5cf6 vpcagent: ovn: use cmp() 2020-04-24 18:32:40 +08:00
Yousong Zhou
09d6446d05 vpcagent: add cmp() for search and pre-cleanup 2020-04-24 18:32:40 +08:00
Yousong Zhou
12a79243e0 vpcagent: ovn: make host ls when claimVpc 2020-04-24 18:32:40 +08:00
Yousong Zhou
f9a4085a8f vpcagent: models: include guest, host 2020-04-24 18:32:40 +08:00
Yousong Zhou
6fcfd5a755 guests: always include host_id in desc 2020-04-24 18:32:40 +08:00
Yousong Zhou
012bdbce48 guestnetworks: add vpc id and mapped ip addr info to nic desc 2020-04-24 18:32:40 +08:00
Yousong Zhou
b772f95dbf guestnetworks,hosts: add alloc mapped ip addr for use in onecloud vpc 2020-04-24 18:32:40 +08:00
Yousong Zhou
38ccf7e056 apis: add ovn distgw const definitions 2020-04-24 18:32:40 +08:00
Zexi Li
da5e1e3bfe Merge pull request #5991 from ioito/automated-cherry-pick-of-#5918-upstream-release-3.2
Automated cherry pick of #5918: fix: 修复华为云eneterprise-project-list异常问题
2020-04-24 18:18:08 +08:00
Zexi Li
faf92ef201 Merge pull request #5996 from yousong/automated-cherry-pick-of-#5995-upstream-release-3.2
Automated cherry pick of #5995: lblistener: fix updating lblistener without backend_group field
2020-04-24 18:17:18 +08:00
Zexi Li
91fbb50060 Merge pull request #5994 from yousong/automated-cherry-pick-of-#5993-upstream-release-3.2
Automated cherry pick of #5993: cloudcommon: allow create:"domain" tag
2020-04-24 14:45:51 +08:00
Yousong Zhou
ba1a51c771 lblistener: fix updating lblistener without backend_group field
Fixes dd01610931 ("lblistener: allow setting http/https listener
backendgroup to empty")
2020-04-24 14:22:43 +08:00
Yousong Zhou
26b74b0873 cloudcommon: allow create:"domain" tag
Fixes panic: model manager hosts: column manager_uri has invalid tag
create:"domain", expecting [required optional domain_required
domain_optional admin_required admin_optional]
2020-04-24 14:20:13 +08:00
Qu Xuan
cbd3480309 fix: 修复华为云eneterprise-project-list异常问题 2020-04-24 14:11:25 +08:00
Zexi Li
9176aa3169 Merge pull request #5986 from ioito/automated-cherry-pick-of-#5985-upstream-release-3.2
Automated cherry pick of #5985: fix: 避免rds任务交叉运行
2020-04-24 14:11:02 +08:00
Zexi Li
bb571f40f6 Merge pull request #5987 from ioito/automated-cherry-pick-of-#5881-upstream-release-3.2
Automated cherry pick of #5881: fix: 阿里云资源组同步
2020-04-24 14:10:09 +08:00
Zexi Li
89507e2576 Merge pull request #5989 from ioito/automated-cherry-pick-of-#5903-upstream-release-3.2
Automated cherry pick of #5903: fix: esxi disk project sync
2020-04-24 14:09:47 +08:00
Qu Xuan
5411324d3b fix: esxi disk project sync 2020-04-24 11:34:46 +08:00
Qu Xuan
9e22edbc08 VMware resource pool同步 2020-04-24 11:32:05 +08:00
Qu Xuan
99353d2676 fix: 华为企业项目映射同步 2020-04-24 11:32:05 +08:00
Qu Xuan
8735d4c737 fix: 阿里云资源组同步 2020-04-24 11:32:05 +08:00
Qu Xuan
8c01ba2165 fix: 避免rds任务交叉运行 2020-04-24 11:29:13 +08:00
Zexi Li
afbd1359f2 Merge pull request #5983 from swordqiu/automated-cherry-pick-of-#5982-upstream-release-3.2
Automated cherry pick of #5982: fix: domain resources' field tags should changed to domain tags
2020-04-24 11:15:16 +08:00
Zexi Li
de3e335774 Merge pull request #5972 from swordqiu/automated-cherry-pick-of-#5960-upstream-release-3.2
Automated cherry pick of #5960: fix: opslog create fail
2020-04-24 01:37:38 +08:00
Zexi Li
6ad425e395 Merge pull request #5976 from ioito/automated-cherry-pick-of-#5975-upstream-release-3.2
Automated cherry pick of #5975: fix: 添加cloudevent过滤参数
2020-04-24 01:36:19 +08:00
Zexi Li
b46bf918be Merge pull request #5980 from ioito/automated-cherry-pick-of-#5979-upstream-release-3.2
Automated cherry pick of #5979: fix: cloudevent使用代理优化
2020-04-24 01:35:24 +08:00
Qiu Jian
01a2195c20 fix: domain resources' field tags should changed to domain tags 2020-04-23 22:13:47 +08:00
yunion-ci-robot
87995e2533 Merge pull request #5974 from tb365/automated-cherry-pick-of-#5973-upstream-release-3.2
Automated cherry pick of #5973: aliyun create elb listener fix
2020-04-23 20:24:52 +08:00
Qu Xuan
3363f091b0 fix: cloudevent使用代理优化 2020-04-23 17:53:44 +08:00
Qu Xuan
d071aa1408 fix: 添加cloudevent过滤参数 2020-04-23 17:13:02 +08:00
tangbin
ee392ac8f3 aliyun create elb listener fix 2020-04-23 16:35:08 +08:00
yunion-ci-robot
ab151f0f29 Merge pull request #5938 from ioito/automated-cherry-pick-of-#5915-upstream-release-3.2
Automated cherry pick of #5915: fix: 自动创建项目
2020-04-23 13:40:53 +08:00
Qiu Jian
96ac8267ab fix: opslog create fail 2020-04-23 11:17:51 +08:00
Zexi Li
b65dc463bc Merge pull request #5970 from swordqiu/automated-cherry-pick-of-#5966-upstream-release-3.2
Automated cherry pick of #5966: supermicro redfish support
2020-04-23 09:56:43 +08:00
Qiu Jian
6059e14fe1 supermicro redfish support 2020-04-23 09:32:37 +08:00
Zexi Li
1abed1f794 Merge pull request #5929 from yousong/automated-cherry-pick-of-#5928-upstream-release-3.2
Automated cherry pick of #5928: lbagent: fend off unexpected resources just in case
2020-04-23 00:07:05 +08:00
Zexi Li
3775608d93 Merge pull request #5959 from wanyaoqi/automated-cherry-pick-of-#5958-upstream-release-3.2
Automated cherry pick of #5958: fix check ca cert
2020-04-23 00:05:50 +08:00
Zexi Li
dfa1f7c0bc Merge pull request #5946 from rainzm/automated-cherry-pick-of-#5944-upstream-release-3.2
Automated cherry pick of #5944: fix(region): Add implements about owner for ScalingPolicy and ScalingActivity
2020-04-23 00:04:23 +08:00
Zexi Li
05e88b971a Merge pull request #5962 from swordqiu/automated-cherry-pick-of-#5961-upstream-release-3.2
Automated cherry pick of #5961: fix: clean pending usage caused by pre-validate-create-data
2020-04-23 00:03:06 +08:00
Zexi Li
e2499d23b8 Merge pull request #5925 from swordqiu/automated-cherry-pick-of-#5921-upstream-release-3.2
Automated cherry pick of #5921: fix: FindAnonymousStructPoint needs input as a pointer to struct
2020-04-23 00:02:33 +08:00
Zexi Li
f867795011 Merge pull request #5920 from ioito/automated-cherry-pick-of-#5919-upstream-release-3.2
Automated cherry pick of #5919: fix: 非私有云同步region name
2020-04-22 23:59:36 +08:00
Zexi Li
1e0594c3d5 Merge pull request #5957 from wanyaoqi/automated-cherry-pick-of-#5956-upstream-release-3.2
Automated cherry pick of #5956: support sync disk snapshot status
2020-04-22 23:58:35 +08:00
Zexi Li
6426b8a031 Merge pull request #5933 from ioito/automated-cherry-pick-of-#5931-upstream-release-3.2
Automated cherry pick of #5931: fix: 转换非标准存储类型到lrs
2020-04-22 23:57:25 +08:00
Zexi Li
28937f42e8 Merge pull request #5947 from tb365/automated-cherry-pick-of-#5945-upstream-release-3.2
Automated cherry pick of #5945: huawei elb sync vpc
2020-04-22 23:55:33 +08:00
Zexi Li
124edf9790 Merge pull request #5955 from zexi/automated-cherry-pick-of-#5951-upstream-release-3.2
Automated cherry pick of #5951: baremetal: ensure power up add retries
2020-04-22 23:51:28 +08:00
Qiu Jian
f145b360d6 fix: clean pending usage caused by pre-validate-create-data 2020-04-22 23:40:28 +08:00
yunion-ci-robot
ca7be6fa79 Merge pull request #5942 from tb365/automated-cherry-pick-of-#5927-upstream-release-3.2
Automated cherry pick of #5927: remove aws invalid backendgroup
2020-04-22 23:05:06 +08:00
wanyaoqi
4cf299b0fd fix check ca cert 2020-04-22 22:07:32 +08:00
yunion-ci-robot
6af24165fe Merge pull request #5883 from wanyaoqi/automated-cherry-pick-of-#5879-upstream-release-3.2
Automated cherry pick of #5879: keystone store service cert
2020-04-22 22:06:51 +08:00
wanyaoqi
034b546b16 support sync disk snapshot status 2020-04-22 20:53:47 +08:00
Zexi Li
3b01b23f79 baremetal: ensure power up add retries 2020-04-22 20:41:47 +08:00
tangbin
9f83fefc11 huawei elb sync vpc 2020-04-22 20:30:17 +08:00
Rain
fb1a399f09 fix(region): Add implements about owner for ScalingPolicy and ScalingActivity 2020-04-22 20:28:31 +08:00
Qiu Jian
7bc617fdcd fix: lb FetchCustomizedColumes fixes 2020-04-22 20:20:50 +08:00
Qiu Jian
dc69693c3d fix: is_managed filter is not accurate 2020-04-22 20:20:50 +08:00
Qiu Jian
70804c5cde fix: FindAnonymousStructPoint needs input as a pointer to struct 2020-04-22 20:20:50 +08:00
tangbin
5a2e7ef414 remove aws invalid backendgroup 2020-04-22 19:01:59 +08:00
Qu Xuan
e908f8114d fix: 自动创建项目 2020-04-22 18:56:36 +08:00
Qu Xuan
7dee2a1569 fix: 转换非标准存储类型到lrs 2020-04-22 18:54:05 +08:00
Yousong Zhou
b5183ca9ab lbagent: fend off unexpected resources just in case
As resource we do not know whether they are bad, but surely we know
they are not what we expect
2020-04-22 18:50:30 +08:00
Qu Xuan
12df8c099f fix: 非私有云同步region name 2020-04-22 17:59:40 +08:00
Zexi Li
af2abeec78 Merge pull request #5917 from rainzm/automated-cherry-pick-of-#5916-upstream-release-3.2
Automated cherry pick of #5916: fix(host): No tag when tag's value is empty
2020-04-22 17:41:12 +08:00
Zexi Li
7ad3c66a84 Merge pull request #5914 from rainzm/automated-cherry-pick-of-#5913-upstream-release-3.2
Automated cherry pick of #5913: fix(region): Fix problems for Auto Scaling
2020-04-22 17:38:22 +08:00
Rain
05c42c1081 fix(host): No tag when tag's value is empty 2020-04-22 16:48:53 +08:00
wanyaoqi
bffb8eec65 keystone store service cert 2020-04-22 16:37:02 +08:00
Rain
0bf450a384 fix(region): Fix problems for Auto Scaling
1. ScalingPolicyManager and ScalingActivityManager override ResourceScope.
2. Change 'tenant' as 'project_id' before requesting to forcast.
2020-04-22 16:32:01 +08:00
Zexi Li
20d36f97ef Merge pull request #5901 from ioito/automated-cherry-pick-of-#5900-upstream-release-3.2
Automated cherry pick of #5900: fix: 尽量避免因代理问题导致google request异常
2020-04-22 15:12:14 +08:00
Zexi Li
cf158ea2db Merge pull request #5905 from swordqiu/automated-cherry-pick-of-#5904-upstream-release-3.2
Automated cherry pick of #5904: fix: do not share porject resource by default
2020-04-22 15:10:06 +08:00
Zexi Li
f7a4164243 Merge pull request #5907 from swordqiu/automated-cherry-pick-of-#5906-upstream-release-3.2
Automated cherry pick of #5906: fix: blacklist keystone reset admin password
2020-04-22 15:06:53 +08:00
Qiu Jian
41eb37d64e fix: blacklist keystone reset admin password 2020-04-22 15:02:21 +08:00
Qiu Jian
9ee568b7b8 fix: do not share porject resource by default 2020-04-22 11:52:27 +08:00
Qu Xuan
b0b58648a6 fix: 尽量避免因代理问题导致google request异常 2020-04-22 10:48:26 +08:00
Zexi Li
04879cbc2f Merge pull request #5894 from swordqiu/automated-cherry-pick-of-#5890-upstream-release-3.2
Automated cherry pick of #5890: fix: policy details should carry updated_at and created_at fields
2020-04-22 10:39:32 +08:00
Zexi Li
058dd98a6c Merge pull request #5899 from swordqiu/automated-cherry-pick-of-#5895-upstream-release-3.2
Automated cherry pick of #5895: fix: delete idp also delete users/groups in target domain
2020-04-22 10:34:13 +08:00
Zexi Li
d3caf76dd1 Merge pull request #5885 from ioito/automated-cherry-pick-of-#5884-upstream-release-3.2
Automated cherry pick of #5884: fix: 仅当变更domainId时才需要更新projectId
2020-04-22 10:32:33 +08:00
Qiu Jian
895f161417 fix: delete idp also delete users/groups in target domain 2020-04-22 10:17:58 +08:00
Qiu Jian
f0ab47058f fix: policy details should carry updated_at and created_at fields 2020-04-21 22:44:07 +08:00
Qu Xuan
db8783a51b fix: 仅当变更domainId时才需要更新projectId 2020-04-21 21:14:12 +08:00
Zexi Li
fd67654377 Merge pull request #5876 from swordqiu/automated-cherry-pick-of-#5875-upstream-release-3.2
Automated cherry pick of #5875: fix: list item export recode
2020-04-21 13:03:57 +08:00
Qiu Jian
0edfe50985 fix: list item export recode 2020-04-21 11:46:47 +08:00
Zexi Li
ec78017902 Merge pull request #5874 from swordqiu/automated-cherry-pick-of-#5873-upstream-release-3.2
Automated cherry pick of #5873: fix: cloudaccount is created as system shared by default
2020-04-21 10:27:51 +08:00
Zexi Li
aa01f99ec2 Merge pull request #5878 from swordqiu/automated-cherry-pick-of-#5877-upstream-release-3.2
Automated cherry pick of #5877: fix: adjust scope of isolated_device and reservedips
2020-04-21 10:25:00 +08:00
Qiu Jian
0427445167 fix: adjust scope of isolated_device and reservedips 2020-04-21 00:37:27 +08:00
Qiu Jian
2f6798036f fix: cloudaccount is created as system shared by default 2020-04-20 22:48:50 +08:00
Zexi Li
59b209bec3 Merge pull request #5857 from ioito/automated-cherry-pick-of-#5856-upstream-release-3.2
Automated cherry pick of #5856: fix: show sql connection error
2020-04-20 20:55:32 +08:00
Zexi Li
972cbb15c7 Merge pull request #5855 from rainzm/automated-cherry-pick-of-#5854-upstream-release-3.2
Automated cherry pick of #5854: fix(region): Add CustomizeListFilter for snapshotpolicy
2020-04-20 20:54:41 +08:00
Zexi Li
fae2a304d5 Merge pull request #5871 from rainzm/automated-cherry-pick-of-#5870-upstream-release-3.2
Automated cherry pick of #5870: fix(region): Fix problems for Auto Scaling
2020-04-20 20:53:39 +08:00
Zexi Li
0c2dfa3027 Merge pull request #5864 from zhaoxiangchun/automated-cherry-pick-of-#5863-upstream-release-3.2
Automated cherry pick of #5863: 优化邮件格式
2020-04-20 20:53:07 +08:00
Zexi Li
5272cd132f Merge pull request #5869 from tb365/automated-cherry-pick-of-#5865-upstream-release-3.2
Automated cherry pick of #5865: lblis & lbbg & lbr & lbb create add fetch owner id
2020-04-20 20:51:28 +08:00
zhaoxiangchun
bcce808981 优化邮件格式
1.邮件主题中的报警级别和web页面进行对应
2.向onecloud发送邮件时,通过html/template进行格式化
2020-04-20 20:35:30 +08:00
Rain
bccb6d10eb fix(region): Fix problems for Auto Scaling
1. 支持 scaling group 根据 enable 过滤
2. 周期策略返回开始时间
3. scaling controller 在创建机器之前先调用 scheduler 的 forcast 接口
4. 修复健康状态检查的一个问题
2020-04-20 19:42:51 +08:00
tangbin
c59c4e314a lblis & lbbg & lbr & lbb create add fetch owner id 2020-04-20 19:31:42 +08:00
Rain
6506002703 fix(region): Add CustomizeListFilter for snapshotpolicy 2020-04-20 17:34:25 +08:00
Qu Xuan
58e2d71f15 fix: show sql connection error 2020-04-20 16:49:32 +08:00
Zexi Li
76ee769eaf Merge pull request #5852 from rainzm/fix/auto_scaling4
fix(region): Fix some problem for Auto Scaling
2020-04-18 16:28:22 +08:00
Zexi Li
b48ee44462 Merge pull request #5850 from swordqiu/hotfix/qj-project-domain-name-revisit
fix: allow any character in project/domain name, giveup displayname
2020-04-18 16:27:35 +08:00
Qiu Jian
eef113b927 fix: allow any character in project/domain name, giveup displayname 2020-04-18 15:33:53 +08:00
Rain
03868d28b5 fix(region): Fix some problem for Auto Scaling
1. 主机组的 vpc 和 backendgroup 可以为空,修复了使用 brand
过滤出现的问题
2. ScalingPolicy 的执行,区分手动和非手动
3. 拒绝执行或者执行失败的 ScalingAvtivity 不刷新冷却时间
4. 告警策略增加 Cycle 的检查和默认值
5. 修复 monitor 的一个数组越界问题
2020-04-18 14:13:43 +08:00
Zexi Li
d4f2639eff Merge pull request #5845 from swordqiu/hotfix/qj-cloud-provider-sync-region-nopanic
fix: cloudproviderregion sync ignore panic
2020-04-18 12:01:36 +08:00
Zexi Li
bcb6ff032f Merge pull request #5844 from rainzm/fix/vmware_template
feat(esxi): Set MinRawSize as 0 for vmware template
2020-04-18 12:00:58 +08:00
Zexi Li
4830476680 Merge pull request #5840 from tb365/bugfix/tb-bugfix-0417
Bugfix/tb bugfix 0417
2020-04-18 11:59:24 +08:00
yunion-ci-robot
579ae25a38 Merge pull request #5839 from swordqiu/hotfix/qj-proxy-seting-minor-fix
fix: proxy setting input minor bugfix
2020-04-17 22:25:03 +08:00
Qiu Jian
242d59d7f5 fix: cloudproviderregion sync ignore panic 2020-04-17 21:59:43 +08:00
Rain
d73654aec3 feat(esxi): Set MinRawSize as 0 for vmware template 2020-04-17 20:47:55 +08:00
TangBin
3314b22390 huawei oss client bugfix 2020-04-17 20:33:21 +08:00
TangBin
b17fb2c94c huawei oss client fix & huawei client init fix 2020-04-17 19:50:46 +08:00
tangbin
ab59e425df aws elb create bugfix 2020-04-17 18:05:10 +08:00
Qiu Jian
2e45711ce2 fix: proxy setting input minor bugfix 2020-04-17 11:15:53 +08:00
Zexi Li
729f8f175f Merge pull request #5838 from swordqiu/hotfix/qj-decouple-climc-webconsole
fix: decouple climc and webconsole, make climc windows buildable
2020-04-17 10:28:35 +08:00
Qiu Jian
7eae94d0c1 fix: decouple climc and webconsole, make climc windows buildable 2020-04-17 01:15:29 +08:00
Zexi Li
470f7a3750 Merge pull request #5815 from ioito/hotfix/qx-cloudprovider-quota-details
fix: 订阅配额详情返回
2020-04-17 00:07:40 +08:00
Zexi Li
8f97c68063 Merge pull request #5832 from yousong/bugfix/yousong-vpcagent
cloudcommon: resourcebase: allow list fields "deleted"
2020-04-17 00:07:08 +08:00
Zexi Li
5212241fa3 Merge pull request #5817 from swordqiu/hotfix/qj-remove-notify-verify-email-url-path
fix: remove notify option VerifyEmailUrlPath
2020-04-17 00:06:43 +08:00
Zexi Li
adae2b8fe0 Merge pull request #5823 from ioito/hotfix/qx-rds-zone
fix: 添加rds zone name详情
2020-04-17 00:06:26 +08:00
Zexi Li
5a658a9bb8 Merge pull request #5818 from swordqiu/hotfix/qj-non-redfish-jnlp-console
fix: non-redfish baremetal might support jnlp console
2020-04-17 00:04:31 +08:00
Zexi Li
ce0e4ce0c6 Merge pull request #5825 from ioito/hotfix/qx-secgroup-dup-name
fix: 尽量避免secgroup重名问题
2020-04-17 00:02:25 +08:00
Zexi Li
743529edf9 Merge pull request #5831 from zhaoxiangchun/bugfix/zxc-mon-azure
修复azure获取不到监控数据的问题
2020-04-17 00:00:45 +08:00
Zexi Li
a533f0c1f9 Merge pull request #5836 from swordqiu/hotfix/qj-cas-project-name-regexp-issue
fix: cas auto create project fetch failure
2020-04-16 23:59:33 +08:00
Zexi Li
bafda507dd Merge pull request #5791 from swordqiu/hotfix/qj-server-list-provider-filter
Hotfix/qj server list provider filter
2020-04-16 23:58:53 +08:00
Qiu Jian
98fcd1df0f fix: deprecated-by => yunion:deprecated-by 2020-04-16 23:24:56 +08:00
Qiu Jian
5651805eb0 update vendor 2020-04-16 23:23:55 +08:00
Qiu Jian
cdd239eab5 fix: server-list filter by provider VMware returns no results and update
vendor
2020-04-16 23:23:24 +08:00
yunion-ci-robot
d0bf11a345 Merge pull request #5811 from yousong/bugfix/yousong-lbagent
region: lbagents: default to using public type endpoint of influxdb
2020-04-16 23:21:04 +08:00
Qiu Jian
d5b3ae9f98 fix: cas auto create project fetch failure 2020-04-16 22:19:10 +08:00
Yousong Zhou
fed8b386b8 cloudcommon: resourcebase: allow list fields "deleted"
Required for deriving deleted event

Fixes 3c9b368c43 ("feature: fix region list filters round 3")
2020-04-16 19:50:57 +08:00
zhaoxiangchun
8fe0865719 修复azure获取不到监控数据的问题 2020-04-16 18:47:48 +08:00
Zexi Li
b62f6feb74 Merge pull request #5805 from ioito/hotfix/qx-rds-sku-list-optimized
fix: 优化rds sku list查询速度
2020-04-16 18:01:05 +08:00
Zexi Li
8628c4113c Merge pull request #5711 from zhaoxiangchun/feature/zxc-suggest-mon
优化建议
2020-04-16 17:58:09 +08:00
Zexi Li
b16d545e84 Merge pull request #5824 from zexi/feature/add-swagger-site
makefile: add swagger-site
2020-04-16 16:41:30 +08:00
Qu Xuan
466e8ff8d7 fix: 尽量避免secgroup重名问题 2020-04-16 16:39:20 +08:00
Zexi Li
a7b7a97aac makefile: add swagger-site 2020-04-16 16:38:11 +08:00
zhaoxiangchun
89640938f0 新加diskunused的监控
1.suggestsys_const.go 中定义规则和资源列表中涉及到一些常量
2.suggestsysalart.go 1)新增一些列来匹配重用过滤;2)
进行删除相关操作时,通过task处理;
3.driverconfig.go 中包含目前driver中可以共用的函数
4.suggestsysruledrivers.go 调整driver interface 涉及的函数
2020-04-16 16:37:46 +08:00
Qu Xuan
db12cd0c3e fix: 添加rds zone name详情 2020-04-16 16:12:27 +08:00
Qiu Jian
309addc00a fix: non-redfish baremetal might support jnlp console 2020-04-15 23:35:12 +08:00
Qiu Jian
068ea26c8d fix: remove notify option VerifyEmailUrlPath 2020-04-15 23:02:59 +08:00
yunion-ci-robot
1284538005 Merge pull request #5804 from ioito/bugfix/qx-capability-storage-vcapability
fix: 修复vcapability计算错误
2020-04-15 20:33:01 +08:00
yunion-ci-robot
f7235c3316 Merge pull request #5810 from ioito/hotfix/qx-doc-joint-filter
fix: api文档描述更正
2020-04-15 20:26:02 +08:00
yunion-ci-robot
886b903407 Merge pull request #5816 from ioito/bugfix/qx-guest-auto-renew
fix: 设置自动续费任务异常
2020-04-15 20:21:57 +08:00
Qu Xuan
4cb3381c04 fix: 设置自动续费任务异常 2020-04-15 20:04:00 +08:00
Qu Xuan
bb87ac5771 fix: 订阅配额详情返回 2020-04-15 19:45:57 +08:00
yunion-ci-robot
16d179240d Merge pull request #5814 from tb365/feature/tb-add-host-node-sum-api
hosts add node count api
2020-04-15 19:24:54 +08:00
tangbin
673364ae48 hosts add node count api 2020-04-15 18:19:00 +08:00
Qu Xuan
cf533816b9 fix: 优化rds sku list查询速度 2020-04-15 18:01:18 +08:00
Yousong Zhou
6b0a97c6fb region: buckets: use identity_apis.EndpointInterfacePublic 2020-04-15 17:59:11 +08:00
Yousong Zhou
59b143f905 image: use identity_apis.EndpointInterfacePublic 2020-04-15 17:59:11 +08:00
Yousong Zhou
babb7ae742 region: lbagents: default to using public type endpoint of influxdb 2020-04-15 17:59:11 +08:00
Qu Xuan
345b8f3f9d fix: api文档描述更正 2020-04-15 17:35:08 +08:00
Qu Xuan
f0960b4b35 fix: 修复vcapability计算错误 2020-04-15 17:05:31 +08:00
yunion-ci-robot
78e24ccd25 Merge pull request #5799 from rainzm/fix/auto_scaling3
Fix & Feature: Auto Scaling
2020-04-15 11:02:54 +08:00
Zexi Li
54fb6fabc0 Merge pull request #5800 from swordqiu/hotfix/qj-share-misc-bugfixes-20200414
fix: misc bugs about resource sharing
2020-04-15 10:34:59 +08:00
Zexi Li
dee12f94be Merge pull request #5794 from rainzm/fix/disk_snapshotpolicies
fix(region): Fix the snapshotpolicy info in DiskDetails
2020-04-14 22:41:21 +08:00
Zexi Li
6ec5d96d8b Merge pull request #5798 from zexi/feature/k8s-3.2-cli
climc: support k8s service v3.2
2020-04-14 22:40:42 +08:00
Qiu Jian
021ef662bb fix: misc bugs about resource sharing 2020-04-14 22:23:23 +08:00
Rain
b75b636901 feat: Add tag 'vm_scaling_group_id' for vm's monitor record 2020-04-14 20:51:03 +08:00
Rain
fbfff507dd fix(region): Fix problems of AutoScaling
1. Add List dispaly Params 'brand' and List filter Params 'brand' for
GuestTemplate and ScalingGroup.
2. ScalingActivity's list elem should be sorted in order by StartTime and EndTime
3. HealthCheckCycle and HealthCheckGov in ScalingGroup work now
4. Detach all ScalingGroup when pending delete Guest
5. If the scaling behavior of the scaling group fails n(n is 3 for now) times consecutively,
the controller will automatically disablet this group
6. Timer will trigger ScalingPolicy throught request but func call
2020-04-14 20:50:07 +08:00
Zexi Li
0b62292cd4 climc: support k8s service v3.2 2020-04-14 17:26:29 +08:00
Rain
de329f4a80 fix(region): Fix the snapshotpolicy info in DiskDetails 2020-04-14 15:38:08 +08:00
zhaoxiangchun
a42e9c9462 优化建议功能-未使用的eip
1.通过cronman 调用eipUnused相关的driver,查询未使用的eip
2.依据对步骤1中的中的数据,对资源列表就行create、update、delete进行三种类型的操作

deal with comments

gencopyright

climc for SuggestSysRule and SuggestSysAlert

monitor: fix sysrule related models not generated

eip未使用的监控参数结构调整
2020-04-14 15:37:01 +08:00
Zexi Li
9ff7f481b7 Merge pull request #5793 from swordqiu/feature/qj-cas-user-join-project-revisited
feature: cas user auto join designated project
2020-04-14 15:14:19 +08:00
Qiu Jian
57898da085 fixes: idp driver validate config support 2020-04-14 14:51:28 +08:00
Qiu Jian
9c498b2924 feature: cas user auto join designated project 2020-04-14 11:04:47 +08:00
Zexi Li
dd1149ded3 Merge pull request #5789 from yousong/bugfix/yousong-proxysetting
proxysetting: fix validating delete condition
2020-04-14 10:45:38 +08:00
Zexi Li
65553b03d3 Merge pull request #5785 from ioito/hotfix/qx-aliyun-err-optimized
fix: 避免aliyun access key不可用时返回NotFoundError错误
2020-04-14 10:44:50 +08:00
Zexi Li
a93b52d86f Merge pull request #5792 from swordqiu/feature/qj-cas-user-join-project
feature: cas user auto join designated project
2020-04-14 10:44:07 +08:00
Qiu Jian
8300ac3c08 feature: cas user auto join designated project 2020-04-14 08:27:00 +08:00
Qu Xuan
18106dce3a fix: 避免aliyun access key不可用时返回NotFoundError错误 2020-04-13 18:47:30 +08:00
Yousong Zhou
51d633c956 proxysetting: fix validating delete condition 2020-04-13 16:29:12 +08:00
Zexi Li
266a3bd043 Merge pull request #5757 from swordqiu/hotfix/qj-sync-resource-share-state
fix: sync resource's share state
2020-04-13 15:44:57 +08:00
yunion-ci-robot
991dc11a56 Merge pull request #5756 from swordqiu/hotfix/qj-proxy-setting-fixes
fix: 1. allow share proxysetting 2. claim proxsetting as domain resource
2020-04-13 15:33:52 +08:00
Qiu Jian
0a9eb7bdbe fix: 1. allow share proxysetting 2. claim proxsetting as domain resources 2020-04-13 15:13:15 +08:00
Zexi Li
ed3a51084d Merge pull request #5769 from wanyaoqi/bugfix/wyq/fix-generate-network-config
fix host init generate network config
2020-04-13 11:28:43 +08:00
Zexi Li
a3f3a43a81 Merge pull request #5759 from tb365/bugfix/tb-bugfix-0409
aws elb bugfix
2020-04-13 11:27:18 +08:00
Zexi Li
7523c7445c Merge pull request #5784 from rainzm/fix/auto_scaling2
fix: Fix problems about health check in auto scaling
2020-04-13 11:18:40 +08:00
Zexi Li
7a4da75323 Merge pull request #5773 from rainzm/feat/send_feishu
feat(notify): Add TNotifyChannel 'feishu'
2020-04-13 11:18:16 +08:00
Rain
1266fb5a16 fix: Fix problems about health check in auto scaling
1. Detach Guest with ScalingGroup
2. Health Check
2020-04-13 10:35:56 +08:00
tangbin
5faf0b53ac aws elb bugfix 2020-04-13 10:25:14 +08:00
Zexi Li
3da821172e Merge pull request #5749 from ioito/feautre/qx-policy
fix: support azure policy
2020-04-13 09:50:13 +08:00
Zexi Li
961ce14436 Merge pull request #5758 from ioito/hotfix/qx-network-delete-optimized
fix: 允许删除有预留ip的network
2020-04-13 09:49:59 +08:00
Zexi Li
5c77d047a2 Merge pull request #5780 from swordqiu/hotfix/qj-host-jnlp-request
fix: host jnlp request fail for idrac9
2020-04-13 09:49:01 +08:00
Qiu Jian
c8ff16471d fix: host jnlp request fail for idrac9 2020-04-12 23:17:59 +08:00
yunion-ci-robot
e0b9daa51a Merge pull request #5774 from ioito/hotfix/qx-azure-rebuild-root
fix: azure重装系统删除不必要的参数
2020-04-12 00:32:45 +08:00
Qu Xuan
3ebcee07eb fix: 允许删除有预留ip的network 2020-04-11 15:49:27 +08:00
Qu Xuan
c6a474e036 fix: support azure policy 2020-04-11 15:43:06 +08:00
Qu Xuan
9aec3a2769 fix: azure重装系统删除不必要的参数 2020-04-11 15:08:45 +08:00
Zexi Li
ae05100dd9 Merge pull request #5745 from swordqiu/feature/qj-idrac9-support
feature: redfish support IDRAC9 baremetal
2020-04-11 13:12:01 +08:00
Zexi Li
379cf65e89 Merge pull request #5746 from yousong/bugfix/yousong-proxysetting
proxysetting: add class level test action
2020-04-11 13:07:02 +08:00
Zexi Li
4945867f6c Merge pull request #5765 from yousong/bugfix/yousong-lbagent
region: lbagent: vrrp.advert_int must be the same inside cluster
2020-04-11 13:04:25 +08:00
Qiu Jian
f6f1917e1f feature: redfish support IDRAC9 baremetal 2020-04-11 12:59:55 +08:00
Qiu Jian
b9a239bd65 fix: sync sharing state 2020-04-11 06:50:48 +08:00
Qiu Jian
7bfdc0dce4 fix: cascading sharing problems 2020-04-11 06:49:55 +08:00
Qiu Jian
8e0bfac771 Makefile do not complain describe no tags 2020-04-11 06:49:13 +08:00
Qiu Jian
60a3de9d73 feature: make bucket sharable virtual resource 2020-04-11 06:49:13 +08:00
Qiu Jian
7a6cdc6e02 fix: sync resource's share state 2020-04-11 06:49:13 +08:00
Rain
2a72f35138 feat(notify): Add TNotifyChannel 'feishu' 2020-04-10 20:14:48 +08:00
Zexi Li
524ccc5c5f Merge pull request #5772 from swordqiu/hotfix/qj-conflict-username-error
fix: keystone username duplicate error should return 409
2020-04-10 17:46:13 +08:00
Zexi Li
22a8e3065c Merge pull request #5722 from ioito/hotfix/qx-metadata-deleted-count
fix: 不再统计已删除资源的标签数量
2020-04-10 17:45:43 +08:00
Yousong Zhou
74ceaa70e4 region: lbagent: vrrp.advert_int must be the same inside cluster 2020-04-10 15:53:19 +08:00
Qiu Jian
2eb748fb02 fix: keystone username duplicate error should return 409 2020-04-10 15:51:24 +08:00
wanyaoqi
df7c2ae84e fix host init generate network config 2020-04-10 15:48:26 +08:00
Zexi Li
14accd7731 Merge pull request #5764 from zexi/hotfix/swagger-for-monitor
codegen: add monitor
2020-04-10 15:48:00 +08:00
Zexi Li
b4ebd80d4c codegen: add monitor 2020-04-10 15:45:30 +08:00
Zexi Li
4c85b2e77e Merge pull request #5748 from ioito/hotfix/qx-storage-list
fix: storage-list 返回关联的host信息
2020-04-10 14:10:29 +08:00
Zexi Li
a850d070d5 Merge pull request #5750 from ioito/hotfix/qx-region-capability-optimized
fix: 优化region-capability速度
2020-04-10 14:09:53 +08:00
Zexi Li
204dbcad10 Merge pull request #5752 from rainzm/fix/auto_scaling1
fix(region): Fix some problem about auto scaling
2020-04-10 14:05:49 +08:00
yunion-ci-robot
2f993f664f Merge pull request #5760 from wanyaoqi/bugfix/wyq/is-public-add-create-optional-tah
is public add create optional tag
2020-04-10 14:01:42 +08:00
wanyaoqi
3c588b8be5 is public add create optional tag 2020-04-10 13:45:07 +08:00
yunion-ci-robot
e05e167e9d Merge pull request #5751 from rainzm/fix/guest_image
fix(glance): Fix the return value after creating guest image
2020-04-10 11:44:41 +08:00
Qu Xuan
9c5b27ce45 fix: 优化region-capability速度 2020-04-10 11:05:08 +08:00
yunion-ci-robot
bdb2705ea6 Merge pull request #5740 from yousong/bugfix/yousong-misc
region: lbagents: fix returning error when glob has no match
2020-04-10 09:51:41 +08:00
Rain
45865571c9 fix(region): Fix some problem about auto scaling
1. Add status 'creating' for ScalingPolicy.
2. Do nothing when call ScalingGroup.Scale when ScalingGroup is disable.
3. Change the obj about GuestDetachScalingGroupTask from Guest to
ScalingGroup.
4. Fix some problem about ScalingTimer and add test for its Update func.
5. Fix problem when ScalingTimer work in controller.
2020-04-09 21:43:21 +08:00
Rain
99bb00948b fix(glance): Fix the return value after creating guest image 2020-04-09 21:10:59 +08:00
Yousong Zhou
80f2fb3f99 proxysetting: add class level test action 2020-04-09 17:33:24 +08:00
Qu Xuan
de48dfd6c1 fix: storage-list 返回关联的host信息 2020-04-09 16:23:01 +08:00
yunion-ci-robot
de4ef97fd6 Merge pull request #5744 from ioito/hotfix/qx-capabilit-optimized
fix: 简化公有云存储信息返回
2020-04-09 14:51:43 +08:00
Qu Xuan
e7ef75bb5d fix: 简化公有云存储信息返回 2020-04-09 11:30:52 +08:00
Yousong Zhou
20e9b050bf region: lbagents: fix returning error when glob has no match 2020-04-09 11:06:11 +08:00
yunion-ci-robot
81fcf57570 Merge pull request #5720 from rainzm/fix/display_server_template
fix(region): Fix some display params about guest template
2020-04-09 10:56:41 +08:00
Zexi Li
a232321c18 Merge pull request #5729 from ioito/hotfix/qx-typo
fix: typo
2020-04-09 10:21:20 +08:00
Zexi Li
1b89dc07a4 Merge pull request #5739 from wanyaoqi/bugfix/wyq/fix-deployer-sigtrap-function
deployer: os.exit replace return on sigtrap
2020-04-09 10:21:02 +08:00
Zexi Li
fbdafd4ae2 Merge pull request #5737 from rainzm/fix/auto_scaling
fix(region): Fix problems about Auto Scaling
2020-04-09 10:20:20 +08:00
wanyaoqi
92940dae11 os.exit replace return on sigtrap 2020-04-08 23:01:54 +08:00
yunion-ci-robot
b3eb5fdb5c Merge pull request #5738 from wanyaoqi/bugfix/wyq/fix-deployer-sigtrap-function
fix deployer sigtrap funciton
2020-04-08 22:16:40 +08:00
Rain
e0cc7bf04f fix(region): Check and update ScalingActivities when controller init 2020-04-08 22:11:34 +08:00
wanyaoqi
a20daa1c11 fix deployer sigtrap funciton 2020-04-08 22:05:57 +08:00
Zexi Li
5c156297c7 Merge pull request #5726 from tb365/bugfix/tb-bugfix-0408
huawei&qcloud&huawei elb bugfix
2020-04-08 21:53:39 +08:00
Zexi Li
19c72ec786 Merge pull request #5731 from wanyaoqi/feature/wyq/optimize-capabilities
optimize capabilities
2020-04-08 21:52:34 +08:00
Zexi Li
b274871f7c Merge pull request #5733 from swordqiu/hotfix/qj-idp-log-event
fix: idp log connected/disconnected event
2020-04-08 21:51:36 +08:00
Zexi Li
62d1c0729b Merge pull request #5732 from swordqiu/hotfix/qj-service-config-show-self-config
fix: service-config-show shows service's own config
2020-04-08 21:49:06 +08:00
Rain
09797e3abe fix(region): Fix problems about Auto Scaling
1. Alarm 的创建统一使用 AdminSession
2. ScalingTimer 的更新有些问题
3. 创建的主机名称不应该包含大写字母
4. ScalingTimer 的描述有些问题
5. 绑定LB的时候少传递了一个参数
2020-04-08 21:47:56 +08:00
Qiu Jian
528decfa90 fix: idp log connected/disconnected event 2020-04-08 21:23:55 +08:00
Qiu Jian
1a9c0efc2d fix: service-config-show shows service's own config 2020-04-08 20:39:25 +08:00
wanyaoqi
d80f0baf04 optimize capabilities 2020-04-08 20:30:03 +08:00
Qu Xuan
fe5f3a0ed5 fix: typo 2020-04-08 20:12:21 +08:00
Zexi Li
3860e635e6 Merge pull request #5723 from swordqiu/hotfix/qj-list-details-missing-shared-attributes
fix: shared resource list details missing shared projects/domains attributes
2020-04-08 19:46:19 +08:00
Zexi Li
0b6eda9bb1 Merge pull request #5724 from yousong/bugfix/yousong-misc
db_dispatcher: default action log for create & update
2020-04-08 19:45:21 +08:00
Zexi Li
e012f21d00 Merge pull request #5721 from swordqiu/hotfix/qj-update-model-api-gen-20200408
model api gen
2020-04-08 19:44:14 +08:00
tangbin
0c0980d3f9 huawei&qcloud&huawei elb bugfix 2020-04-08 19:32:51 +08:00
Yousong Zhou
2bc16d6f05 climc: networks: remove stale dns related commands 2020-04-08 18:04:57 +08:00
Qiu Jian
fbf9d635c7 fix: shared resource list details missing shared projects/domains
attributes
2020-04-08 18:02:27 +08:00
Yousong Zhou
a10443975a climc: fix router-route-xx command description 2020-04-08 18:02:00 +08:00
Yousong Zhou
cd17d74933 climc: add command proxysetting-test 2020-04-08 18:00:39 +08:00
Yousong Zhou
805b1e189f proxysetting: add test api 2020-04-08 18:00:37 +08:00
Yousong Zhou
d2aae60bd1 apis: proxy: fix sanitizing empty proxy string 2020-04-08 17:08:27 +08:00
Yousong Zhou
2afb0f1854 climc: proxysetting-update: fix update option 2020-04-08 17:05:10 +08:00
Yousong Zhou
884a052070 db_dispatcher: default action log for create & update 2020-04-08 17:00:28 +08:00
Qiu Jian
88e3bb6e87 model api gen 2020-04-08 16:44:02 +08:00
Yousong Zhou
7366815163 lbagents: deploy: deploy public type auth_url 2020-04-08 16:36:02 +08:00
Qu Xuan
86383b5a5d fix: 不再统计已删除资源的标签数量 2020-04-08 16:28:16 +08:00
Rain
cbe9f84b6b fix(region): Fix some display params about guest template
1. GuestTemplate's brand is from its hypervisor.
2. GuestTemplate's secgroups is a array which from input.secgroups.
2020-04-08 14:54:07 +08:00
Zexi Li
8b9688a711 Merge pull request #5718 from swordqiu/hotfix/qj-role-policy-filter-by-owner-missing
fix: role/policy missing FilterByOwner implementation
2020-04-08 12:12:13 +08:00
Qiu Jian
4a3749d3f9 fix: role/policy missing FilterByOwner implementation 2020-04-08 02:32:05 +08:00
Zexi Li
b4aa398cf6 Merge pull request #5714 from swordqiu/hotfix/qj-decouple-apigateway-userinfo-from-capabilities
fix: decouple getUserInfo at apigateway from capabilities call
2020-04-08 02:25:49 +08:00
Qiu Jian
f11a978209 fix: decouple getUserInfo at apigateway from capabilities call 2020-04-08 00:02:14 +08:00
Zexi Li
ec21477786 Merge pull request #5710 from yousong/bugfix/yousong-build
build: fix "mod" target on darwin
2020-04-07 21:47:28 +08:00
Zexi Li
e6b9eaea79 Merge pull request #5709 from swordqiu/feature/qj-change-owner-candiate-domains
feature: add API to retrieve resource's change owner candidate domains
2020-04-07 21:46:50 +08:00
Zexi Li
7df56bade8 Merge pull request #5713 from swordqiu/hotfix/qj-parameter-duplicate-error
fix: 1. parameter duplicate error due to missing name filter 2.infras_quota setKeys error
2020-04-07 21:46:23 +08:00
Qiu Jian
8fad5086f0 fix: 1. parameter duplicate error due to missing name filter 2.
infras_quota setKeys error
2020-04-07 20:54:18 +08:00
Yousong Zhou
81334744e8 build: fix "mod" target on darwin
We do not need to build and install binaries when updating modules

	go get: cannot install cross-compiled binaries when GOBIN is set
2020-04-07 18:29:50 +08:00
Qiu Jian
d99c4776e9 feature: add API to retrieve resource's change owner candidate domains 2020-04-07 16:22:51 +08:00
Zexi Li
9472050e20 Merge pull request #5708 from swordqiu/hotfix/qj-is-domain-field-default-value-not-consistent
fix: default value of is_domain field is not consistent between projects and domains
2020-04-07 14:34:04 +08:00
Qiu Jian
c758167e86 fix: default value of is_domain field is not consistent between
projects and domains
2020-04-07 14:14:54 +08:00
Zexi Li
dd0a52a696 Merge pull request #5698 from swordqiu/hotfix/qj-service-config-change-not-effective
fix: service config changes not effective
2020-04-07 10:38:04 +08:00
Zexi Li
ea629a53ae Merge pull request #5702 from swordqiu/hotfix/qj-remove-obsolete-policy-definitons
fix: remove obsolete policy definitions
2020-04-07 10:37:58 +08:00
Zexi Li
6b32911980 Merge pull request #5703 from swordqiu/hotfix/qj-domain-resource-usage
fix: add domain-level compute resource usage
2020-04-07 10:37:52 +08:00
Zexi Li
879e0229e9 Merge pull request #5704 from wanyaoqi/bugfix/wyq/fix-migrate-cache-cdrom
fix migrate cache cdrom
2020-04-07 10:37:04 +08:00
wanyaoqi
d44fa08ac3 fix migrate cache cdrom 2020-04-06 23:15:12 +08:00
Qiu Jian
5536dda530 fix: add domain-level compute resource usage 2020-04-06 18:07:14 +08:00
Qiu Jian
cada2d607c fix: remove obsolete policy definitions 2020-04-06 16:37:38 +08:00
Qiu Jian
adeda57082 fix: service config changes not effective 2020-04-06 15:43:29 +08:00
Zexi Li
1f1e6240f9 Merge pull request #5666 from rainzm/feature/auto_scaling
Feature/auto scaling
2020-04-05 13:54:11 +08:00
Zexi Li
c3ecbe04b6 Merge pull request #5694 from swordqiu/hotfix/qj-usage-misc-bugfix-20200404
fix: misc bugs in usage data
2020-04-05 13:51:45 +08:00
Qiu Jian
9b0e464c1f fix: misc bugs in usage data 2020-04-04 23:11:09 +08:00
Rain
d595a6a61f fix: fix based on reviewer's and tester's suggestions
1. ScalingPolicy's CoolingTime will limit ScalingPolicy with 'alarm' TriggerType
2. Health Check will remove instance that has been shut down for 3 minutes.
3. If TargetNumer > SG.MaxInstanceNumber or TargetNumber < SG.MinInstanceNumber,
ScalingActivity's status will be set to 'part_success'.
4. When you want to increase the DesireInstanceNumber that has reached the maximum value,
or decrease the this that has reached the minimum value, the ScalingActivity is rejected.
5. ScalingPolicy.PostCreate and PostDelete asynchronous execution.
2020-04-04 21:45:12 +08:00
Rain
d1c92c689a fix: fmt's format string 2020-04-04 21:10:57 +08:00
Rain
7eb38704d1 feature: Add instance health check 2020-04-04 21:10:57 +08:00
Rain
6d77bb11f6 update generated model 2020-04-04 21:10:57 +08:00
Rain
690fb0c95d Add copyright and format code 2020-04-04 21:10:57 +08:00
Rain
b9ed3c1bc2 feature: scaling_group support alert 2020-04-04 21:10:51 +08:00
Rain
01999fafa0 update generated model for compute 2020-04-04 21:03:36 +08:00
Rain
f0a8d60dbd feature: autoscaling controller finished 2020-04-04 21:03:28 +08:00
Zexi Li
c776ec6907 Merge pull request #5691 from rainzm/fix/esxi-cache-image
fix(region): Fix some question of CheckAndSetCacheImage.
2020-04-03 19:45:36 +08:00
Zexi Li
9e9dcac496 Merge pull request #5684 from swordqiu/feature/qj-domain-level-quotas
feature: domain resource quota
2020-04-03 19:44:56 +08:00
Zexi Li
4777636133 Merge pull request #5686 from ioito/hotfix/qx-rebuild-root-fix
fix: 修复重装系统时未能更换指定image问题
2020-04-03 19:43:11 +08:00
Zexi Li
b838aafef5 Merge pull request #5671 from ioito/hotfix/qx-huawei-rds-fix
fix: 华为云rds使用自身的存储类型
2020-04-03 19:41:33 +08:00
Zexi Li
4c381c2130 Merge pull request #5586 from wanyaoqi/feature/wyq/esxi2kvm-migration
feature: copy esxi guest to kvm
2020-04-03 19:41:03 +08:00
Rain
3e10786e0c fix(esxi): Fix some question of CheckAndSetCacheImage.
1. If there is storagecachedimage in this host's storagecache, use is
instead of another host's one.
2. SrcStorage should be found from srcHost instead host.
2020-04-03 14:30:31 +08:00
Zexi Li
86addd6e59 Merge pull request #5685 from swordqiu/feature/qj-idp-config-update
feature: identity provider improvements
2020-04-03 11:38:52 +08:00
Zexi Li
b6ae386c2f Merge pull request #5682 from ioito/hotfix/qx-zone-info
fix: typo
2020-04-03 11:36:05 +08:00
Qu Xuan
93ffbd47d9 fix: 修复重装系统时未能更换指定image问题 2020-04-03 11:31:06 +08:00
Qiu Jian
d1346771aa feature: domain resource quota 2020-04-03 02:03:55 +08:00
Qiu Jian
c1c9aa300d feature: identity provider improvements 2020-04-03 01:54:07 +08:00
Rain
e8eadc24ce feature: Controller and some api 2020-04-02 20:42:47 +08:00
Qu Xuan
cc28924fb5 fix: typo 2020-04-02 20:21:23 +08:00
Zexi Li
193d014034 Merge pull request #5676 from wanyaoqi/feature/wyq/host-set-hostname
host do not set hostname
2020-04-02 19:06:53 +08:00
yunion-ci-robot
1b333cd3e2 Merge pull request #5679 from ioito/hotfix/qx-typo
fix: typo
2020-04-02 18:54:51 +08:00
yunion-ci-robot
796ca2db8e Merge pull request #5667 from ioito/hotfix/qx-qcloud-sdk
fix: 修复更新qcloud sdk引出的不兼容问题
2020-04-02 18:51:50 +08:00
Qu Xuan
92604fca04 fix: typo 2020-04-02 18:25:23 +08:00
wanyaoqi
cf58fefea1 host do not set hostname 2020-04-02 18:09:55 +08:00
yunion-ci-robot
66de34794a Merge pull request #5669 from zexi/hotfix/k8s-remove-registrysecret
climc: k8s remove registrysecret create command
2020-04-02 18:07:50 +08:00
wanyaoqi
cc3a2da1a8 fix host-deployer base 2020-04-02 18:02:32 +08:00
wanyaoqi
92e88f2a97 - copy esxi guest to kvm 2020-04-02 17:56:50 +08:00
Qu Xuan
9e1693e443 fix: 华为云rds使用自身的存储类型 2020-04-02 17:28:22 +08:00
Zexi Li
5c55c98021 climc: k8s remove registrysecret create command 2020-04-02 16:29:29 +08:00
Qu Xuan
16b4ed0bda fix: 修复更新qcloud sdk引出的不兼容问题 2020-04-02 15:56:16 +08:00
Rain
a776f21762 feat(scaling): Auto scaling group 2020-04-02 14:57:37 +08:00
Zexi Li
8adc5ed0d9 Merge pull request #5631 from tb365/bugfix/tb-bugfix-0331
elb bugfix
2020-04-02 12:47:11 +08:00
Zexi Li
1a6d5975f8 Merge pull request #5662 from swordqiu/hotfix/qj-disk-nics-usage-exclude-pending-delete
fix: disk/nics usage should exclude those pending_deleted
2020-04-02 12:45:27 +08:00
Zexi Li
0fc5cd5a84 Merge pull request #5658 from swordqiu/feature/qj-keystone-too-many-failed-attempts
feature: keystone lock user returns ErrTooManyAttempts
2020-04-02 12:44:46 +08:00
Zexi Li
b68feeb8af Merge pull request #5652 from yousong/bugfix/yousong-multicloud-proxyfunc
Bugfix/yousong multicloud proxyfunc
2020-04-02 12:43:53 +08:00
Zexi Li
b32ddfa504 Merge pull request #5659 from wanyaoqi/bugfix/wyq/host-use-internal-endpoint
host session use internal endpoint
2020-04-02 12:43:06 +08:00
Qiu Jian
02671840b5 fix: disk/nics usage should exclude those pending_deleted 2020-04-02 01:40:38 +08:00
tangbin
0fa0e9b7f4 elb bugfix 2020-04-01 20:16:52 +08:00
wanyaoqi
f9490b5c56 host session use internal endpoint 2020-04-01 19:59:58 +08:00
Qiu Jian
faa507b3ad feature: keystone lock user returns ErrTooManyAttempts 2020-04-01 19:50:25 +08:00
Zexi Li
ff73856573 Merge pull request #5653 from swordqiu/hotfix/qj-allow-list-cloudprovider-by-default
fix: allow list cloudprovider by default
2020-04-01 18:13:30 +08:00
Yousong Zhou
e27638f8c2 proxysetting: validate create/update data 2020-04-01 18:11:54 +08:00
Yousong Zhou
54e2aee119 apis: proxy: add input validation 2020-04-01 18:11:54 +08:00
Yousong Zhou
43acd28952 cloudproviders: provide proxysetting id, name 2020-04-01 18:11:54 +08:00
Yousong Zhou
73fca07287 cloudaccount: provide proxysetting details 2020-04-01 18:11:53 +08:00
Yousong Zhou
aa36903031 proxysetting: forbid deletion of DIRECT setting 2020-04-01 18:11:53 +08:00
Zexi Li
ffdaa413f3 Merge pull request #5648 from swordqiu/hotfix/qj-cancel-quota-no-save-usage
fix: cancel pending usage might not need to update usage
2020-04-01 18:05:41 +08:00
Qiu Jian
ae7cf00283 fix: allow list cloudprovider by default 2020-04-01 17:28:07 +08:00
Qiu Jian
fbb5b9f07f fix: cancel pending usage might not need to update usage 2020-04-01 16:42:32 +08:00
Zexi Li
b074f4f121 Merge pull request #5646 from ioito/hotfix/qx-bucket-status
修复: 默认存在的bucket状态为ready
2020-04-01 16:41:19 +08:00
Qu Xuan
8a6c8b9d5f 修复: 默认存在的bucket状态为ready 2020-04-01 15:17:06 +08:00
Zexi Li
96615f6eaa Merge pull request #5644 from zexi/feature/alert-pause
monitor: add paused api
2020-04-01 13:45:39 +08:00
Zexi Li
395f2af41d monitor: add paused api 2020-04-01 13:18:37 +08:00
Zexi Li
edd328d4ac Merge pull request #5634 from yousong/bugfix/yousong-multicloud-proxyfunc
cloudcommon: proxysetting: make it infra resource
2020-04-01 10:24:13 +08:00
Zexi Li
a7a18b74e5 Merge pull request #5640 from swordqiu/hotfix/qj-apigateway-upgrade-cause-restart
fix: changes to request_work_count cause apigateway restart
2020-04-01 10:23:18 +08:00
Qiu Jian
81242c1025 fix: changes to request_work_count cause apigateway restart 2020-04-01 10:16:03 +08:00
Zexi Li
d877e4d09b Merge pull request #5632 from zexi/feature/monitor-alert-params
monitor: support support extra params in alertnotification joint object
2020-03-31 18:36:01 +08:00
Yousong Zhou
b22e77b1f4 cloudcommon: proxysetting: make it infra resource 2020-03-31 18:22:18 +08:00
Zexi Li
1db65092ef monitor: support support extra params in alertnotification joint object 2020-03-31 17:54:44 +08:00
Zexi Li
4a796f066a Merge pull request #5629 from zexi/feature/monitor-config-helper
monitor: add alert config helper
2020-03-31 16:45:38 +08:00
Zexi Li
6016eee0c6 Merge pull request #5624 from wanyaoqi/feature/wyq/guest-detach-networks
misc bugfix
2020-03-31 16:24:36 +08:00
Zexi Li
56976a8b0d monitor: add alert config helper 2020-03-31 16:17:12 +08:00
yunion-ci-robot
967203d7cb Merge pull request #5623 from swordqiu/hotfix/qj-worker-channel-blocking
fix: worker may block by worker_chan
2020-03-31 10:01:14 +08:00
wanyaoqi
4c63739221 vm online detach network 2020-03-30 21:26:10 +08:00
wanyaoqi
5f3b4e6198 - add check disk is enable delete
- vm enable detach network on running state
- add menu on boot from iso
- misc fix
2020-03-30 21:17:18 +08:00
Zexi Li
1f5bf13ba1 Merge pull request #5590 from ioito/feature/qx-public-cloud-quota
fix: 支持同步云平台配额信息
2020-03-30 20:02:54 +08:00
Zexi Li
88ffe53ce8 Merge pull request #5615 from swordqiu/hotfix/qj-service-config-change-detection
fix: refine service-config change detection
2020-03-30 20:02:26 +08:00
Zexi Li
7f54e1f04b Merge pull request #5614 from swordqiu/feature/qj-reorgnize-cloudcommon-policy
feature: recode cloudcommon policy default/resource codes
2020-03-30 20:00:59 +08:00
Qiu Jian
09bc348c66 feature: recode cloudcommon policy default/resource codes 2020-03-30 19:35:55 +08:00
Qiu Jian
c29f4011e6 fix: worker may block by worker_chan 2020-03-30 19:25:00 +08:00
Zexi Li
6d31c95b71 Merge pull request #5616 from swordqiu/hotfix/qj-increase-apigateway-default-worker-count
fix: increase apigateway default worker count to 32
2020-03-30 19:22:33 +08:00
yunion-ci-robot
39e9bec655 Merge pull request #5619 from swordqiu/hotfix/qj-webconsole-api-server-option-common
feature: make webconsole's api_server option common
2020-03-30 17:08:44 +08:00
Qiu Jian
3b5d34ccd8 fix: refine service-config change detection 2020-03-30 16:03:21 +08:00
Qiu Jian
5e6070d809 feature: make webconsole's api_server option common 2020-03-30 15:29:58 +08:00
yunion-ci-robot
d8ca68b35e Merge pull request #5617 from zexi/feature/docker-image-region-dns
action: add region dns image
2020-03-30 15:09:42 +08:00
Zexi Li
14c1f1e5bd action: add region dns image 2020-03-30 14:49:03 +08:00
Qu Xuan
8723164a1d fix: 支持同步云平台配额信息 2020-03-30 10:24:05 +08:00
Qiu Jian
26bd5a2487 fix: increase apigateway default worker count to 32 2020-03-30 09:39:29 +08:00
Zexi Li
b5455ece19 Merge pull request #5613 from swordqiu/hotfix/qj-capability-domain-filter-update
fix: capability domain filter should be updated for domainized system resources
2020-03-29 12:35:21 +08:00
Qiu Jian
904ce90586 fix: capability domain filter should be updated for domainized system
resources
2020-03-28 11:05:51 +08:00
yunion-ci-robot
d239f99282 Merge pull request #5600 from ioito/hotfix/qx-guest-enhance
fix: 支持publicip to eip转换
2020-03-28 10:35:38 +08:00
Zexi Li
f5a2f5458b Merge pull request #5606 from yousong/bugfix/yousong-lbagent-systemd
region: lbagent: move systemd service unit file to system dir
2020-03-28 10:29:10 +08:00
yunion-ci-robot
ab9b32e734 Merge pull request #5605 from ioito/hotfix/qx-capability-optimized
fix: 简化capability 接口中storage数据
2020-03-28 09:49:39 +08:00
yunion-ci-robot
acaa70c7e8 Merge pull request #5608 from swordqiu/hotfix/qj-add-loadbalancer-cluster-default-list
fix: allow list loadbalancer cluster by default
2020-03-28 09:09:38 +08:00
Qiu Jian
944c90fcff fix: allow list loadbalancer cluster by default 2020-03-28 08:53:59 +08:00
Qu Xuan
7f47e88267 fix: 实现设置自动续费功能 2020-03-27 19:30:06 +08:00
Yousong Zhou
5c2b91b9fa region: lbagent: move systemd service unit file to system dir 2020-03-27 15:30:42 +08:00
Qu Xuan
c7c52041a5 fix: 支持publicip to eip转换 2020-03-27 15:22:40 +08:00
yunion-ci-robot
39b5dadab4 Merge pull request #5587 from swordqiu/feature/qj-system-resource-domainize
Feature/qj system resource domainize
2020-03-27 14:50:36 +08:00
Qu Xuan
d742b25de9 fix: 简化capability 接口中storage数据 2020-03-27 11:20:00 +08:00
Qiu Jian
d663fcea78 fix: auto gen api error 2020-03-27 01:20:31 +08:00
Qiu Jian
2536686a95 fix: update generated model api 2020-03-27 01:20:31 +08:00
Qiu Jian
859177c85e fix: replace deprecated fields 2020-03-27 01:20:30 +08:00
Qiu Jian
329edbae22 minor fixes 2020-03-27 01:20:30 +08:00
Qiu Jian
d0e4cec332 update vendor 2020-03-27 01:20:30 +08:00
Qiu Jian
8b1b6b94f9 fix: update cloudaccount update proxy setting 2020-03-27 01:20:30 +08:00
Qiu Jian
a687d49181 fix: add scheduler support 2020-03-27 01:20:30 +08:00
Qiu Jian
193ca8e4ac fix: hide host prepare fail reason 2020-03-27 01:20:30 +08:00
Qiu Jian
258db2cb48 fix updates 2020-03-27 01:20:29 +08:00
Qiu Jian
7072f80442 fix: account share_mode bugs 2020-03-27 01:20:29 +08:00
Qiu Jian
732dcdcb61 feature: system resource domainize 2020-03-27 01:20:29 +08:00
yunion-ci-robot
50ea3b8eda Merge pull request #5599 from ioito/hotfix/qx-account-detail
fix: 避免cloud-provider-show brand返回异常
2020-03-26 22:46:36 +08:00
Zexi Li
545d021ce7 Merge pull request #5601 from ioito/hotfix/qx-gcp-prepaid-not-support
fix: 修正gcp不支持预付费资源
2020-03-26 20:32:59 +08:00
Qu Xuan
8a87f86199 fix: 修正gcp不支持预付费资源 2020-03-26 20:00:02 +08:00
Zexi Li
77280b0810 Merge pull request #5575 from ioito/hotfix/qx-rds-sku-filter
fix: rds sku 支持zone过滤
2020-03-26 17:37:25 +08:00
Qu Xuan
f96605f7a9 fix: 避免cloud-provider-show brand返回异常 2020-03-26 16:34:18 +08:00
Zexi Li
29238189a1 Merge pull request #5589 from bistuzx/feature/bill_tasks
add bill tasks
2020-03-26 10:40:49 +08:00
Zexi Li
8188200aec Merge pull request #5588 from yousong/bugfix/yousong-multicloud-proxyfunc
Bugfix/yousong multicloud proxyfunc
2020-03-26 10:34:26 +08:00
张旭
476144f346 add bill task example 2020-03-25 17:15:32 +08:00
张旭
8663387be5 add bill tasks 2020-03-25 15:54:16 +08:00
Yousong Zhou
df25370799 climc: add cloud-account-update-google 2020-03-25 12:30:11 +08:00
Yousong Zhou
a378c94b27 cloudaccounts: fix checking update data 2020-03-25 12:01:04 +08:00
Yousong Zhou
a39bc093ba mcclient: cloudaccounts: allow updating proxysetting 2020-03-25 11:59:05 +08:00
Zexi Li
84083c300b Merge pull request #5554 from yousong/feature/yousong-multicloud-proxyfunc
Feature/yousong multicloud proxyfunc
2020-03-25 11:12:05 +08:00
yunion-ci-robot
af929fe349 Merge pull request #5585 from ioito/hotfix/qx-lb-manager-id
fxi: 修复lb 有些有vpc_id为空的问题
2020-03-24 22:59:33 +08:00
yunion-ci-robot
e0b1b19d6b Merge pull request #5560 from ioito/hotfix/qx-metdata-update
fix: 避免update标签失效问题
2020-03-24 21:14:33 +08:00
Qu Xuan
b0537773cd fxi: 修复lb 有些有vpc_id为空的问题 2020-03-24 20:53:52 +08:00
Qu Xuan
391018c8b4 fix: 避免update标签失效问题 2020-03-24 10:28:45 +08:00
Zexi Li
20810d4fab Merge pull request #5581 from yousong/bugfix/yousong-httperrors
httperrors: fix passing "params" argument
2020-03-23 21:13:59 +08:00
Yousong Zhou
a6b8477785 httperrors: fix passing "params" argument 2020-03-23 16:40:31 +08:00
Yousong Zhou
1d5d2276d6 webconsole: typo fix accessable -> accessible 2020-03-23 16:35:04 +08:00
Zexi Li
f7a5dd2032 Merge pull request #5561 from ioito/hotfix/qx-sync-status
fix: 统一后端同步状态字段-> sync_status
2020-03-23 11:26:57 +08:00
Qu Xuan
8f3d0cee00 fix: 统一后端同步状态字段-> sync_status 2020-03-23 10:59:54 +08:00
Zexi Li
2b6dc9d4ff Merge pull request #5569 from yousong/bugfix/yousong-build
build: cache-aware docker-xxx-build
2020-03-23 10:52:22 +08:00
Zexi Li
979407decd Merge pull request #5577 from zexi/feature/k8s-csi-storageclass
climc: k8s storageclass support
2020-03-23 10:48:10 +08:00
Zexi Li
77b11af608 climc: k8s storageclass support 2020-03-23 10:36:31 +08:00
Zexi Li
d3746bb6ca Merge pull request #5576 from yousong/bugfix/yousong-pr-template
.github: 添加pr检查点checklist
2020-03-23 10:24:28 +08:00
Yousong Zhou
7cf7960b4a .github: 添加pr检查点checklist 2020-03-23 10:23:00 +08:00
Zexi Li
3c81f6749a Merge pull request #5564 from ioito/hotfix/qx-metadata-list-optimized
fix: 优化标签列表查询速度
2020-03-23 09:42:51 +08:00
Zexi Li
031b3caa7e Merge pull request #5553 from ioito/hotfix/qx-storage-capability
fix: capability接口返回storage详情
2020-03-23 09:42:13 +08:00
Yousong Zhou
64001045c3 mcclient: add proxysettings manager 2020-03-22 19:36:46 +08:00
Yousong Zhou
d7d16a1f37 cloudevent: use cloudprovider proxysetting 2020-03-22 19:36:46 +08:00
Yousong Zhou
67fc22fc13 cloudproviders: show proxysettings in details 2020-03-22 19:36:46 +08:00
Yousong Zhou
342dfdcfba region: refer to proxySetting 2020-03-22 19:36:46 +08:00
Yousong Zhou
19b46891f0 cloudcommon: proxysetting: referrerMen 2020-03-22 19:36:45 +08:00
Yousong Zhou
881f0fb6dd cloudevent: add proxy.ProxySettingManager 2020-03-22 19:36:45 +08:00
Yousong Zhou
a310005f16 s3gateway: use cpcfg.ProxyFunc 2020-03-22 19:36:45 +08:00
Yousong Zhou
7d9cc08f40 region: add cloudaccount.ProxySettingId 2020-03-22 19:36:45 +08:00
Yousong Zhou
6ac9e64ebb cloudprovider: add TestProxyFunc 2020-03-22 19:36:45 +08:00
Yousong Zhou
e30840dd42 objectstore: use cpcfg.ProxyFunc 2020-03-22 19:36:45 +08:00
Yousong Zhou
03987e8f78 objectstore: use ObjectStoreClientConfig 2020-03-22 19:36:45 +08:00
Yousong Zhou
4dca8bf4c9 esxi: use cpcfg.ProxyFunc 2020-03-22 19:36:45 +08:00
Yousong Zhou
10e08c1c46 esxi: use ESXiClientConfig 2020-03-22 19:36:45 +08:00
Yousong Zhou
ac5847a992 openstack: use cpcfg.ProxyFunc 2020-03-22 19:36:45 +08:00
Yousong Zhou
583f770fcd mcclient: add SetHttpTransportProxyFunc() 2020-03-22 19:36:45 +08:00
Yousong Zhou
0ff96ace44 openstack: use OpenstackClientConfig 2020-03-22 19:36:45 +08:00
Yousong Zhou
a3f9e185ac zstack: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
fb54124eff zstack: use ZstackClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
c496092faa zstack: remove sessionID field 2020-03-22 19:36:44 +08:00
Yousong Zhou
ce34f4b370 ucloud: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
bd228b2e5b ucloud: use UcloudClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
e277ed65ad qcloud: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
cd24b380ae qcloud: use QcloudClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
c6e90f32ff vendor: update github.com/tencentcloud/tencentcloud-sdk-go 2020-03-22 19:36:44 +08:00
Yousong Zhou
d5e664edf5 huawei: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
b59208b24e huawei: client: add SBaseManager.SetHttpClient() 2020-03-22 19:36:44 +08:00
Yousong Zhou
604b58204e huawei: use HuaweiClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
41deb33849 azure: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
56b707b669 azure: use AzureClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
da0b043317 aws: use cpcfg.ProxyFunc 2020-03-22 19:36:44 +08:00
Yousong Zhou
e96cebbd71 aws: use AwsClientConfig 2020-03-22 19:36:44 +08:00
Yousong Zhou
97cce7ca04 ctyun: use cpcfg.ProxyFunc 2020-03-22 19:36:43 +08:00
Yousong Zhou
9ab4043088 ctyun: use CtyunClientConfig 2020-03-22 19:36:43 +08:00
Yousong Zhou
b3bd866239 google: use cpcfg.ProxyFunc 2020-03-22 19:36:43 +08:00
Yousong Zhou
554e2e88dc google: use GoogleClientConfig 2020-03-22 19:36:43 +08:00
Yousong Zhou
ce0e9dd689 aliyun: use cpcfg.ProxyFunc 2020-03-22 19:36:43 +08:00
Yousong Zhou
361cbd7454 aliyun clientcfg 2020-03-22 19:36:43 +08:00
Yousong Zhou
55eb57fd60 httputils: add SetClientProxyFunc(client, proxyFunc) 2020-03-22 19:36:43 +08:00
Yousong Zhou
944e57e572 cloudprovider: use ProviderConfig 2020-03-22 19:36:43 +08:00
Yousong Zhou
1e08ef5441 cloudcommon: add ProxySetting 2020-03-22 19:36:43 +08:00
Yousong Zhou
b425cd7194 cloudproviders: fix getting account details 2020-03-22 18:12:24 +08:00
Qu Xuan
21f7e66bb9 fix: rds sku 支持zone过滤 2020-03-20 20:56:18 +08:00
Zexi Li
6ef40ae0b1 Merge pull request #5567 from tb365/bugfix/tb-ctyun-bugfix-0318
ctyun bugfix
2020-03-20 19:39:45 +08:00
Zexi Li
f24f4864f1 Merge pull request #5571 from wanyaoqi/hotfix/wyq/guest-add-metadata-cpu-mode
guest add metadata cpu mode
2020-03-20 19:38:24 +08:00
yunion-ci-robot
4ccc2d5564 Merge pull request #5478 from ioito/feature/qx-gcp-rds
feature: gcp rds sync
2020-03-20 18:31:21 +08:00
Qu Xuan
3b0a437a12 feature: gcp rds sync 2020-03-20 18:05:57 +08:00
wanyaoqi
f4d86b4fb2 guest add metadata cpu mode
- live migrate if guest cpu mode is qemu, do not check host cpu mode
- disk name generation replace '_' to '-'
2020-03-20 15:04:46 +08:00
Zexi Li
2bb601f3ce Merge pull request #5563 from rainzm/fix/list_notification
fix & feat(notify): Notification and template
2020-03-20 14:44:44 +08:00
Yousong Zhou
68861d9711 scripts: remove host_find_libraries.sh
Not needed after we switch to using native alpine image
2020-03-20 14:40:59 +08:00
Yousong Zhou
8a4c20c088 build: cache-aware docker-xxx-build 2020-03-20 14:40:59 +08:00
tangbin
afcfdce7dc ctyun bugfix 2020-03-20 10:26:26 +08:00
yunion-ci-robot
64698288ec Merge pull request #5565 from ioito/bugfix/qx-secgroup-rule-list
fix: 修复secgrouprule-list 500错误
2020-03-19 20:04:19 +08:00
Qu Xuan
28b838e00f fix: 优化标签列表查询速度 2020-03-19 19:50:44 +08:00
Qu Xuan
4ea96848cb fix: 修复secgrouprule-list 500错误 2020-03-19 19:11:52 +08:00
Rain
5fdf9846f7 feat: Unified template 2020-03-19 15:57:48 +08:00
Rain
006ac48d6e fix(notify): Compatible with changes about list in schema 2020-03-19 14:23:58 +08:00
Zexi Li
78688a8ba2 Merge pull request #5550 from tb365/feature/tb-policy-AppendDefaultPolicies
auth policy append default policies
2020-03-19 10:08:49 +08:00
Zexi Li
bb3f66065a Merge pull request #5555 from rainzm/feat/notify_v1.0.0
feat(notify): Compatibility and repair
2020-03-19 10:03:34 +08:00
yunion-ci-robot
d982b2d2f5 Merge pull request #5490 from ioito/hotfix/qx-check-create-data
fix: class action 统一使用keywords包裹
2020-03-19 08:44:20 +08:00
Rain
0cb0ba6f1b feat(notify): Compatibility and repair 2020-03-18 20:51:20 +08:00
Zexi Li
0c995ce925 Merge pull request #5535 from ioito/hotfix/qx-unified-syncstatus
unified syncstatus action
2020-03-18 20:12:50 +08:00
Qu Xuan
4fbb12b527 fix: capability接口返回storage详情 2020-03-18 20:01:51 +08:00
Qu Xuan
691ecc3a9a unified syncstatus action 2020-03-18 16:30:20 +08:00
TangBin
a93358a932 get spec return jsonclient err 2020-03-18 15:46:58 +08:00
Zexi Li
f03993286c Merge pull request #5552 from swordqiu/hotfix/qj-order-by-not-effective
fix: list order by not effective
2020-03-18 13:48:44 +08:00
TangBin
a1e3ea9095 auth policy append default policies 2020-03-18 12:02:31 +08:00
Qiu Jian
300f399f43 fix: list order by not effective 2020-03-18 11:21:44 +08:00
Zexi Li
98af93bea3 Merge pull request #5545 from swordqiu/hotfix/qj-policy-fetch-not-retry
fix: policy fetcher not retry after initial failure
2020-03-18 10:52:44 +08:00
Qu Xuan
8b468e3ad3 fix: class action 统一使用keywords包裹 2020-03-17 18:43:11 +08:00
yunion-ci-robot
0d7ad9e175 Merge pull request #5540 from ioito/hotfix/qx-account-delete
fix: 修复删除账号失败问题
2020-03-17 18:39:15 +08:00
Qiu Jian
e915d7d55b fix: policy fetcher not retry after initial failure 2020-03-17 18:27:17 +08:00
yunion-ci-robot
f82a4d20c1 Merge pull request #5543 from ioito/hotfix/qx-extra-detail
fix: 避免dbinstance_sku.get 异常
2020-03-17 17:20:20 +08:00
Qu Xuan
4f5d78b392 fix: 避免dbinstance_sku.get 异常 2020-03-17 16:22:59 +08:00
Zexi Li
783c3cd09f Merge pull request #5541 from zexi/hotfix/monitor-alert-disable
monitor: fix meteralert update status
2020-03-17 14:59:11 +08:00
Zexi Li
1db89913cf monitor: fix meteralert update status 2020-03-17 14:43:59 +08:00
Qu Xuan
aad83ec565 fix: 修复删除账号失败问题 2020-03-17 11:58:05 +08:00
yunion-ci-robot
ae1557626d Merge pull request #5529 from ioito/hotfix/qx-guest-rebuild-root
fix: 避免重装系统失败后imageId依然发生改变
2020-03-17 08:19:14 +08:00
yunion-ci-robot
4dd4a0391d Merge pull request #5536 from ioito/hotfix/qx-gcp-storage-info
fix: 修复谷歌云 cloud-provider-clirc 显示错误问题
2020-03-17 08:11:14 +08:00
Qu Xuan
824d50d1b0 fix: 修复谷歌云 cloud-provider-clirc 显示错误问题 2020-03-16 20:08:27 +08:00
yunion-ci-robot
12a29acb7b Merge pull request #5452 from ioito/hotfix/qx-rds-sku-sync-optimized
fix: 优化rds sku同步逻辑
2020-03-16 15:18:14 +08:00
yunion-ci-robot
99cbd18b81 Merge pull request #5534 from swordqiu/hotfix/qj-list-get-field-filter-not-working
fix: list/get field filter not working properly
2020-03-16 13:46:14 +08:00
Qiu Jian
284f68b48f fix: list/get field filter not working properly 2020-03-16 13:29:34 +08:00
Zexi Li
eff67b5e27 Merge pull request #5517 from swordqiu/hotfix/qj-storage-details-missing-capacity
fix: storage details missing capacity fields since 3.1
2020-03-16 13:00:47 +08:00
Zexi Li
4d06232da1 Merge pull request #5506 from swordqiu/hotfix/qj-cloud-provider-usable-filter-recode
fix: recode cloudprovider usable filter
2020-03-16 12:59:50 +08:00
Zexi Li
a31d4fc266 Merge pull request #5483 from yousong/feature/yousong-multi-instances
cloudcommon: elect support
2020-03-16 12:59:20 +08:00
Zexi Li
8488f50e65 Merge pull request #5496 from zhaoxiangchun/feature/zxc-all
vmware 宿主机监控信息获取
2020-03-16 12:57:21 +08:00
Zexi Li
b9fea28dad Merge pull request #5505 from swordqiu/feature/qj-cloud-provider-region-capability
feature: capability of a cloudprovider in a region
2020-03-16 12:57:09 +08:00
Qu Xuan
36b2c2267b fix: 避免重装系统失败后imageId依然发生改变 2020-03-16 11:26:37 +08:00
yunion-ci-robot
e032ebfe52 Merge pull request #5528 from yousong/bugfix/yousong-log-go1.14
gomod: update yunion.io/x/log and refresh vendor
2020-03-16 11:11:12 +08:00
Yousong Zhou
f5f3f4f916 gomod: update yunion.io/x/log and refresh vendor
The code change for yunion.io/x/{pkg.sqlchemy} is a remedy for
yunionio/onecloud#5402
2020-03-16 10:49:44 +08:00
yunion-ci-robot
70c0bdd044 Merge pull request #5519 from ioito/bugfix/qx-secgroup-rule-update
fix: 避免未传递prority参数导致校验未通过
2020-03-16 01:10:08 +08:00
Qu Xuan
effa0ac4e7 fix: 避免未传递prority参数导致校验未通过 2020-03-15 13:11:11 +08:00
Qiu Jian
e1ad22ec3a fix: storage details missing capacity fields since 3.1 2020-03-14 22:24:37 +08:00
Zexi Li
bce6ad8e9a Merge pull request #5516 from rainzm/feat/feishu_webhook
feat: Add SendWebhookRobotMessage for feishu driver
2020-03-14 20:45:27 +08:00
Rain
8918664f2e feat: Add SendWebhookRobotMessage for feishu driver 2020-03-14 19:21:42 +08:00
yunion-ci-robot
fc55cfb96f Merge pull request #5511 from zexi/bugfix/scheduler-disk-assign
scheduler: fix disk allocated not balanced
2020-03-14 17:50:05 +08:00
Zexi Li
ae557d217d Merge pull request #5498 from swordqiu/hotfix/qj-keystone-file-list-support-array
fix: keystone resources list filter should support array
2020-03-14 16:52:59 +08:00
Zexi Li
4f3d7c2c32 scheduler: fix disk allocated not balanced 2020-03-14 16:39:26 +08:00
Qiu Jian
866f5ef4ae fix: recode cloudprovider usable filter 2020-03-14 09:00:56 +08:00
Qiu Jian
ea73f5a9a4 feature: capability of a cloudprovider in a region 2020-03-14 01:35:27 +08:00
Zexi Li
9a3edfc6bf Merge pull request #5501 from zexi/hotfix/check-is-authed
auth: check isAuthed if nil
2020-03-13 19:18:05 +08:00
Zexi Li
c6be259900 auth: check isAuthed if nil 2020-03-13 19:03:53 +08:00
Qiu Jian
569f1b204d fix: keystone resources list filter should support array 2020-03-13 17:19:16 +08:00
yunion-ci-robot
e5ed2aaf10 Merge pull request #5454 from rainzm/fix/subimage_createdat
fix(glance): Structured subimage info and add 'created_at' field
2020-03-13 15:33:01 +08:00
Yousong Zhou
be5322d530 region: start cronman with electObj 2020-03-13 15:15:36 +08:00
Yousong Zhou
0f7ff65a46 cronman: add Start2() for working with electObj 2020-03-13 15:15:36 +08:00
Yousong Zhou
1d8fa1a1f2 cronman: use context for start, stop 2020-03-13 15:15:36 +08:00
zhaoxiangchun
b0981354de vmware 宿主机监控信息获取 2020-03-13 15:02:13 +08:00
Zexi Li
35f750705f Merge pull request #5402 from swordqiu/feature/qj-metadata-cleanup
Feature/qj metadata cleanup
2020-03-13 13:41:21 +08:00
yunion-ci-robot
0d1e41a99d Merge pull request #5484 from wanyaoqi/bugfix/wyq/downloadhandler-not-set-timeout
bugfix:download handler set no timeout
2020-03-13 13:22:17 +08:00
Qiu Jian
e11ceb4c4b feature: allow list/export/sort/distict metadata 2020-03-13 13:12:45 +08:00
Zexi Li
4fa1001792 Merge pull request #5479 from rainzm/fix/scheduler_provider
fix(scheduler): Candidater's CloudProvider maybe nil
2020-03-13 11:28:25 +08:00
Zexi Li
6fb6a1faa4 Merge pull request #5480 from rainzm/fix/vmware_vlan_range
fix(esxi): VlanID '1' is default value
2020-03-13 11:11:05 +08:00
wanyaoqi
8ca4ecada3 download handler set no timeout 2020-03-13 11:01:30 +08:00
Zexi Li
fc94e90e58 Merge pull request #5472 from zhaoxiangchun/bugfix/zxc-meteralart
修复meteralartbug
2020-03-13 00:43:57 +08:00
Yousong Zhou
48a0bb420b cloudcommon: elect support 2020-03-13 00:20:16 +08:00
yunion-ci-robot
05d7efa5b6 Merge pull request #5463 from swordqiu/hotfix/qj-fix-region-list-filters3
feature: fix region list filters
2020-03-12 21:11:17 +08:00
Qiu Jian
3c9b368c43 feature: fix region list filters round 3 2020-03-12 20:55:22 +08:00
Rain
258a03e138 fix(esxi): VlanID '1' is default value 2020-03-12 20:55:12 +08:00
Rain
84f3798322 fix(scheduler): Candidater's CloudProvider maybe nil
Candidater(Host) in Provider Onecloud doesn't have CloudProvider.
2020-03-12 20:17:46 +08:00
yunion-ci-robot
b8df371c17 Merge pull request #5458 from zexi/feature/k8s-baremetal-host-convert
region: baremetal convert host join as k8s node
2020-03-12 19:47:15 +08:00
Rain
e185bf9d7e fix(glance): Structured subimage info and add 'created_at' field 2020-03-12 19:25:28 +08:00
Yousong Zhou
20f3c775d7 cloudcommon: reword help text for IsSlaveNode 2020-03-12 18:55:58 +08:00
Yousong Zhou
411bff8301 cloudcommon: remove default value for etcd lock prefix 2020-03-12 18:55:58 +08:00
Yousong Zhou
487b7e189b cloudcommon: options: add constants for lock method 2020-03-12 18:55:58 +08:00
yunion-ci-robot
79cf558a13 Merge pull request #5457 from ioito/hotfix/qx-cloudaccount-test-connectivity
hotfix: 支持更新云账号密码时测试账号连通性
2020-03-12 18:08:16 +08:00
yunion-ci-robot
12c6576ef6 Merge pull request #5470 from wanyaoqi/wyq/bugfix/region-misc-fix200311
region misc fix
2020-03-12 17:31:18 +08:00
zhaoxiangchun
10d0066a61 修复meteralartbug
1.设置消费日提醒时,提示名称重复。
2.查询信息时MeterAlertDetails的一些字段没有回显。
2020-03-12 16:50:29 +08:00
wanyaoqi
72f165985d region misc fix 2020-03-12 16:46:37 +08:00
Zexi Li
643a3c7e4b Merge pull request #5459 from bistuzx/master
add bucket connection test
2020-03-12 16:17:54 +08:00
Zexi Li
cf61b1eb41 region: baremetal convert host join as k8s node 2020-03-12 16:14:43 +08:00
Zexi Li
e88a520aa5 Merge pull request #5464 from rainzm/feat/vendor_update
feat: Update Vendor
2020-03-12 11:49:49 +08:00
Rain
dfdfe1e872 feat: Update Vendor 2020-03-12 11:38:25 +08:00
张旭
8f69e245b2 change climc bucket options import 2020-03-12 10:44:23 +08:00
yunion-ci-robot
eed8441013 Merge pull request #5444 from rainzm/fix/esxi_disk
fix(esxi): UnitNumber 7 is unavailable for scsi controller
2020-03-12 02:51:03 +08:00
yunion-ci-robot
f2b312e83a Merge pull request #5439 from rainzm/fix/esxi_network_vlan
fix(esxi): Fix bugs when using network with vlanID
2020-03-12 02:46:02 +08:00
yunion-ci-robot
5a0769f83d Merge pull request #5455 from wanyaoqi/bugfix/wyq/fix-host-storage-outpu
bugfix :fix structure host storage output: storagecache_id
2020-03-12 02:44:00 +08:00
张旭
677737215e add bucket connection test 2020-03-11 21:04:20 +08:00
Qu Xuan
b47ee82112 hotfix: 支持更新云账号密码时测试账号连通性 2020-03-11 18:38:16 +08:00
wanyaoqi
41ddd6c452 fix structure host storage output: storagecache_id 2020-03-11 18:03:36 +08:00
Rain
31f623dd30 fix(esxi): UnitNumber 7 is unavailable for scsi controller
By default, the virtual SCSI controller is assigned to virtual device node (z:7),
so that device node is unavailable for hard disks or other devices.
https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.vm_admin.doc/GUID-5872D173-A076-42FE-8D0B-9DB0EB0E7362.html
2020-03-11 17:33:35 +08:00
yunion-ci-robot
0a4171bd6a Merge pull request #5453 from rainzm/fix/format_5433
fix: Resolve format issues caused by pr#5443
2020-03-11 17:26:01 +08:00
Rain
6dda9d8a3f fix: Resolve format issues caused by pr#5433 2020-03-11 17:09:26 +08:00
Qu Xuan
d5a691ffe3 fix: 优化rds sku同步逻辑 2020-03-11 16:49:18 +08:00
Zexi Li
f7be83aa23 Merge pull request #5447 from zexi/hotfix/host-storage-update-enabled
region: host update storage set enabled
2020-03-11 15:58:58 +08:00
Zexi Li
fd6ea93cb0 region: host update storage set enabled 2020-03-11 15:56:38 +08:00
Zexi Li
4ba4e636f6 Merge pull request #5442 from zexi/hotfix/baremetal-zone-not-updated
baremetal: zone_id not been updated
2020-03-11 14:37:23 +08:00
Zexi Li
eb8ccf66f7 Merge pull request #5443 from swordqiu/hotfix/qj-fix-region-list-filters2
fix region list filters round 2
2020-03-11 14:37:03 +08:00
Zexi Li
854dd25aaa baremetal: zone_id not been updated 2020-03-11 14:28:47 +08:00
Rain
7db5ae4d16 fix(esxi): Fix bugs when using network with vlanID 2020-03-11 10:56:50 +08:00
Zexi Li
2a2c0a558f Merge pull request #5435 from yousong/bugfix/yousong-build
build: github: build region, host, host-deployer images first
2020-03-10 18:51:43 +08:00
yunion-ci-robot
c1ef2fdc4d Merge pull request #5437 from zexi/feature/climc-ssh-terminal
climc: add server and host ssh terminal util
2020-03-10 18:50:58 +08:00
yunion-ci-robot
0b742b9b11 Merge pull request #5436 from swordqiu/hotfix/qj-remove-manager-cloudregion-id
fix: sql query errors for missing manager_id and cloudregion_id
2020-03-10 18:25:58 +08:00
Qiu Jian
1169dfe24c fix region list filters round 2 2020-03-10 18:23:45 +08:00
Zexi Li
49725a3af2 climc: add server and host ssh terminal util 2020-03-10 18:19:09 +08:00
Qiu Jian
79b6def3c3 fix: sql query errors for missing manager_id and cloudregion_id 2020-03-10 18:01:58 +08:00
Yousong Zhou
3e8e20dc5f build: github: build region, host, host-deployer images first 2020-03-10 16:38:52 +08:00
yunion-ci-robot
a9e9666989 Merge pull request #5434 from swordqiu/hotfix/qj-get-details-zero-numbers
fix: resource details contains zero numbers
2020-03-10 16:00:58 +08:00
Qiu Jian
550a1674ca fix: resource details contains zero numbers 2020-03-10 15:40:56 +08:00
yunion-ci-robot
3d37f3e5d9 Merge pull request #5433 from swordqiu/hotfix/qj-fix-region-list-filters
fix: fix region list fitlers, round 1
2020-03-10 14:45:59 +08:00
Zexi Li
1786c02e82 Merge pull request #5419 from swordqiu/hotfix/qj-fail-to-find-esxi-host-access-ip
fix: fail to find esxi admin vnic, use vnic with default IPv4 route
2020-03-10 14:44:53 +08:00
yunion-ci-robot
d777f510f6 Merge pull request #5429 from ioito/bugfix/qx-cloud-sku-sync
fix: typo for sku sync
2020-03-10 11:13:59 +08:00
yunion-ci-robot
df8200a400 Merge pull request #5424 from rainzm/fix/esxi_account
fix(esxi): Add two account with same account name
2020-03-10 11:02:00 +08:00
yunion-ci-robot
0868741842 Merge pull request #5413 from ioito/hotfix/qx-rds-sku-detail
fix: rds sku 返回region name
2020-03-10 10:42:57 +08:00
yunion-ci-robot
d5e1c6ff3a Merge pull request #5281 from ioito/hotfix/qx-gcp-os-sync
Hotfix/qx gcp os sync
2020-03-10 10:31:57 +08:00
Qiu Jian
da4dd2333a fix format 2020-03-10 09:44:43 +08:00
Qiu Jian
f127e258b4 fix: fix region list fitlers, round 1 2020-03-10 03:26:01 +08:00
Qu Xuan
0a47c90d89 fix: typo for sku sync 2020-03-09 19:57:37 +08:00
Rain
396f997cf4 fix(esxi): Add two account with same account name 2020-03-09 17:51:24 +08:00
Qiu Jian
fe93b90745 fix: fail to find esxi admin vnic, use vnic with default IPv4 route 2020-03-09 15:44:19 +08:00
Zexi Li
f0481b747c Merge pull request #5414 from zexi/feature/opslog-notes-text
opslog: notes use text column
2020-03-09 12:36:10 +08:00
Zexi Li
947fb13acc Merge pull request #5403 from swordqiu/hotfix/qj-cloud-provider-perform-enable-should-enable-account
fix: cloudprovider performEnable should also enable its cloudaccount
2020-03-09 12:30:15 +08:00
Zexi Li
e5106a9db1 opslog: notes use text column 2020-03-09 12:29:47 +08:00
Qu Xuan
ddbaba6f1a fix: rds sku 返回region name 2020-03-09 12:07:43 +08:00
Zexi Li
284c777db4 Merge pull request #5412 from swordqiu/hotfix/qj-adjust-two-options-default
fix: two default option changes: 1. do not convert vhd by default 2.sync purge server by default
2020-03-09 09:30:58 +08:00
Zexi Li
6ec5304436 Merge pull request #5398 from swordqiu/hotfix/qj-not-check-domain-quota-if-non-default-domain-project-off
fix: not check domain quota if non_default_domain_project is off
2020-03-09 09:29:55 +08:00
Zexi Li
af6d44aead Merge pull request #5411 from swordqiu/hotfix/qj-missing-keystone-glance-list-filter
fix: complete keystone/glance list filter
2020-03-09 09:29:20 +08:00
Zexi Li
ab4947d687 Merge pull request #5408 from swordqiu/feature/qj-climc-image-add-vim
feature: climc docker image add vim
2020-03-09 09:27:41 +08:00
Qiu Jian
fa9349c191 fix import group format error 2020-03-09 01:38:25 +08:00
Qiu Jian
63f5d40208 fix: two default option changes: 1. do not convert vhd by default 2.
sync purge server by default
2020-03-09 01:32:27 +08:00
Qiu Jian
57933d2497 fix: complete keystone/glance list filter 2020-03-09 01:20:25 +08:00
Qiu Jian
e0aae90d58 feature: climc docker image add vim 2020-03-08 22:44:25 +08:00
Qiu Jian
9bfca626b7 fix: cloudprovider performEnable should also enable its cloudaccount 2020-03-08 15:50:06 +08:00
Qiu Jian
3a34543e4f fix: not check domain quota if non_default_domain_project is off 2020-03-07 18:08:38 +08:00
Zexi Li
ecc0679eb1 Merge pull request #5365 from swordqiu/hotfix/qj-monitor-details
fix: implements details and list for monitor service
2020-03-07 15:52:09 +08:00
Zexi Li
ff4d99012d Merge pull request #5392 from swordqiu/hotfix/qj-scoped-resource-miss-fetch-owner
fix: scoped resource should override FetchOwnerId
2020-03-07 15:50:55 +08:00
Qiu Jian
6b183bac94 fix: scoped resource should override FetchOwnerId 2020-03-07 15:35:35 +08:00
Zexi Li
27027b498d Merge pull request #5388 from swordqiu/hotfix/qj-keystone-prefer-internal-endpoint-type
fix: keystone prefers internal endpoint type
2020-03-06 22:22:41 +08:00
Zexi Li
af9bcd23ac Merge pull request #5387 from swordqiu/hotfix/qj-service-filter-by-type
fix: add keystone service type filter
2020-03-06 22:22:10 +08:00
Qiu Jian
1b5456944b fix: keystone prefers internal endpoint type 2020-03-06 21:41:52 +08:00
Qiu Jian
e68bbf6fb9 fix: add keystone service type filter 2020-03-06 21:37:03 +08:00
Zexi Li
cf4d2e3374 Merge pull request #5335 from swordqiu/hotfix/qj-fix-details-list-recode-bugs
fix: 1. image header details should skip "properties" field 2.cloudprovider details nil pointer panic
2020-03-06 19:57:36 +08:00
Zexi Li
4917f11bfd Merge pull request #5358 from swordqiu/hotfix/qj-update-status-eventlog
fix: corrent update status logclient event type
2020-03-06 19:57:16 +08:00
yunion-ci-robot
60b74247a3 Merge pull request #5378 from rainzm/fix/usercache
fix: Add 'scope=system' and 'system' for Caches when querying from Keystone.
2020-03-06 18:42:50 +08:00
Zexi Li
fad6cbcb30 Merge pull request #5372 from swordqiu/hotfix/qj-no-scope-schedtag-visible-to-all
fix: no scope shcedtag should be visible to all
2020-03-06 18:32:14 +08:00
yunion-ci-robot
f387c6c37b Merge pull request #5379 from tb365/bugfix/tb-bugfix-0306
Bugfix/tb bugfix 0306
2020-03-06 18:10:50 +08:00
Rain
f8642421de fix: Add 'scope=system' and 'system' for Caches when querying from Keystone.
1. Query 'scope=system' and 'system=true' is neccessary when fetching all users
   or groups from Keystone.
   Without these, users and groups in other domains (non-caller domains),
   as well as system-level users, cannot be detected.
2. Query 'scope=system' is neccessary when fetching all project from Keystone.
2020-03-06 17:10:58 +08:00
TangBin
b7b2807fbd ctyun region name fix 2020-03-06 16:46:03 +08:00
TangBin
1096edad61 huawei reset password bugfix 2020-03-06 16:20:22 +08:00
Zexi Li
6fe428832a Merge pull request #5361 from swordqiu/hotfix/qj-adjust-user-list-privilege-level
fix: allow project do user-list, group-list, returns current project user and group
2020-03-06 13:03:18 +08:00
Zexi Li
ab83c71cdb Merge pull request #5366 from rainzm/fix/notify_resend
fix/notify: Fix the resend mechanism
2020-03-06 12:45:55 +08:00
yunion-ci-robot
061e974503 Merge pull request #5363 from wanyaoqi/bugfix/wyq/fix-postpaid-disk
bugfix: fix disk billing type on guest is postpaid
2020-03-06 12:29:50 +08:00
Rain
22bf66642d fix/notify: Fix the resend mechanism 2020-03-06 11:09:41 +08:00
Qiu Jian
4b311a8264 fix: implements details and list for monitor service 2020-03-06 00:53:20 +08:00
wanyaoqi
0631ad51f8 fix disk billing type on guest is postpaid 2020-03-05 20:32:03 +08:00
Qiu Jian
a9ed2da099 fix: allow project do user-list, group-list, returns current
project user and group
2020-03-05 20:06:38 +08:00
yunion-ci-robot
b2975c8bb4 Merge pull request #5359 from wanyaoqi/bugfix/wyq/network-list-filter-by-host
bugfix: enable network list filter by host show vpc networks
2020-03-05 20:00:49 +08:00
wanyaoqi
dfe1dc4324 enable network list filter by host show vpc networks 2020-03-05 19:31:26 +08:00
yunion-ci-robot
5eab1ce5ef Merge pull request #5353 from rainzm/feature/notify_feishu
feature(notify): Add query and return value for contact UPDATE interface
2020-03-05 19:03:51 +08:00
Qiu Jian
e344b1cc52 fix: corrent update status logclient event type 2020-03-05 17:53:15 +08:00
Qiu Jian
2fcf30109d fix: no scope shcedtag should be visible to all 2020-03-05 17:43:26 +08:00
Rain
f876aed69f feature(notify): Add query and return value for contact UPDATE interface
1. Add same return value with contact GET interface when updating
2. Add pull params for query to pull subcontact by mobile number.
   For example, pull user_id from dingtalk throught user's mobile
   number.
3. Add corresponding feature based on above for climc.
4. UserCache will try FetchByName if there is no id matched user when
   fetching users from KeyStone.
2020-03-05 17:01:29 +08:00
Zexi Li
9ed9de4f91 Merge pull request #5330 from rainzm/feature/feishu_single_user
feat: Add useridByMobile and accessToken cache for feishu
2020-03-05 14:17:41 +08:00
yunion-ci-robot
29658849d3 Merge pull request #5351 from swordqiu/hotfix/qj-turn-on-default-column-filter
fix: turn on default column filter ONLY if query variable starts with @
2020-03-05 14:11:16 +08:00
Rain
3dd84620c3 feat: Add useridByMobile and accessToken cache for feishu 2020-03-05 14:10:22 +08:00
Zexi Li
f283ad3d02 Merge pull request #5342 from swordqiu/hotfix/qj-update-auto-gen-api-struct
fix: update auto-gent struct field json name
2020-03-05 14:07:33 +08:00
Qiu Jian
a32afca7df fix: turn on default column filter ONLY if query variable starts with @ 2020-03-05 12:18:55 +08:00
yunion-ci-robot
1b407cc0c0 Merge pull request #5349 from zexi/feature/monitor-service
monitor: fix alert update not work
2020-03-04 22:49:14 +08:00
Zexi Li
9d7b47aca1 monitor: fix alert update not work 2020-03-04 21:16:19 +08:00
Qiu Jian
748641ec83 autogen structs add commentlines 2020-03-04 21:15:12 +08:00
yunion-ci-robot
af85309c80 Merge pull request #5343 from ioito/hotfix/qx-aws-rds-sync
fix: 支持aws rds sync
2020-03-04 20:49:13 +08:00
Qiu Jian
9b5f0b02e9 fix: update auto-gent struct field json name 2020-03-04 20:47:00 +08:00
yunion-ci-robot
0e50ec7bb2 Merge pull request #5333 from yousong/bugfix/yousong-host
hostman: default ovn options from environment
2020-03-04 20:17:08 +08:00
Qu Xuan
aac2b83945 fix: 支持aws rds sync 2020-03-04 20:09:19 +08:00
yunion-ci-robot
ece5524fb0 Merge pull request #5340 from zexi/feature/monitor-service
alert notification use joint model
2020-03-04 19:58:08 +08:00
Zexi Li
36e1f387dc Merge pull request #5331 from yousong/bugfix/yousong-build
build: docker-centos-build: run as root
2020-03-04 19:16:50 +08:00
Zexi Li
e9b0d828d7 Merge pull request #5336 from swordqiu/hotfix/qj-keystone-history-check-skip-system-account
fix: keystone user password history check should skip system account
2020-03-04 19:16:11 +08:00
Zexi Li
1b54766c9c alert notification use joint model 2020-03-04 19:12:48 +08:00
Qiu Jian
75a8981bf1 fix: 1. image header details should skip "properties" field 2.
cloudprovider details nil pointer panic
2020-03-04 18:58:07 +08:00
Qiu Jian
0ca6b0175a fix: keystone user password history check should skip system account 2020-03-04 18:34:46 +08:00
Yousong Zhou
1b5672fde7 hostman: default ovn options from environment 2020-03-04 16:42:06 +08:00
Yousong Zhou
67f0da7534 build: docker-centos-build: run as root
so that output file ownership can be properly changed

The Dockerfile was moved to a separate repo for maintenance
2020-03-04 15:04:12 +08:00
yunion-ci-robot
1401cfd032 Merge pull request #5289 from swordqiu/feature/qj-recode-details-list-struct
Feature/qj recode details list struct
2020-03-04 14:52:04 +08:00
Qiu Jian
cf5498ac24 feature: recode structuralized GetExtraDetails and ListItemFilter 2020-03-04 14:01:25 +08:00
Zexi Li
c81a004878 Merge pull request #5328 from zexi/hotfix/uncomment-docker-push
fix: docker_push uncomment build bin
2020-03-03 16:15:37 +08:00
Zexi Li
37691e616d fix: docker_push uncomment build bin 2020-03-03 16:14:57 +08:00
Qu Xuan
c2a65ba1f5 add uploadpart for google 2020-03-03 14:36:11 +08:00
Qu Xuan
9287468153 fix: 谷歌云对象存储支持 2020-03-03 14:36:11 +08:00
Zexi Li
76059e8d51 Merge pull request #5324 from swordqiu/hotfix/qj-clean-upload-object-region-quota
fix: clean up pending usage no matter whether object upload is success
2020-03-03 13:14:08 +08:00
yunion-ci-robot
4668ce625a Merge pull request #5315 from ioito/hotfix/qx-rds-sync
fix: 避免旧套餐下架zone信息未知,导致同步rds异常
2020-03-03 02:18:43 +08:00
Qiu Jian
90620503da fix: clean up pending usage no matter whether object upload is success 2020-03-03 02:08:55 +08:00
yunion-ci-robot
e42b4588a6 Merge pull request #5322 from zexi/feature/monitor-service
add monitor service
2020-03-02 20:50:43 +08:00
Zexi Li
5645e4e15a add monitor service 2020-03-02 20:00:08 +08:00
yunion-ci-robot
bbf23e2a55 Merge pull request #5320 from yousong/bugfix/yousong-build
build: docker: chown _output dir to current user:group
2020-03-02 17:47:38 +08:00
Yousong Zhou
7ef61f0b93 build: docker: chown _output dir to current user:group 2020-03-02 17:33:57 +08:00
Qu Xuan
0ee6febfe8 fix: 避免旧套餐下架zone信息未知,导致同步rds异常 2020-03-02 17:07:46 +08:00
Zexi Li
37d991be4b Merge pull request #5297 from swordqiu/hotfix/qj-fix-approve-all-linux
fix: approve_all fail to pull all cherry-pick PRs
2020-03-02 09:37:46 +08:00
Zexi Li
9fe96537ed Merge pull request #5312 from wanyaoqi/bugfix/wyq/fix-bm-register
fix bm register get remote address
2020-02-28 23:57:10 +08:00
wanyaoqi
aea493c29a fix get remote address because of request is proxyed by k8s 2020-02-28 22:16:52 +08:00
yunion-ci-robot
fcda35dc71 Merge pull request #5268 from zhaoxiangchun/feature/zxc-gcpMon
谷歌云multicloud监控
2020-02-28 22:10:30 +08:00
yunion-ci-robot
7b63c63722 Merge pull request #5307 from ioito/hotfix/qx-aliyun-permission
修复aliyun没有权限获取余额问题
2020-02-28 21:57:22 +08:00
yunion-ci-robot
150ecff786 Merge pull request #5305 from yousong/feature/yousong-vpcagent
build: github: build vpcagent image
2020-02-28 21:47:20 +08:00
yunion-ci-robot
c6d6a725eb Merge pull request #5286 from wanyaoqi/bugfix/wyq/host-register-use-default-vpc
host register use default vpc
2020-02-28 21:32:20 +08:00
yunion-ci-robot
c2fba0a8b3 Merge pull request #5255 from wanyaoqi/bugfix/wyq/fix-nic-get-addr
fix nic get addr on attach multi isolated device
2020-02-28 21:03:19 +08:00
Qu Xuan
1eac67abce 修复aliyun没有权限获取余额问题 2020-02-28 19:54:33 +08:00
wanyaoqi
87f7ca81d7 host register use default vpc 2020-02-28 18:36:21 +08:00
Yousong Zhou
c41cd012ff hostman: disable services on host system when running in container 2020-02-28 18:17:45 +08:00
Yousong Zhou
472e4a1602 build: github: build vpcagent image 2020-02-28 17:28:44 +08:00
Zexi Li
0ab02b6446 Merge pull request #5303 from yousong/feature/yousong-vpcagent
build: github: add back ceph devel deps for baremetal-agent
2020-02-28 16:13:10 +08:00
Yousong Zhou
0b06e970b1 build: github: add back ceph devel deps for baremetal-agent 2020-02-28 16:09:01 +08:00
yunion-ci-robot
3fefcea828 Merge pull request #5301 from yousong/feature/yousong-vpcagent
build: github: build host with docker-alpine-build
2020-02-28 15:51:20 +08:00
Yousong Zhou
5670e2401b build: github: build host with docker-alpine-build 2020-02-28 15:26:30 +08:00
Yousong Zhou
6ef4eb9954 build: add docker-alpine-build 2020-02-28 15:26:30 +08:00
Yousong Zhou
f6d172da46 build: rename docker-build to docker-centos-build 2020-02-28 15:23:27 +08:00
zhaoxiangchun
d25a6443c2 谷歌云multicloud监控
monitor.go文件中GetMonitorData函数:
 1)首先组装参数信息
 2)通过external_id获取相关id信息,根据restAPI文档中的resource格式拼装完成monitoring相关的resource信息
 3)然后通过monitorList函数获取相关的监控信息

更新go.mod google.golang.org所依赖的google.golang.org/api版本
2020-02-28 15:01:06 +08:00
yunion-ci-robot
a5dc5b0e90 Merge pull request #5295 from tb365/bugfix/tb-bugfix-0228
vpc list add param vpc_usable
2020-02-28 14:17:21 +08:00
yunion-ci-robot
eac4dcdba4 Merge pull request #5290 from ioito/hotfix/qx-azure-region-city
添加azure region city信息
2020-02-28 13:11:19 +08:00
Zexi Li
d734da1988 Merge pull request #5266 from yousong/feature/yousong-vpcagent
vpcagent: as k8s container
2020-02-28 11:57:34 +08:00
Qu Xuan
f9def6c196 添加azure region city信息 2020-02-28 11:35:46 +08:00
TangBin
48a28a6adb vpc list add param vpc_usable 2020-02-28 11:34:49 +08:00
yunion-ci-robot
b2317f07d0 Merge pull request #5275 from ioito/hotfix/qx-gcp-change-config
fix: 谷歌云建议关机下调整配置,部分linux开机也调整不了配置
2020-02-28 09:33:19 +08:00
Qiu Jian
bb8107c129 fix: approve_all fail to pull all cherry-pick PRs 2020-02-27 22:30:20 +08:00
wanyaoqi
ae84c339d9 fix nic get pci address 2020-02-27 22:19:42 +08:00
yunion-ci-robot
0a25dfef7a Merge pull request #5277 from ioito/hotfix/qx-gcp-region-trans
fix: 新加gcp region 翻译
2020-02-27 22:05:17 +08:00
yunion-ci-robot
98854ed37b Merge pull request #5269 from tb365/bugfix/tb-bugfix-0227
huawei secgroup default vpc id fix
2020-02-27 20:52:16 +08:00
yunion-ci-robot
dcf3709b42 Merge pull request #5282 from yousong/bugfix/yousong-winbuild
vendor: bump pkg, executor module version
2020-02-27 20:08:17 +08:00
Yousong Zhou
c4397e572d build: host: adjust build method
- new host-base for native alpine utilities
 - build host with native alpine toolchain
2020-02-27 20:00:00 +08:00
Yousong Zhou
a9c4a10ac2 build: build vpcagent container 2020-02-27 20:00:00 +08:00
Yousong Zhou
bc89e8ab67 hostman: use "uname -m" for for fetch processor type
"uname -p" command from native busybox, coreutils may return "unknown".
CentOS coreutils has a patch fallback to using uts.machine if sysinfo
syscall is not available

Use "uname -m" for maximum compatibility
2020-02-27 20:00:00 +08:00
Yousong Zhou
694dab1e75 hostman: work with ovn-controller already in container 2020-02-27 20:00:00 +08:00
Yousong Zhou
7b41ac0fb2 sysutils: use remote executor for hostnamectl as far as possible
So that hostnamectl can be omitted in host-base container image
2020-02-27 20:00:00 +08:00
Yousong Zhou
7506f3f1ed vpcagent: resolve ovn db address at args validation time
Until we find a reliable way to get k8s svc dns name
2020-02-27 20:00:00 +08:00
Yousong Zhou
d6dca0d846 hostman: resolve ovn db address before setting it into ovsdb 2020-02-27 19:59:43 +08:00
Yousong Zhou
095a6b3f8b ovsutils: add NormalizeDbHost 2020-02-27 19:59:43 +08:00
Yousong Zhou
4d1e1ed6a4 vendor: bump pkg, executor module version 2020-02-27 19:39:38 +08:00
Qu Xuan
25ebd367d4 fix: 新加gcp region 翻译 2020-02-27 18:53:32 +08:00
TangBin
439d2a316e huawei secgroup default vpc id fix 2020-02-27 17:49:21 +08:00
Qu Xuan
e46609bebc fix: 谷歌云建议关机下调整配置,部分linux开机也调整不了配置 2020-02-27 16:51:35 +08:00
yunion-ci-robot
d4417f8027 Merge pull request #5261 from tb365/bugfix/tb-bugfix-0226
ctyun get vm by id fix
2020-02-27 07:18:13 +08:00
yunion-ci-robot
a2aa1c84f5 Merge pull request #5263 from rainzm/bugfix/esxi_publickey
fix(esxiagent): SSHKey was not unmarshalled correctly
2020-02-27 07:11:14 +08:00
yunion-ci-robot
d9b0f2b1e9 Merge pull request #5260 from yousong/bugfix/yousong-winbuild
[RFC] Bugfix/yousong winbuild
2020-02-27 01:13:16 +08:00
yunion-ci-robot
562f6b6e8a Merge pull request #5238 from wanyaoqi/bugfix/wyq/fix-host-init-set-reserve-memory
miscfix : host init set reserve memory
2020-02-26 23:00:15 +08:00
yunion-ci-robot
86fd8959ca Merge pull request #5236 from tb365/bugfix/tb-bugfix-0224
huawei & ctyun security group sync fix
2020-02-26 21:03:18 +08:00
wanyaoqi
4eceefdb04 makesure /etc/ceph created before connect 2020-02-26 20:42:04 +08:00
Rain
769143ca26 fix(esxiagent): SSHKey was not unmarshalled correctly 2020-02-26 20:09:38 +08:00
TangBin
bce284a4c4 ctyun vpc create fix 2020-02-26 17:36:52 +08:00
TangBin
5140a0f7a6 ctyun eip charge type fix 2020-02-26 16:31:29 +08:00
yunion-ci-robot
50b846ef5a Merge pull request #5231 from ioito/hotfix/qx-disk-reset-log
fix: 添加磁盘回滚snapshot日志
2020-02-26 15:55:14 +08:00
TangBin
5c3ba45f4d ctyun attach disk fix 2020-02-26 14:41:03 +08:00
Yousong Zhou
1fd6db15d6 build: set GOOS=linux by default 2020-02-26 11:36:48 +08:00
Yousong Zhou
f3558f7b91 appsrv: use signalutils.SetDumpStackSignal() 2020-02-26 11:36:48 +08:00
Yousong Zhou
1e283efa78 fileutils: platform specific Writable() 2020-02-26 11:36:48 +08:00
Yousong Zhou
0127b3872e procutils: exec.Cmd setsid only for linux 2020-02-26 11:36:48 +08:00
Yousong Zhou
02de12ae5b vendor: executor: add platform specific constructor for WaitStatus 2020-02-26 11:36:48 +08:00
Yousong Zhou
c41bf6f104 vendor: pkg: signalutils: add platform specific SetDumpStackSignal() 2020-02-26 11:36:48 +08:00
TangBin
c08f35b9f8 ctyun get vm by id fix 2020-02-26 11:16:42 +08:00
Zexi Li
7d2e410503 Merge pull request #5252 from swordqiu/hotfix/qj-global-endpoint-type
fix: use globalEndpointType as default endpoint type
2020-02-26 10:37:25 +08:00
yunion-ci-robot
c779ca3fd9 Merge pull request #5242 from ioito/bugfix/qx-openstack-flavor-sync
fix: 避免根磁盘小于镜像大小导致创建失败
2020-02-25 21:12:10 +08:00
yunion-ci-robot
e13a47ade7 Merge pull request #5247 from ioito/hotfix/qx-azure-change-config-error
fix: 返回azure api 错误信息
2020-02-25 20:57:12 +08:00
Qiu Jian
abfac074c3 fix: use globalEndpointType as default endpoint type 2020-02-25 20:27:59 +08:00
Qu Xuan
6e1b5ceae7 fix: 返回azure api 错误信息 2020-02-25 19:30:37 +08:00
Qu Xuan
336819c802 fix: 避免根磁盘小于镜像大小导致创建失败 2020-02-25 15:36:19 +08:00
TangBin
667a9985de huawei & ctyun security group sync fix 2020-02-24 20:07:03 +08:00
wanyaoqi
7863fc7f8a fix host register get network filter: add server_type baremetal 2020-02-24 16:36:44 +08:00
wanyaoqi
f5a0aaa8f0 fix guest network get desc 2020-02-24 16:00:55 +08:00
Qu Xuan
6b1e929a49 fix: 添加磁盘回滚snapshot日志 2020-02-24 15:58:07 +08:00
yunion-ci-robot
28249f615c Merge pull request #5186 from rainzm/feature/notify_validate
feature(notify): Validate config
2020-02-24 14:37:07 +08:00
yunion-ci-robot
8824457ab8 Merge pull request #5226 from yousong/bugfix/yousong-lbbackend-details
lbbackend: fix nil ref when getting details
2020-02-24 14:33:08 +08:00
Rain
a81004254f feature(notify): Validate config 2020-02-24 14:09:18 +08:00
wanyaoqi
914062d765 fix host init set reserve memory 2020-02-24 13:02:50 +08:00
Yousong Zhou
aad7dddabb lbbackend: fix nil ref when getting details
Return arguments of lbbackend.getVpc() can be both nil

	[E 200224 10:13:18 httperrors.HTTPError(httperrors.go:53)] Send error {"fields":["runtime error: invalid memory address or nil pointer dereference"],"id":"Internal server error: {0}"}
	...
	panic(0x27da0c0, 0x57f4ff0)
		/usr/local/go/src/runtime/panic.go:522 +0x1b5
	yunion.io/x/onecloud/pkg/compute/models.(*SLoadbalancerBackend).GetExtraDetails(0xc0002af680, 0x33cde20, 0xc0010e61e0, 0x34246c0, 0xc008893de0, 0x341d940, 0xc012fe69d0, 0x1, 0x0, 0x0, ...)
		/data/git/yunion-build/work/go/src/yunion.io/x/onecloud/pkg/compute/models/loadbalancerbackends.go:314 +0x37c
	reflect.Value.call(0x2d87a00, 0xc0002af680, 0x8a13, 0x2db0aa8, 0x4, 0xc0044ad680, 0x4, 0x4, 0x2bd5d60, 0xc002a29cf0, ...)
		/usr/local/go/src/reflect/value.go:447 +0x461
	reflect.Value.Call(0x2d87a00, 0xc0002af680, 0x8a13, 0xc0044ad680, 0x4, 0x4, 0x2d87a00, 0xc0002af680, 0x16)
		/usr/local/go/src/reflect/value.go:308 +0xa4
	yunion.io/x/onecloud/pkg/cloudcommon/db.callFunc(0x2d87a00, 0xc0002af680, 0x8a13, 0xc000951688, 0x4, 0x4, 0xc0002af680, 0x8a13, 0x2dc0527, 0xb, ...)
		/data/git/yunion-build/work/go/src/yunion.io/x/onecloud/pkg/cloudcommon/db/caller.go:78 +0x397
	...
	[I 200224 10:13:18 appsrv.(*Application).ServeHTTP(appsrv.go:237)] MfQCvNyik-obRBzFjFZy5ARfXcE= 500 5c1d82 GET /loadbalancerbackends?backend_group=Yunion-Tools&details=true&limit=20&offset=0 (10.40.156.64:57606) 57.90ms

Fixes 76d974f6d ("feature: api -> response struct")
2020-02-24 10:22:56 +08:00
yunion-ci-robot
c056778290 Merge pull request #5224 from tb365/bugfix/tb-bugfix-0221
network query by ip fix
2020-02-23 18:51:02 +08:00
yunion-ci-robot
f769129780 Merge pull request #5222 from wanyaoqi/bugfix/wyq/misc-20200220
region misc fix:
2020-02-21 23:36:59 +08:00
TangBin
1b72c387d1 network query by ip fix 2020-02-21 18:53:20 +08:00
wanyaoqi
981222867f region misc fix:
- guest postpaid expire support set expire time
- list instance snapshot sub snapshot return size
2020-02-21 17:17:30 +08:00
Zexi Li
dac8452cc9 Merge pull request #5217 from rainzm/bugfix/host_storage_size
fix: Storage filter not work for Esxi
2020-02-21 16:44:13 +08:00
yunion-ci-robot
0f6ccc126c Merge pull request #5199 from tb365/bugfix/tb-bugfix-0220
Bugfix/tb bugfix 0220
2020-02-21 15:52:35 +08:00
yunion-ci-robot
6a5bc9fbdf Merge pull request #5196 from ioito/hotfix/qx-gcp-win-change-config
fix: gcp win os not support change config when vm running
2020-02-21 15:44:33 +08:00
Rain
2262cb0123 fix: Storage filter not work for Esxi
1. SESXiGuestDriver.DoScheduleStorageFilter should return true.
2. ESXi's SHost.GetStorageSizeMB should return the capacity of all the
storage belonging to it.
2020-02-21 15:03:08 +08:00
yunion-ci-robot
9a623e2d93 Merge pull request #5213 from ioito/hotfix/qx-gcp-trans
fix: 添加gcp region中文翻译
2020-02-20 21:13:32 +08:00
yunion-ci-robot
909bc80d37 Merge pull request #5198 from ioito/hotfix/qx-azure-longitude-fix
fix: 修复azure坐标问题,添加新的azure region城市信息
2020-02-20 20:57:32 +08:00
yunion-ci-robot
26d1b8a9f1 Merge pull request #5208 from swordqiu/hotfix/qj-reset-limit-default-2048
fix: reset paging limit to 2048 from 20
2020-02-20 20:01:28 +08:00
Qu Xuan
1829b87c33 fix: 添加gcp region中文翻译 2020-02-20 17:37:00 +08:00
yunion-ci-robot
7c16abcc8b Merge pull request #5191 from ioito/hotfix/qx-aliyun-new-region
fix: add aliyun new region info
2020-02-20 16:14:29 +08:00
yunion-ci-robot
d66469a4ca Merge pull request #5187 from ioito/hotfix/qx-gcp-disk-format
fix: 填充gcp disk_format字段
2020-02-20 15:26:28 +08:00
Qiu Jian
b8b1740366 fix: reset paging limit to 2048 from 20 2020-02-20 15:16:01 +08:00
Qu Xuan
53c976ae11 fix: 修复azure坐标问题,添加新的azure region城市信息 2020-02-20 14:54:05 +08:00
TangBin
e022bf52c1 huawei cloud create bugfix 2020-02-20 14:47:15 +08:00
TangBin
b2a0fba5ac cloud region city list add default limit 2048 2020-02-20 14:14:32 +08:00
Qu Xuan
2015dc4764 fix: gcp win os not support change config when vm running 2020-02-20 11:57:03 +08:00
Qu Xuan
d8460a321f fix: add aliyun new region info 2020-02-20 11:04:22 +08:00
Qu Xuan
f026980f96 fix: 填充gcp disk_format字段 2020-02-20 10:44:26 +08:00
yunion-ci-robot
d64a36c96a Merge pull request #5181 from tb365/bugfix/tb-bugfix-0219
Bugfix/tb bugfix 0219
2020-02-19 19:17:26 +08:00
tangbin
b24c48a8c2 huawei http listener sync fix 2020-02-19 18:45:03 +08:00
tangbin
619cc17dd4 aws rebuild root fix 2020-02-19 18:18:19 +08:00
yunion-ci-robot
eefe71add4 Merge pull request #5178 from rainzm/bugfix/create_disk_for_vmware
fix(esxi): No distinction between ordinary scsi and pvscsi when creating disks
2020-02-19 17:49:26 +08:00
tangbin
1b86d6300a aws listener sync fix 2020-02-19 17:09:53 +08:00
Rain
df3b77b764 fix(esxi): No distinction between ordinary scsi and pvscsi when creating disks
parascsi 是 vmware 中一种高性能的 scsi 控制器。

在此之前,scsi 只包括 "lsilogic", "lsilogicsas", "buslogic"; 而别名为 pvscsi
的 parascsi 没有被包含进来;并且,一个 pci controller只能挂一个 scsi controller,
这会导致如果在一个拥有 pvscsi 的机器上添加普通scsi驱动类型的磁盘,就会替换驱动;
反之亦然。这会导致驱动的 key 不是我们指定的key,并且在添加磁盘的时候替换驱动的
类型有些随意。再者,我们的驱动类型的选择其实并没有暴露给前端。

所以,在寻找相应的controller时,将 parascsi 也纳入 scsi 类型。
尽量避免在创建磁盘的时候做硬件的改动,所以在创建磁盘的时候不区分 scsi
还是 pvscsi,如果两种 controller 均没有,就按照请求的类型创建一个。

此外,在 CloneVM 的时候,如果支持,优先使用 parascsi。
2020-02-19 16:35:15 +08:00
yunion-ci-robot
c0eb4d1e29 Merge pull request #5145 from tb365/bugfix/tb-elb-bugfix-0114
qcloud elb sync
2020-02-19 16:03:27 +08:00
Yousong Zhou
893f336a55 Merge pull request #5173 from swordqiu/hotfix/qj-sync-provider-with-account-status-change
fix: sync cloud provider should change its cloud account's sync_status
2020-02-19 16:02:30 +08:00
yunion-ci-robot
231c124caf Merge pull request #5097 from rainzm/feature/create_vm_by_provider
feature: Specify cloud provider when creating vm
2020-02-19 14:49:26 +08:00
yunion-ci-robot
17f8e2a69a Merge pull request #5162 from tb365/bugfix/tb-bugfix-0218
huawei elb backend vpc validate fix
2020-02-19 13:34:26 +08:00
yunion-ci-robot
d82bd40601 Merge pull request #5167 from ioito/hotfix/qx-openstack-port-sync
fix: 避免将虚拟机ip同步到弹性网卡
2020-02-19 12:34:28 +08:00
yunion-ci-robot
692a4481e1 Merge pull request #5159 from yousong/bugfix/yousong-lbagent
region: lbagent: deploy: use 'public' endpoint type
2020-02-19 12:03:26 +08:00
Qiu Jian
aafec107fb fix: sync cloud provider should change its cloud account's sync_status 2020-02-19 11:44:24 +08:00
yunion-ci-robot
1e328ab028 Merge pull request #5156 from swordqiu/hotfix/qj-add-climc-helper-scripts
fix: add climc helper scripts into docker images
2020-02-19 02:40:26 +08:00
Zexi Li
8b17168154 Merge pull request #5151 from swordqiu/hotfix/qj-adjust-some-default
fix: 1. adjust default response header timer to 30 seconds 2. set default paging limit to 20
2020-02-19 02:29:30 +08:00
Yousong Zhou
65a99551c2 lbagent: fix config for sticky session cookie
- account for user specific cookie name for insert mode
 - dont tamper cache instructions from backend server for server mode
2020-02-18 20:54:12 +08:00
Yousong Zhou
8090a3fab4 region: lbagent: deploy: use 'public' endpoint type 2020-02-18 20:54:12 +08:00
Qu Xuan
082fe1e764 fix: 避免将虚拟机ip同步到弹性网卡 2020-02-18 15:36:20 +08:00
yunion-ci-robot
b621135c35 Merge pull request #5138 from ioito/hotfix/qx-guest-filter
fix: 避免未过滤掉同一个network底下的guest
2020-02-18 14:38:40 +08:00
tangbin
4d79b9612e huawei elb backend vpc validate fix 2020-02-18 14:11:37 +08:00
yunion-ci-robot
86cc07162c Merge pull request #5132 from zhaoxiangchun/feature/zxc-zstackMon
zstack监控功能
2020-02-18 12:05:40 +08:00
Rain
5170778767 feature: Specify cloud provider when creating vm
Specifying the eip is equivalent to specifying the cloudprovider when
creating vm.
2020-02-18 11:33:13 +08:00
zhaoxiangchun
6a54c88d29 gencopyright信息 2020-02-18 11:32:21 +08:00
zhaoxiangchun
288670c1b7 zstack监控功能
monitor.go中GetMonitorData函数通过传入的参数拼装请求参数,然后调用zstack.go中的getMonitor(),通过GET请求,获取相应的指标监控数据
2020-02-18 11:32:21 +08:00
Qiu Jian
d4c557b64d fix: add climc helper scripts into docker images 2020-02-18 10:14:51 +08:00
yunion-ci-robot
ee65ebd77d Merge pull request #5136 from yousong/bugfix/yousong-ocvpc-del
regiondrivers: kvm: dummy impl for RequestDeleteVpc
2020-02-18 09:44:39 +08:00
yunion-ci-robot
7eafebd63b Merge pull request #5143 from wanyaoqi/bugfix/wyq/misc-fix-200217
misc bugfix: check scsi driver on add disk
2020-02-18 09:39:38 +08:00
Qiu Jian
e9ce04699b fix: 1. adjust default response header timer to 30 seconds 2. set
default paging limit to 20
2020-02-18 08:52:23 +08:00
yunion-ci-robot
5035ff7338 Merge pull request #5130 from tb365/bugfix/tb-bugfix-021501
Bugfix/tb bugfix 021501
2020-02-18 08:14:38 +08:00
TangBin
18cad47a00 qcloud elb sync 2020-02-17 22:15:08 +08:00
wanyaoqi
9daf86778d check scsi driver on add disk 2020-02-17 21:57:15 +08:00
yunion-ci-robot
dfaadc0999 Merge pull request #5128 from tb365/bugfix/tb-bugfix-0215
huawei userdata fix
2020-02-17 21:52:37 +08:00
Qu Xuan
cb0ff34740 fix: 避免未过滤掉同一个network底下的guest 2020-02-17 20:50:02 +08:00
Yousong Zhou
4dbea204a8 regiondrivers: kvm: dummy impl for RequestDeleteVpc
Regression since 4a6a4c594a ("feature:
google云操作支持")

	Feb 17 15:53:12 titan-10-168-222-196 region[20940]: [I 200217 15:53:12 appsrv.(*Application).ServeHTTP(appsrv.go:237)] Ao9tyX8XY4DXa3tBiUyXgPm_ipc= 200 f7a73c DELETE /vpcs/vpc1 (10.168.222.196:46354) 723.91ms
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [E 200217 15:53:13 tasks.(*VpcDeleteTask).taskFailed(vpc_delete_task.go:41)] vpc delete task fail: RequestDeleteVpc: Not implement RequestDeleteVpc
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [I 200217 15:53:13 taskman.(*STask).SetStageFailed(tasks.go:636)] XXX TASK VpcDeleteTask failed: RequestDeleteVpc: Not implement RequestDeleteVpc on stage OnDeleteVpcComplete
	Feb 17 15:53:13 titan-10-168-222-196 region[20940]: [I 200217 15:53:13 taskman.(*STask).NotifyParentTaskComplete(tasks.go:648)] notify_parent_task_complete: VpcDeleteTask params {"__failed_reason":"RequestDeleteVpc: Not implement RequestDeleteVpc","__request_context":{"request_id":"f7a73c","service_name":"compute_v2","trace":{"debug":true,"duration":0,"id":"0","kind":"SERVER","local_endpoint":{"port":0,"service_name":"compute_v2"},"name":"delete","remote_endpoint":{"addr":"10.168.222.196","port":46354,"service_name":"(unknown_service)"},"shared":false,"tags":{"resource":"vpcs"},"timestamp":"2020-02-17T07:53:12.052219Z","trace_id":"5cf3e014"}},"__stages":[{"complete_at":"2020-02-17T15:53:12Z","name":"on_init"},{"complete_at":"2020-02-17T15:53:13Z","name":"OnDeleteVpcComplete"}]}
2020-02-17 16:18:59 +08:00
tangbin
137712ffa3 ctyun custom image create bugfix 2020-02-15 17:29:48 +08:00
tangbin
5f2beae099 ctyun sync fix 2020-02-15 16:55:30 +08:00
tangbin
8174145cd2 huawei sync fix 2020-02-15 15:51:08 +08:00
tangbin
b7737c41d1 huawei userdata fix 2020-02-15 12:55:53 +08:00
yunion-ci-robot
22745cfbf5 Merge pull request #5126 from ioito/hotfix/qx-metdata-detail
fix: 添加host标签返回值
2020-02-15 07:57:05 +08:00
yunion-ci-robot
28a5c76611 Merge pull request #5115 from tb365/bugfix/tb-bugfix-0213
aws userdata bugfix
2020-02-15 00:01:07 +08:00
Qu Xuan
f8694ea0c0 fix: 添加host标签返回值 2020-02-14 20:45:30 +08:00
tangbin
9b489c260f aws userdata bugfix 2020-02-14 19:34:55 +08:00
yunion-ci-robot
a117f1d748 Merge pull request #5124 from ioito/bugfix/qx-guest-detail
fix: disks_info typo
2020-02-14 18:21:06 +08:00
Qu Xuan
6bd97ef144 fix: disks_info typo 2020-02-14 17:50:25 +08:00
yunion-ci-robot
b3628c78fd Merge pull request #5121 from rainzm/bugfix/vmware_save_image
fix(esxiagent): Delete image backup file after saving to glance instead of before
2020-02-14 17:41:07 +08:00
Rain
df737c5559 fix(esxiagent): Delete image backup file after saving to glance instead of before 2020-02-14 17:15:32 +08:00
yunion-ci-robot
e862f1fb6a Merge pull request #5117 from ioito/hotfix/qx-gcp-region
fix: 谷歌新加region翻译
2020-02-14 15:39:04 +08:00
Qu Xuan
e1e21608b1 fix: 谷歌新加region翻译 2020-02-14 14:42:54 +08:00
yunion-ci-robot
e8c445f567 Merge pull request #5106 from rainzm/bugfix/template_init
fix(notify): Set some default template
2020-02-14 12:19:03 +08:00
yunion-ci-robot
27f65c37ab Merge pull request #5111 from zexi/feature/server-list-by-sn
region: server list by host sn
2020-02-14 12:06:04 +08:00
Zexi Li
53184acbce region: server list by host sn 2020-02-13 21:06:49 +08:00
Rain
0fe4f5ca1c fix(notify): Set some default template 2020-02-13 16:50:10 +08:00
yunion-ci-robot
1ee2038cc5 Merge pull request #5087 from rainzm/bugfix/esxi_storage_cache
fix(esxi): Create one if no suitable driver exists when creating disk
2020-02-13 14:36:04 +08:00
yunion-ci-robot
059c535c04 Merge pull request #5083 from tb365/bugfix/tb-bugfix-0211
Bugfix/tb bugfix 0211
2020-02-13 12:16:03 +08:00
tangbin
3642f9360d ctyun vm create fix 2020-02-13 11:43:28 +08:00
yunion-ci-robot
746c43e8d7 Merge pull request #5092 from bistuzx/master
update account bucket options
2020-02-13 03:47:01 +08:00
yunion-ci-robot
080b44229a Merge pull request #5085 from zexi/feature/webconsole-b64-encode
webconsole: use base64 encode connect_params
2020-02-12 22:13:01 +08:00
张旭
71f87ba109 update account bucket options 2020-02-12 18:03:23 +08:00
Rain
57f9dd38e6 fix(esxi): Create one if no suitable driver when creating disk 2020-02-12 15:23:03 +08:00
yunion-ci-robot
141bcc4d91 Merge pull request #5061 from zhaoxiangchun/feature/zxc-esxiMon
multicloud的vmware监控功能
2020-02-12 15:21:01 +08:00
Zexi Li
0b3ef91083 webconsole: use base64 encode connect_params 2020-02-12 11:42:52 +08:00
tangbin
e2ca8e4188 add more log 2020-02-11 20:09:36 +08:00
tangbin
cdba3af5e8 eip dissociate bugfixC 2020-02-11 19:23:19 +08:00
tangbin
73b4f028e0 fix create sys disk snapshot 2020-02-11 19:22:25 +08:00
yunion-ci-robot
c83becd67b Merge pull request #5081 from rainzm/bugfix/for_pr_4921
fix: Fix the bug introduced by pr #4921
2020-02-11 19:14:58 +08:00
yunion-ci-robot
0714781338 Merge pull request #5077 from ioito/bugfix/qx-gcp-rule-sync
fix: 修复gcp出方向规则同步问题
2020-02-11 17:38:02 +08:00
yunion-ci-robot
c848bae7c5 Merge pull request #5072 from ioito/hotfix/qx-metadata-rbac-check
fix: 忽略无权限的资源标签
2020-02-11 17:19:58 +08:00
Rain
762fcd90cf fix: Fix the bug introduced by pr #4921
1. The display problem of contact and notification in notify.
2. The display problem of snat's network info.
2020-02-11 16:49:36 +08:00
tangbin
bbc855c85e fix ctyun os version 2020-02-11 16:40:48 +08:00
zhaoxiangchun
07adad86ca multicloud的vmware监控功能
monitor.go中GetMonitorData()函数获取监控数据
2020-02-11 00:38:42 +08:00
Qu Xuan
1fb8a20a61 fix: 修复gcp出方向规则同步问题 2020-02-10 18:43:47 +08:00
Qu Xuan
685b27c020 fix: 忽略无权限的资源标签 2020-02-10 16:43:43 +08:00
Zexi Li
b463203902 Merge pull request #5050 from ioito/hotfix/qx-model-detail
统一 details -> isList
2020-02-10 11:12:21 +08:00
yunion-ci-robot
dcb89df2f8 Merge pull request #5052 from swordqiu/hotfix/qj-progressive-update-image-size
fix: progressively update image size while uploading
2020-02-10 10:33:59 +08:00
yunion-ci-robot
8974d4a742 Merge pull request #5065 from swordqiu/hotfix/qj-host-deployer-windows-empty-domain
fix: allow empty domain for windows deployment
2020-02-10 10:31:56 +08:00
Qiu Jian
4e474e9482 fix: progressively update image size while uploading 2020-02-10 09:28:45 +08:00
Qiu Jian
4cfc2da970 fix: allow empty domain for windows deployment 2020-02-10 09:19:10 +08:00
yunion-ci-robot
bc099768c9 Merge pull request #5054 from swordqiu/hotfix/qj-no-sync-created-at-for-servers
fix: createdAt should not be synced when update
2020-02-09 22:08:58 +08:00
Qiu Jian
558d4c2019 fix: createdAt should not be synced when update 2020-02-08 21:04:38 +08:00
Qu Xuan
366cbd4e36 统一 details -> isList 2020-02-07 17:54:48 +08:00
yunion-ci-robot
1aa17be179 Merge pull request #5048 from ioito/hotfix/qx-google-validate-create
fix: google e2不支持本地盘
2020-02-07 16:42:51 +08:00
Qu Xuan
9bd5f3a424 fix: google e2不支持本地盘 2020-02-07 16:05:40 +08:00
yunion-ci-robot
1d8990f7fa Merge pull request #5044 from ioito/hotfix/qx-guest-keypair
fix: guest创建兼容keypair参数
2020-02-07 15:59:52 +08:00
Qu Xuan
c93d16db59 fix: guest创建兼容keypair参数 2020-02-07 15:08:20 +08:00
Zexi Li
091e116c53 Merge pull request #5007 from swordqiu/feature/qj-customize-api-docs-auth-quota
feature: fix customized API documents for authenticate and quota
2020-02-07 13:11:09 +08:00
Zexi Li
3bba4a11e8 Merge pull request #5042 from wanyaoqi/feature/wyq/baremetal-register-add-update
bm register support update baremetal
2020-02-07 13:04:07 +08:00
Zexi Li
805d0bf18d Merge pull request #5026 from swordqiu/hotfix/qj-api-rpc-redundant-response
fix: api gateway rpc handler redundant response
2020-02-07 13:03:11 +08:00
yunion-ci-robot
978e1439d9 Merge pull request #5038 from ioito/hotfix/qx-cloud-account-create-check
fix: 避免因tenantcache未缓存tenant导致创建云账号失败
2020-02-07 04:53:51 +08:00
yunion-ci-robot
d064882903 Merge pull request #5032 from tb365/bugfix/tb-bugfix-0206
aws create with eip fix
2020-02-07 04:49:50 +08:00
wanyaoqi
49b9557d23 bm register support update baremetal 2020-02-06 22:22:38 +08:00
Qu Xuan
3d68e95a9f fix: 避免因tenantcache未缓存tenant导致创建云账号失败 2020-02-06 18:27:14 +08:00
yunion-ci-robot
fe49fcb016 Merge pull request #5029 from ioito/bugfix/qx-gcp-secgrp-sync
fix: 修复gcp安全组同步问题
2020-02-06 17:51:50 +08:00
tangbin
4dfeb6cb30 aws create with eip fix 2020-02-06 17:47:01 +08:00
Qu Xuan
5ec366f5fd fix: 修复gcp安全组同步问题 2020-02-06 17:01:45 +08:00
Qiu Jian
03f1d3cf33 fix: api gateway rpc handler redudant response 2020-02-06 16:57:47 +08:00
yunion-ci-robot
3bb24c8173 Merge pull request #5021 from ioito/upstream/qx-linux-userdata
fix: 避免因大小写导致linux未注入默认用户
2020-02-06 13:48:51 +08:00
Qu Xuan
8937347bc9 fix: 避免因大小写导致linux未注入默认用户 2020-02-06 12:00:14 +08:00
yunion-ci-robot
95cf064d44 Merge pull request #5014 from swordqiu/hotfix/qj-support-empty-dns-domain
fix: support empty dns domain
2020-02-06 09:38:48 +08:00
yunion-ci-robot
53c2fab0c1 Merge pull request #5012 from swordqiu/hotfix/qj-network-update-fix
fix: network update error caused by vpc feature
2020-02-06 09:33:48 +08:00
Qiu Jian
a30e0d4586 fix: support empty dns domain 2020-02-06 03:23:28 +08:00
Qiu Jian
679845080b fix: network update error caused by vpc feature 2020-02-06 03:07:52 +08:00
yunion-ci-robot
a79b0d81df Merge pull request #5010 from yousong/bugfix/yousong-vpc
vpcagent: ignore external stub guestnetworks
2020-02-06 01:49:53 +08:00
Qiu Jian
91711a1321 feature: fix customized API documents for authenticate and quota 2020-02-06 01:45:15 +08:00
Yousong Zhou
a18e246363 vpcagent: ignore external stub guestnetworks 2020-02-05 11:27:41 +08:00
yunion-ci-robot
98df377b4d Merge pull request #5008 from yousong/bugfix/yousong-vpc
hostman: fix hostinfo init interrupted by ovn chassis setup
2020-02-05 10:22:47 +08:00
Yousong Zhou
b40e0d9de7 hostman: fix hostinfo init interrupted by ovn chassis setup
Causing sysinfo.SSystemInfo not initialized

[E 200205 09:45:49 timeutils2.AddTimeout.func1.1(timeutils.go:31)] runtime error: invalid memory address or nil pointer dereference
goroutine 405 [running]:
runtime/debug.Stack(0x551210, 0xc0000de1c0, 0x0)
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/debug/stack.go:16 +0x22
yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout.func1.1()
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:32 +0x96
panic(0x1b208e0, 0x3bd1880)
        /opt/hostedtoolcache/go/1.12.16/x64/src/runtime/panic.go:522 +0x1b5
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).updateHostRecord(0xc0009a8a80, 0xc000aff3b0, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:866 +0xbba
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).getHostInfo(0xc0009a8a80, 0xc00099a510, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:782 +0x37d
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).getZoneInfo(0xc0009a8a80, 0xc00099a4b0, 0x24, 0x0)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:760 +0x55c
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).onGetWireId(0xc0009a8a80, 0xc000aff2f0, 0x24)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:734 +0x16a
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).fetchAccessNetworkInfo(0xc0009a8a80)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:719 +0x3ee
yunion.io/x/onecloud/pkg/hostman/hostinfo.(*SHostInfo).register(...)
        /home/runner/work/onecloud/onecloud/pkg/hostman/hostinfo/hostinfo.go:662
yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout.func1(0x77359400, 0xc000925520)
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:37 +0x6b
created by yunion.io/x/onecloud/pkg/util/timeutils2.AddTimeout
        /home/runner/work/onecloud/onecloud/pkg/util/timeutils2/timeutils.go:28 +0x49
2020-02-05 10:06:33 +08:00
yunion-ci-robot
d6f6ce5251 Merge pull request #5005 from yousong/bugfix/yousong-vpc
hostman: skip setting up ovn chassis when env support is not ready
2020-02-05 02:14:45 +08:00
yunion-ci-robot
26fe4abe85 Merge pull request #4996 from zhaoxiangchun/feature/zxc-azureMon
azure的主机监控信息的获取
2020-02-05 01:50:49 +08:00
Yousong Zhou
0c258408e1 hostman: skip setting up ovn chassis when env support is not ready 2020-02-04 17:12:25 +08:00
Yousong Zhou
985326a7ad hostman: fix detection of ovn controller version 2020-02-04 17:12:25 +08:00
Zexi Li
7a0ea299b8 Merge pull request #4921 from ioito/feature/qx-extra-detail
Feature/qx extra detail
2020-02-04 15:55:44 +08:00
zhaoxiangchun
b474ee30de modify files by github comments 2020-02-04 10:23:09 +08:00
zhaoxiangchun
7adcab4c63 azure的主机监控信息的获取
monitor.go中的GetMonitorData函数完成参数的组装,查询获取监控信息
2020-02-03 21:18:03 +08:00
Qu Xuan
76d974f6d8 feature: api -> response struct 2020-02-03 10:22:44 +08:00
1663 changed files with 216975 additions and 17799 deletions

View File

@@ -1,9 +1,15 @@
**这个 PR 实现什么功能/修复什么问题**:
<!--
- [ ] 功能、bugfix描述
- [ ] 冒烟测试
- [ ] 单元测试编写
-->
**是否需要 backport 到之前的 release 分支**:
<!--
如果不需要,填写 "NONE".
如果需要,就以下面 item 的格式写 release 分支名,并提交对应的 cherry-pick PR:
- release/2.8.0
- release/2.6.0
- release/3.1
-->

View File

@@ -41,6 +41,36 @@ jobs:
make cmd/esxi-agent
make docker-alpine-build F='-j4 cmd/host cmd/vpcagent cmd/region-dns'
- name: Image region
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/region
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.region
- name: Image host
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host
- name: Image host-deployer
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host-deployer
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host-deployer
- name: Image baremetal-agent
uses: elgohr/Publish-Docker-Github-Action@master
with:
@@ -101,16 +131,6 @@ jobs:
snapshot: true
dockerfile: build/docker/Dockerfile.logger
- name: Image region
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/region
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.region
- name: Image scheduler
uses: elgohr/Publish-Docker-Github-Action@master
with:
@@ -181,26 +201,6 @@ jobs:
snapshot: true
dockerfile: build/docker/Dockerfile.notify
- name: Image host
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host
- name: Image host-deployer
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: registry.cn-beijing.aliyuncs.com/yunionio/host-deployer
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
registry: registry.cn-beijing.aliyuncs.com
snapshot: true
dockerfile: build/docker/Dockerfile.host-deployer
- name: Image cloudevent
uses: elgohr/Publish-Docker-Github-Action@master
with:

1
.gitignore vendored
View File

@@ -30,6 +30,7 @@ _output
/relay
/structargtest
.idea
.vscode
GPATH
GRTAGS
GTAGS

View File

@@ -10,7 +10,7 @@ BUILD_SCRIPT := $(ROOT_DIR)/build/build.sh
ifeq ($(ONECLOUD_CI_BUILD),)
GIT_COMMIT := $(shell git rev-parse --short HEAD)
GIT_BRANCH := $(shell git name-rev --name-only HEAD)
GIT_VERSION := $(shell git describe --tags --abbrev=14 $(GIT_COMMIT)^{commit})
GIT_VERSION := $(shell git describe --always --tags --abbrev=14 $(GIT_COMMIT)^{commit})
GIT_TREE_STATE := $(shell s=`git status --porcelain 2>/dev/null`; if [ -z "$$s" ]; then echo "clean"; else echo "dirty"; fi)
BUILD_DATE := $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
else
@@ -51,6 +51,7 @@ ifdef LIBQEMUIO_PATH
X_CGO_LDFLAGS := ${CGO_LDFLAGS_ENV} -laio -lqemuio -lpthread -L ${LIBQEMUIO_PATH}/src
endif
export GOOS ?= linux
export GO111MODULE:=on
export CGO_CFLAGS = ${X_CGO_CFLAGS}
export CGO_LDFLAGS = ${X_CGO_LDFLAGS}
@@ -75,7 +76,7 @@ install: prepare_dir
gencopyright:
@sh scripts/gencopyright.sh pkg cmd
@bash scripts/gencopyright.sh pkg cmd
test:
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage')
@@ -187,7 +188,7 @@ dep:
@$(MAKE) mod
mod:
go get $(patsubst %,%@master,$(shell GO111MODULE=on go mod edit -print | sed -n -e 's|.*\(yunion.io/x/[a-z].*\) v.*|\1|p'))
go get -d $(patsubst %,%@master,$(shell GO111MODULE=on go mod edit -print | sed -n -e 's|.*\(yunion.io/x/[a-z].*\) v.*|\1|p'))
go mod tidy
go mod vendor -v
@@ -290,10 +291,15 @@ gen-swagger: gen-swagger-check
$(ROOT_DIR)/scripts/codegen.py swagger-code
$(ROOT_DIR)/scripts/codegen.py swagger-yaml
swagger-serve: gen-swagger
swagger-serve-only:
$(ROOT_DIR)/scripts/codegen.py swagger-serve
.PHONY: gen-model-api-check gen-model-api gen-swagger-check gen-swagger swagger-serve
swagger-serve: gen-model-api gen-swagger swagger-serve-only
swagger-site: gen-model-api gen-swagger
$(ROOT_DIR)/scripts/codegen.py swagger-site
.PHONY: gen-model-api-check gen-model-api gen-swagger-check gen-swagger swagger-serve swagger-site
REGISTRY ?= "registry.cn-beijing.aliyuncs.com/yunionio"
VERSION ?= $(shell git describe --exact-match 2> /dev/null || \

View File

@@ -1,3 +1,3 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:latest
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:1.0.0
ADD ./_output/bin/ansibleserver /opt/yunion/bin/ansibleserver
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver

View File

@@ -1,13 +1,11 @@
FROM frolvlad/alpine-glibc:glibc-2.28
FROM alpine:3.11.6
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"
MAINTAINER "Yousong Zhou <zhouyousong@yunionyun.com>"
ENV TZ Asia/Shanghai
RUN mkdir -p /opt/yunion/bin
RUN apk update && \
apk add --no-cache tzdata ansible ca-certificates && \
rm -rf /var/cache/apk/*
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# openssh-client, for ansible ssh connection
RUN set -x \
&& apk update \
&& apk add openssh-client \
&& apk add ansible \
&& apk add tzdata ca-certificates \
&& rm -rf /var/cache/apk/*

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:v0.0.2
FROM registry.cn-beijing.aliyuncs.com/yunionio/host-deployer-base:v0.0.3
MAINTAINER "Yaoqi Wan wanyaoqi@yunionyun.com"

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{{.os_type}} 镜像 {{.name}} 上传完成

View File

@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<table style="width: 650px; margin-bottom: 20px;" border="0" cellpadding="0" cellspacing="0" align="center">
<tr style="height: 50px; background: #333; overflow: hidden;">
<td>
<table style="margin-left: 20px;">
<tr>
<td>
<img src="data:{{.login_logo_format}};base64,{{.login_logo}}" alt="" style="color: #fff; height: 32px; vertical-align: middle;">
</td>
</tr>
</table>
</td>
<td>
<table style="float: right;">
<tr>
<td style="padding-left: 20px; padding-right: 20px;">
<a href="" style="text-decoration: none; color: #20A0FF; font-size: 12px; display: none;">产品</a>
</td>
<td style="padding-left: 20px; padding-right: 20px;">
<a href="" style="text-decoration: none; color: #20A0FF; font-size: 12px; display: none;">解决方案</a>
</td>
<td style="padding-left: 20px; padding-right: 20px;">
<a href="" style="text-decoration: none; color: #20A0FF; font-size: 12px; display: none;">服务</a>
</td>
<td style="padding-left: 20px; padding-right: 20px;">
<a href="" style="text-decoration: none; color: #20A0FF; font-size: 12px; display: none;">帮助与文档</a>
</td>
<td style="padding-left: 20px; padding-right: 20px;">
<a href="" style="text-decoration: none; color: #20A0FF; font-size: 12px; display: none;">关于我们</a>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="width: 100%;" colspan="2">
<table style="padding: 20px 10px; width: 100%;">
<tr>
<td style="padding-bottom: 20px;">
亲爱的{{.name}},您好:
</td>
</tr>
<tr>
<td style="padding-bottom: 10px;">请点击下面的链接,完成用户邮箱的激活:</td>
</tr>
<tr>
<td style="padding-bottom: 30px;"><a href="{{.link}}">{{.link}}</a></td>
</tr>
</table>
</td>
</tr>
<tr style="width: 96%;">
<td colspan="2" style="border-top: 1px dashed #ccc; color: #333; font-size: 12px; padding-bottom: 10px; font-weight: 100;">*为了确保您的帐号安全该链接仅48小时内访问有效请勿直接回复此邮件。</td>
</tr>
<tr>
<td colspan="2" style="background: #333; text-align: right; padding-right: 20px; font-size: 12px; color: #fff; height: 50px;">版权所有 © {{.copyright}} 保留一切权利</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1 @@
镜像 {{.name}} 上传完成

View File

@@ -0,0 +1 @@
Yunion Verify

View File

@@ -0,0 +1,42 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type BillTasksCreateOptions struct {
options.BaseListOptions
CloudaccountId string `help:"cloudaccount Id" required:"true"`
StartDay int `help:"start day of billing cycle, example: 20060102"`
EndDay int `help:"end day of billing cycle, example: 20060102"`
}
R(&BillTasksCreateOptions{}, "bill-tasks-create", "create bill task",
func(s *mcclient.ClientSession, args *BillTasksCreateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.BillTasks.Create(s, params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -32,12 +32,22 @@ import (
func init() {
type BucketListOptions struct {
options.BaseListOptions
DistinctField string `help:"query specified distinct field"`
}
R(&BucketListOptions{}, "bucket-list", "List all buckets", func(s *mcclient.ClientSession, args *BucketListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
if len(args.DistinctField) > 0 {
params.Add(jsonutils.NewString(args.DistinctField), "extra_field")
result, err := modules.Buckets.Get(s, "distinct-field", params)
if err != nil {
return err
}
fmt.Println(result)
return nil
}
result, err := modules.Buckets.List(s, params)
if err != nil {
return err
@@ -46,10 +56,10 @@ func init() {
return nil
})
type BucketShowOptions struct {
type BucketIdOptions struct {
ID string `help:"ID or name of bucket"`
}
R(&BucketShowOptions{}, "bucket-show", "Show details of bucket", func(s *mcclient.ClientSession, args *BucketShowOptions) error {
R(&BucketIdOptions{}, "bucket-show", "Id details of bucket", func(s *mcclient.ClientSession, args *BucketIdOptions) error {
result, err := modules.Buckets.Get(s, args.ID, nil)
if err != nil {
return err
@@ -58,6 +68,15 @@ func init() {
return nil
})
R(&BucketIdOptions{}, "bucket-syncstatus", "Sync bucket statust", func(s *mcclient.ClientSession, args *BucketIdOptions) error {
result, err := modules.Buckets.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type BucketUpdateOptions struct {
ID string `help:"ID or name of bucket" json:"-"`
Name string `help:"new name of bucket" json:"name"`

View File

@@ -53,6 +53,9 @@ func init() {
type CloudaccountListOptions struct {
options.BaseListOptions
Capability []string `help:"capability filter" choices:"project|compute|network|loadbalancer|objectstore|rds|cache|event"`
DistinctField string `help:"distinct field"`
ProxySetting string `help:"Proxy setting id or name"`
}
R(&CloudaccountListOptions{}, "cloud-account-list", "List cloud accounts", func(s *mcclient.ClientSession, args *CloudaccountListOptions) error {
var params *jsonutils.JSONDict
@@ -65,6 +68,18 @@ func init() {
if len(args.Capability) > 0 {
params.Add(jsonutils.NewStringArray(args.Capability), "capability")
}
if len(args.ProxySetting) > 0 {
params.Add(jsonutils.NewString(args.ProxySetting), "proxy_setting")
}
}
if len(args.DistinctField) > 0 {
params.Add(jsonutils.NewString(args.DistinctField), "extra_field")
result, err := modules.Cloudaccounts.Get(s, "distinct-field", params)
if err != nil {
return err
}
fmt.Println(result)
return nil
}
result, err := modules.Cloudaccounts.List(s, params)
if err != nil {
@@ -738,6 +753,129 @@ func init() {
return nil
})
R(&options.SVMwareCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-vmware", "Update credential of a VMware cloud account", func(s *mcclient.ClientSession, args *options.SVMwareCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SAliyunCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-aliyun", "Update credential of an Aliyun cloud account", func(s *mcclient.ClientSession, args *options.SAliyunCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SAzureCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-azure", "Update credential of an Azure cloud account", func(s *mcclient.ClientSession, args *options.SAzureCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SQcloudCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-qcloud", "Update credential of a Qcloud cloud account", func(s *mcclient.ClientSession, args *options.SQcloudCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SAWSCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-aws", "Update credential of an AWS cloud account", func(s *mcclient.ClientSession, args *options.SAWSCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SOpenStackCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-openstack", "Update credential of an OpenStack cloud account", func(s *mcclient.ClientSession, args *options.SOpenStackCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SHuaweiCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-huawei", "Update credential of an Huawei cloud account", func(s *mcclient.ClientSession, args *options.SHuaweiCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SUcloudCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-ucloud", "Update credential of a Ucloud cloud account", func(s *mcclient.ClientSession, args *options.SUcloudCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SZStackCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-zstack", "Update credential of a ZStack cloud account", func(s *mcclient.ClientSession, args *options.SZStackCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SGoogleCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-google", "Update credential of a Google cloud account", func(s *mcclient.ClientSession, args *options.SGoogleCloudAccountUpdateCredentialOptions) error {
params, err := parseGcpCredential(args.GoogleJsonFile)
if err != nil {
return err
}
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SS3CloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-s3", "Update credential of a generic S3 cloud account", func(s *mcclient.ClientSession, args *options.SS3CloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.SCtyunCloudAccountUpdateCredentialOptions{}, "cloud-account-test-connectivity-ctyun", "Update credential of an Ctyun cloud account", func(s *mcclient.ClientSession, args *options.SCtyunCloudAccountUpdateCredentialOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "test-connectivity", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type CloudaccountSyncOptions struct {
ID string `help:"ID or Name of cloud account"`
Force bool `help:"Force sync no matter what"`
@@ -801,10 +939,14 @@ func init() {
})
type CloudaccountPublicOptions struct {
ID string `help:"ID or name of cloud account"`
ID string `help:"ID or name of cloud account" json:"-"`
Scope string `help:"public_sccope" choices:"domain|system" json:"scope"`
SharedDomains []string `help:"shared domains" json:"shared_domains"`
ShareMode string `help:"share_mode" choices:"account_domain|provider_domain|system"`
}
R(&CloudaccountPublicOptions{}, "cloud-account-public", "Mark this cloud account public ", func(s *mcclient.ClientSession, args *CloudaccountPublicOptions) error {
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "public", nil)
params := jsonutils.Marshal(args)
result, err := modules.Cloudaccounts.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
@@ -864,4 +1006,47 @@ func init() {
printObject(result)
return nil
})
type ClouaccountChangeOwnerOptions struct {
ID string `help:"ID or name of cloudaccount" json:"-"`
ProjectDomain string `json:"project_domain" help:"target domain"`
}
R(&ClouaccountChangeOwnerOptions{}, "cloud-account-change-owner", "Change owner domain of cloudaccount", func(s *mcclient.ClientSession, args *ClouaccountChangeOwnerOptions) error {
if len(args.ProjectDomain) == 0 {
return fmt.Errorf("empty project_domain")
}
params := jsonutils.Marshal(args)
ret, err := modules.Cloudaccounts.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
type ClouaccountChangeProjectOptions struct {
ID string `help:"ID or name of cloudaccount" json:"-"`
PROJECT string `json:"project" help:"target domain"`
}
R(&ClouaccountChangeProjectOptions{}, "cloud-account-change-project", "Change domain/project of cloudaccount", func(s *mcclient.ClientSession, args *ClouaccountChangeProjectOptions) error {
if len(args.PROJECT) == 0 {
return fmt.Errorf("empty project")
}
params := jsonutils.Marshal(args)
ret, err := modules.Cloudaccounts.PerformAction(s, args.ID, "change-project", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&CloudaccountShowOptions{}, "cloud-account-change-owner-candidate-domains", "Show candiate domains of a cloud account changing project", func(s *mcclient.ClientSession, args *CloudaccountShowOptions) error {
result, err := modules.Cloudaccounts.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -0,0 +1,60 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type CloudproviderQuotaListOptions struct {
options.BaseListOptions
Cloudregion string `help:"ID or Name of Cloudregion"`
QuotaType string `help:"Quota type"`
QuotaRange string `help:"Quota range" choices:"cloudregion|cloudprovider"`
}
R(&CloudproviderQuotaListOptions{}, "cloud-provider-quota-list", "List cloudprovider quota", func(s *mcclient.ClientSession, args *CloudproviderQuotaListOptions) error {
params, err := args.Params()
if err != nil {
return err
}
if len(args.QuotaType) > 0 {
params.Add(jsonutils.NewString(args.QuotaType), "quota_type")
}
if len(args.QuotaRange) > 0 {
params.Add(jsonutils.NewString(args.QuotaRange), "quota_range")
}
if len(args.Cloudregion) > 0 {
params.Add(jsonutils.NewString(args.Cloudregion), "cloudregion")
}
result, err := modules.CloudproviderQuotas.List(s, params)
if err != nil {
return err
}
printList(result, modules.CloudproviderQuotas.GetColumns(s))
return nil
})
}

View File

@@ -27,6 +27,8 @@ func init() {
type CloudproviderRegionListOptions struct {
options.BaseListOptions
Region string `help:"ID or Name of Host"`
Capability []string `help:"capability filter" choices:"project|compute|network|loadbalancer|objectstore|rds|cache|event"`
}
R(&CloudproviderRegionListOptions{}, "cloud-provider-region-list", "List cloudprovider region synchronization status", func(s *mcclient.ClientSession, args *CloudproviderRegionListOptions) error {
var params *jsonutils.JSONDict

View File

@@ -34,6 +34,7 @@ func init() {
HasObjectStorage bool `help:"filter cloudproviders that has object storage"`
NoObjectStorage bool `help:"filter cloudproviders that has no object storage"`
Capability []string `help:"capability filter" choices:"project|compute|network|loadbalancer|objectstore|rds|cache|event"`
Cloudregion string `help:"filter cloudproviders by cloudregion"`
}
R(&CloudproviderListOptions{}, "cloud-provider-list", "List cloud providers", func(s *mcclient.ClientSession, args *CloudproviderListOptions) error {
var params *jsonutils.JSONDict
@@ -57,6 +58,10 @@ func init() {
if len(args.Capability) > 0 {
params.Add(jsonutils.NewStringArray(args.Capability), "capability")
}
if len(args.Cloudregion) > 0 {
params.Add(jsonutils.NewString(args.Cloudregion), "cloudregion")
}
}
result, err := modules.Cloudproviders.List(s, params)
if err != nil {
@@ -245,4 +250,13 @@ func init() {
printObject(result)
return nil
})
R(&CloudproviderShowOptions{}, "cloud-provider-change-owner-candidate-domains", "Show candiate domains of a cloud provider changing owner", func(s *mcclient.ClientSession, args *CloudproviderShowOptions) error {
result, err := modules.Cloudproviders.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -15,6 +15,8 @@
package shell
import (
"fmt"
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
@@ -32,12 +34,25 @@ func init() {
Service string `help:"List regions which service has available skus" choices:"dbinstances|servers"`
City string `help:"List regions in the specified city"`
Capability []string `help:"capability filter" choices:"project|compute|network|loadbalancer|objectstore|rds|cache|event"`
DistinctField string `help:"list the specified distinct field, e.g. city, region"`
}
R(&CloudregionListOptions{}, "cloud-region-list", "List cloud regions", func(s *mcclient.ClientSession, opts *CloudregionListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
if len(opts.DistinctField) > 0 {
params.Add(jsonutils.NewString(opts.DistinctField), "extra_field")
result, err := modules.Cloudregions.Get(s, "distinct-field", params)
if err != nil {
return err
}
fmt.Println(result)
return nil
}
result, err := modules.Cloudregions.List(s, params)
if err != nil {
return err

View File

@@ -38,7 +38,11 @@ func init() {
if err != nil {
return err
}
printList(result, modules.DBInstanceBackups.GetColumns(s))
if len(opts.ExportFile) > 0 {
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.DBInstanceBackups.GetColumns(s))
} else {
printList(result, modules.DBInstanceBackups.GetColumns(s))
}
return nil
})
@@ -80,6 +84,15 @@ func init() {
return nil
})
R(&DBInstanceBackupIdOptions{}, "dbinstance-backup-syncstatus", "Sync DB instance backup status", func(s *mcclient.ClientSession, opts *DBInstanceBackupIdOptions) error {
result, err := modules.DBInstanceBackups.PerformAction(s, opts.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&DBInstanceBackupIdOptions{}, "dbinstance-backup-delete", "Delete DB instance backup", func(s *mcclient.ClientSession, opts *DBInstanceBackupIdOptions) error {
result, err := modules.DBInstanceBackups.Delete(s, opts.ID, nil)
if err != nil {

View File

@@ -41,7 +41,12 @@ func init() {
if err != nil {
return err
}
printList(result, modules.DBInstance.GetColumns(s))
if len(opts.ExportFile) > 0 {
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.DBInstance.GetColumns(s))
} else {
printList(result, modules.DBInstance.GetColumns(s))
}
return nil
})
@@ -258,6 +263,24 @@ func init() {
return nil
})
R(&DBInstanceIdOptions{}, "dbinstance-syncstatus", "Sync status for DB instance", func(s *mcclient.ClientSession, opts *DBInstanceIdOptions) error {
result, err := modules.DBInstance.PerformAction(s, opts.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&DBInstanceIdOptions{}, "dbinstance-sync", "Sync conf from cloud dbinstance", func(s *mcclient.ClientSession, opts *DBInstanceIdOptions) error {
result, err := modules.DBInstance.PerformAction(s, opts.ID, "sync", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&DBInstanceIdOptions{}, "dbinstance-sync-status", "Sync status for DB instance", func(s *mcclient.ClientSession, opts *DBInstanceIdOptions) error {
result, err := modules.DBInstance.PerformAction(s, opts.ID, "sync-status", nil)
if err != nil {

View File

@@ -107,7 +107,7 @@ func init() {
R(
&options.DevtoolTemplateBindingOptions{},
"devtooltemplate-unbind",
"Binding devtool template to a host/vm",
"UnBinding devtool template to a host/vm",
func(s *mcclient.ClientSession, opts *options.DevtoolTemplateBindingOptions) error {
params := jsonutils.NewDict()
params.Set("server_id", jsonutils.NewString(opts.ServerID))

View File

@@ -133,6 +133,15 @@ func init() {
return nil
})
R(&DiskDetailOptions{}, "disk-syncstatus", "Sync status for disk", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
ret, e := modules.Disks.PerformAction(s, args.ID, "syncstatus", nil)
if e != nil {
return e
}
printObject(ret)
return nil
})
type DiskUpdateOptions struct {
ID string `help:"ID or name of disk"`
Name string `help:"New name of disk"`
@@ -282,4 +291,14 @@ func init() {
printObject(srv)
return nil
})
R(&DiskDetailOptions{}, "disk-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *DiskDetailOptions) error {
result, err := modules.Disks.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -0,0 +1,48 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"fmt"
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
)
func init() {
type DistinctFieldOption struct {
MODULE string `help:"module name"`
FIELD string `help:"distinct field name to query"`
}
R(&DistinctFieldOption{}, "distinct-field", "Query values of a distinct field for a module", func(s *mcclient.ClientSession, args *DistinctFieldOption) error {
mod, err := modulebase.GetModule(s, args.MODULE)
if err != nil || mod == nil {
if err != nil {
return fmt.Errorf("module %s not found %s", args.MODULE, err)
}
return fmt.Errorf("No module %s found", args.MODULE)
}
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.FIELD), "extra_field")
result, err := mod.Get(s, "distinct-field", params)
if err != nil {
return err
}
fmt.Println(result)
return nil
})
}

View File

@@ -83,6 +83,8 @@ func init() {
Desc string `help:"Description"`
Enabled bool `help:"Set the domain enabled"`
Disabled bool `help:"Set the domain disabled"`
Displayname string `help:"display name"`
}
R(&DomainCreateOptions{}, "domain-create", "Create a new domain", func(s *mcclient.ClientSession, args *DomainCreateOptions) error {
params := jsonutils.NewDict()
@@ -95,6 +97,9 @@ func init() {
} else if !args.Enabled && args.Disabled {
params.Add(jsonutils.JSONFalse, "enabled")
}
if len(args.Displayname) > 0 {
params.Add(jsonutils.NewString(args.Displayname), "displayname")
}
result, err := modules.Domains.Create(s, params)
if err != nil {
return err
@@ -110,6 +115,8 @@ func init() {
Enabled bool `help:"Set the domain enabled"`
Disabled bool `help:"Set the domain disabled"`
Driver string `help:"Set the domain Driver"`
Displayname string `help:"display name"`
}
R(&DomainUpdateOptions{}, "domain-update", "Update a domain", func(s *mcclient.ClientSession, args *DomainUpdateOptions) error {
obj, err := modules.Domains.Get(s, args.ID, nil)
@@ -136,6 +143,9 @@ func init() {
} else if !args.Enabled && args.Disabled {
params.Add(jsonutils.JSONFalse, "enabled")
}
if len(args.Displayname) > 0 {
params.Add(jsonutils.NewString(args.Displayname), "displayname")
}
result, err := modules.Domains.Patch(s, objId, params)
if err != nil {
return err

View File

@@ -75,6 +75,16 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-syncstatus", "Sync elastisc cache instance status", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
result, err := modules.ElasticCache.PerformAction(s, opts.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-delete", "Delete elastisc cache instance", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
result, err := modules.ElasticCache.Delete(s, opts.ID, nil)
if err != nil {

View File

@@ -170,6 +170,15 @@ func init() {
return nil
})
R(&EipSingleOptions{}, "eip-syncstatus", "Synchronize status of an EIP", func(s *mcclient.ClientSession, args *EipSingleOptions) error {
result, err := modules.Elasticips.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type ServerCreateEipOptions struct {
ID string `help:"server ID or name"`
BW int `help:"EIP bandwidth in Mbps"`

View File

@@ -64,14 +64,15 @@ func init() {
})
type EndpointCreateOptions struct {
SERVICE string `help:"Service ID or Name"`
REGION string `help:"Region"`
INTERFACE string `help:"Interface types" choices:"internal|public|admin|console"`
URL string `help:"URL"`
Zone string `help:"Zone"`
Name string `help:"Name"`
Enabled bool `help:"Enabled"`
Disabled bool `help:"Disabled"`
SERVICE string `help:"Service ID or Name"`
REGION string `help:"Region"`
INTERFACE string `help:"Interface types" choices:"internal|public|admin|console"`
URL string `help:"URL"`
Zone string `help:"Zone"`
Name string `help:"Name"`
Enabled bool `help:"Enabled"`
Disabled bool `help:"Disabled"`
ServiceCertificate string `help:"Service certificate id or name"`
}
R(&EndpointCreateOptions{}, "endpoint-create", "Create endpoint", func(s *mcclient.ClientSession, args *EndpointCreateOptions) error {
params := jsonutils.NewDict()
@@ -95,6 +96,9 @@ func init() {
} else if !args.Enabled && args.Disabled {
params.Add(jsonutils.JSONFalse, "enabled")
}
if len(args.ServiceCertificate) > 0 {
params.Add(jsonutils.NewString(args.ServiceCertificate), "service_certificate")
}
ep, err := modules.EndpointsV3.Create(s, params)
if err != nil {
return err
@@ -104,11 +108,12 @@ func init() {
})
type EndpointUpdateOptions struct {
ID string `help:"ID or name of endpoint"`
Url string `help:"URL"`
Name string `help:"Name"`
Enabled bool `help:"Enabled"`
Disabled bool `help:"Disabled"`
ID string `help:"ID or name of endpoint"`
Url string `help:"URL"`
Name string `help:"Name"`
Enabled bool `help:"Enabled"`
Disabled bool `help:"Disabled"`
ServiceCertificate string `help:"Service certificate id or name"`
}
R(&EndpointUpdateOptions{}, "endpoint-update", "Update a endpoint", func(s *mcclient.ClientSession, args *EndpointUpdateOptions) error {
params := jsonutils.NewDict()
@@ -123,6 +128,9 @@ func init() {
} else if !args.Enabled && args.Disabled {
params.Add(jsonutils.JSONFalse, "enabled")
}
if len(args.ServiceCertificate) > 0 {
params.Add(jsonutils.NewString(args.ServiceCertificate), "service_certificate")
}
ep, err := modules.EndpointsV3.Patch(s, args.ID, params)
if err != nil {
return err

View File

@@ -34,8 +34,11 @@ type BaseEventListOptions struct {
OrderBy string `help:"order by specific field"`
Action []string `help:"Log action"`
User []string `help:"filter by operator user"`
Project []string `help:"filter by owner project"`
User string `help:"filter by operator user"`
Project string `help:"filter by operator user's project"`
OwnerProjectIds []string `help:"filter by owner project ids"`
OwnerDomainIds []string `help:"filter by owner domain ids"`
PagingMarker string `help:"marker for pagination"`
}
@@ -99,14 +102,20 @@ func doEventList(man modulebase.ResourceManager, s *mcclient.ClientSession, args
params.Add(jsonutils.NewStringArray(args.Action), "action")
}
if len(args.User) > 0 {
params.Add(jsonutils.NewStringArray(args.User), "user")
params.Add(jsonutils.NewString(args.User), "user")
}
if len(args.Project) > 0 {
params.Add(jsonutils.NewStringArray(args.Project), "project")
params.Add(jsonutils.NewString(args.Project), "project")
}
if len(args.Scope) > 0 {
params.Add(jsonutils.NewString(args.Scope), "scope")
}
if len(args.OwnerProjectIds) > 0 {
params.Add(jsonutils.NewStringArray(args.OwnerProjectIds), "owner_project_ids")
}
if len(args.OwnerDomainIds) > 0 {
params.Add(jsonutils.NewStringArray(args.OwnerDomainIds), "owner_domain_ids")
}
if len(args.PagingMarker) > 0 {
params.Add(jsonutils.NewString(args.PagingMarker), "paging_marker")
}
@@ -216,6 +225,11 @@ func init() {
return doIdentityEventList(s, &nargs)
})
R(&TypeEventListOptions{}, "idp-event", "Show operation event logs of keystone identity provider", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"identity_provider"}}
return doIdentityEventList(s, &nargs)
})
R(&TypeEventListOptions{}, "project-event", "Show operation event logs of keystone projects", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"project"}}
return doIdentityEventList(s, &nargs)

View File

@@ -15,6 +15,10 @@
package shell
import (
"fmt"
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
@@ -48,4 +52,58 @@ func init() {
printObject(result)
return nil
})
type GlobalVpcPublicOptions struct {
ID string `help:"ID or name of global vpc" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&GlobalVpcPublicOptions{}, "global-vpc-public", "Make global vpc public", func(s *mcclient.ClientSession, args *GlobalVpcPublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.GlobalVpcs.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type GlobalVpcPrivateOptions struct {
ID string `help:"ID or name of global vpc" json:"-"`
}
R(&GlobalVpcPrivateOptions{}, "global-vpc-private", "Make global vpc private", func(s *mcclient.ClientSession, args *GlobalVpcPrivateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.GlobalVpcs.PerformAction(s, args.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&GlobalVpcShowOptions{}, "global-vpc-change-owner-candidate-domains", "Show candiate domains of a global vpc for changing owner", func(s *mcclient.ClientSession, args *GlobalVpcShowOptions) error {
result, err := modules.GlobalVpcs.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type GlobalVpcChangeOwnerOptions struct {
ID string `help:"ID or name of vpc" json:"-"`
ProjectDomain string `json:"project_domain" help:"target domain"`
}
R(&GlobalVpcChangeOwnerOptions{}, "global-vpc-change-owner", "Change owner domain of a global vpc", func(s *mcclient.ClientSession, args *GlobalVpcChangeOwnerOptions) error {
if len(args.ProjectDomain) == 0 {
return fmt.Errorf("empty project_domain")
}
params := jsonutils.Marshal(args)
ret, err := modules.GlobalVpcs.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
}

View File

@@ -224,4 +224,29 @@ func init() {
printObject(sp)
return nil
})
type GroupAddUsersOptions struct {
GROUP string `help:"group Id or Name" json:"-"`
USER []string `help:"list of user id or name" json:"user"`
}
R(&GroupAddUsersOptions{}, "group-add-users", "Add users into group",
func(s *mcclient.ClientSession, args *GroupAddUsersOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Groups.PerformAction(s, args.GROUP, "add-users", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&GroupAddUsersOptions{}, "group-remove-users", "Add users into group",
func(s *mcclient.ClientSession, args *GroupAddUsersOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Groups.PerformAction(s, args.GROUP, "remove-users", params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -203,6 +203,36 @@ func init() {
return nil
})
R(&HostListOptions{}, "host-node-count", "Get host node count", func(s *mcclient.ClientSession, opts *HostListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
if opts.Empty {
params.Add(jsonutils.JSONTrue, "is_empty")
} else if opts.Occupied {
params.Add(jsonutils.JSONFalse, "is_empty")
}
if opts.Enabled {
params.Add(jsonutils.NewInt(1), "enabled")
} else if opts.Disabled {
params.Add(jsonutils.NewInt(0), "enabled")
}
if len(opts.Uuid) > 0 {
params.Add(jsonutils.NewString(opts.Uuid), "uuid")
}
if len(opts.Sn) > 0 {
params.Add(jsonutils.NewString(opts.Sn), "sn")
}
result, err := modules.Hosts.Get(s, "node-count", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type HostUpdateOptions struct {
ID string `help:"ID or Name of Host"`
Name string `help:"New name of the host"`
@@ -706,4 +736,83 @@ func init() {
}
return nil
})
type HostChangeOwnerOptions struct {
ID string `help:"ID or name of host" json:"-"`
ProjectDomain string `json:"project_domain" help:"target domain"`
}
R(&HostChangeOwnerOptions{}, "host-change-owner", "Change owner domain of host", func(s *mcclient.ClientSession, args *HostChangeOwnerOptions) error {
if len(args.ProjectDomain) == 0 {
return fmt.Errorf("empty project_domain")
}
params := jsonutils.Marshal(args)
ret, err := modules.Hosts.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
type HostPublicOptions struct {
ID string `help:"ID or name of host" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&HostPublicOptions{}, "host-public", "Make a host public", func(s *mcclient.ClientSession, args *HostPublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Hosts.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type HostPrivateOptions struct {
ID string `help:"ID or name of host" json:"-"`
}
R(&HostPrivateOptions{}, "host-private", "Make a host private", func(s *mcclient.ClientSession, args *HostPrivateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Hosts.PerformAction(s, args.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type HostChangeOwnerCandidateDomainsOptions struct {
ID string `help:"ID or name of host"`
}
R(&HostChangeOwnerCandidateDomainsOptions{}, "host-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *HostChangeOwnerCandidateDomainsOptions) error {
result, err := modules.Hosts.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type HostAutoMigrateOnHostDownOptions struct {
ID string `help:"ID or name of host"`
Enable bool `help:"enable auto migrate"`
Disable bool `help:"disable auto migrate"`
}
R(&HostAutoMigrateOnHostDownOptions{}, "host-auto-migrate-on-host-down", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *HostAutoMigrateOnHostDownOptions) error {
params := jsonutils.NewDict()
if args.Disable {
params.Set("auto_migrate_on_host_down", jsonutils.NewString("disable"))
} else if args.Enable {
params.Set("auto_migrate_on_host_down", jsonutils.NewString("enable"))
} else {
return fmt.Errorf("missing input enable or disable")
}
result, err := modules.Hosts.PerformAction(s, args.ID, "auto-migrate-on-host-down", params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -23,6 +23,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/util/shellutils"
)
func init() {
@@ -294,4 +295,36 @@ func init() {
return nil
})
type IdentityProviderConfigEditOptions struct {
IDP string `help:"identity provider name or ID"`
}
R(&IdentityProviderConfigEditOptions{}, "idp-config-edit", "Edit config yaml of an identity provider", func(s *mcclient.ClientSession, args *IdentityProviderConfigEditOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.JSONTrue, "sensitive")
conf, err := modules.IdentityProviders.GetSpecific(s, args.IDP, "config", params)
if err != nil {
return err
}
confJson, err := conf.Get("config")
if err != nil {
return err
}
content, err := shellutils.Edit(confJson.YAMLString())
if err != nil {
return err
}
yamlJson, err := jsonutils.ParseYAML(content)
if err != nil {
return err
}
config := jsonutils.NewDict()
config.Add(yamlJson, "config")
nconf, err := modules.IdentityProviders.PerformAction(s, args.IDP, "config", config)
if err != nil {
return err
}
fmt.Println(nconf.PrettyString())
return nil
})
}

View File

@@ -34,6 +34,7 @@ type ImageOptionalOptions struct {
Unprotected bool `help:"Allow image to be deleted"`
Standard bool `help:"Mark image as a standard image"`
Nonstandard bool `help:"Mark image as a non-standard image"`
Public bool `help:"make image public"`
MinDisk int64 `help:"Disk size after expanded, in MB" metavar:"MIN_DISK_SIZE_MB"`
MinRam int64 `help:"Minimal memory size required" metavar:"MIN_RAM_MB"`
VirtualSize int64 `help:"Disk size after expanded, in MB"`
@@ -53,11 +54,11 @@ type ImageOptionalOptions struct {
Hypervisor []string `help:"Prefer hypervisor type" choices:"kvm|esxi|baremetal|container|openstack|ctyun"`
DiskDriver string `help:"Perfer disk driver" choices:"virtio|scsi|pvscsi|ide|sata"`
NetDriver string `help:"Preferred network driver" choices:"virtio|e1000|vmxnet3"`
DisableUsbKbd bool `help:"Disable usb keyboard on this image(for hypervisor kvm)"`
}
func addImageOptionalOptions(s *mcclient.ClientSession, params *jsonutils.JSONDict, args ImageOptionalOptions) error {
if len(args.Format) > 0 {
params.Add(jsonutils.NewString("bare"), "container-format")
params.Add(jsonutils.NewString(args.Format), "disk-format")
}
if args.Protected && !args.Unprotected {
@@ -70,6 +71,9 @@ func addImageOptionalOptions(s *mcclient.ClientSession, params *jsonutils.JSONDi
} else if !args.Standard && args.Nonstandard {
params.Add(jsonutils.JSONFalse, "is_standard")
}
if args.Public {
params.Add(jsonutils.JSONTrue, "is_public")
}
if args.MinDisk > 0 {
params.Add(jsonutils.NewString(fmt.Sprintf("%d", args.MinDisk)), "min_disk")
}
@@ -128,6 +132,9 @@ func addImageOptionalOptions(s *mcclient.ClientSession, params *jsonutils.JSONDi
if len(args.Hypervisor) > 0 {
params.Add(jsonutils.NewString(strings.Join(args.Hypervisor, ",")), "properties", "hypervisor")
}
if args.DisableUsbKbd {
params.Add(jsonutils.NewString("true"), "properties", "disable_usb_kbd")
}
return nil
}
@@ -140,6 +147,7 @@ func init() {
Protected string `help:"filter images by protected" choices:"true|false"`
IsUefi bool `help:"list uefi image"`
Format []string `help:"Disk formats"`
SubFormats []string `help:"Sub formats"`
Name string `help:"Name filter"`
}
R(&ImageListOptions{}, "image-list", "List images", func(s *mcclient.ClientSession, args *ImageListOptions) error {
@@ -170,15 +178,14 @@ func init() {
params.Add(jsonutils.NewString(args.Name), "name")
}
if len(args.Format) > 0 {
if len(args.Format) == 1 {
params.Add(jsonutils.NewString(args.Format[0]), "disk_format")
} else {
fs := jsonutils.NewArray()
for _, f := range args.Format {
fs.Add(jsonutils.NewString(f))
}
params.Add(fs, "disk_formats")
fs := jsonutils.NewArray()
for _, f := range args.Format {
fs.Add(jsonutils.NewString(f))
}
params.Add(fs, "disk_formats")
}
if len(args.SubFormats) > 0 {
params.Add(jsonutils.Marshal(args.SubFormats), "sub_formats")
}
result, err := modules.Images.List(s, params)
if err != nil {
@@ -244,28 +251,12 @@ func init() {
return nil
})
type ImageMembershipOptions struct {
IMAGE string `help:"ID or name of image to share"`
PROJECT string `help:"ID or name of project to share image with"`
}
type ImageMembershipAddOptions struct {
ImageMembershipOptions
CanShare bool `help:"Indicating whether the project can share the image with others"`
}
R(&ImageMembershipAddOptions{}, "image-add-project", "Add a project to private image's membership list", func(s *mcclient.ClientSession, args *ImageMembershipAddOptions) error {
return modules.Images.AddMembership(s, args.IMAGE, args.PROJECT, args.CanShare)
})
R(&ImageMembershipOptions{}, "image-remove-project", "Remove a project from private image's membership list", func(s *mcclient.ClientSession, args *ImageMembershipOptions) error {
return modules.Images.RemoveMembership(s, args.IMAGE, args.PROJECT)
})
type ImageDetailOptions struct {
ID string `help:"Image ID or name"`
}
type ImageDeleteOptions struct {
ID []string `help:"Image ID or name"`
ID []string `help:"Image ID or name" json:"-"`
OverridePendingDelete *bool `help:"Delete image directly instead of pending delete" short-token:"f"`
}
R(&ImageDeleteOptions{}, "image-delete", "Delete a image", func(s *mcclient.ClientSession, args *ImageDeleteOptions) error {
@@ -278,19 +269,6 @@ func init() {
return nil
})
R(&ImageDetailOptions{}, "image-list-project", "List image members", func(s *mcclient.ClientSession, args *ImageDetailOptions) error {
imgId, e := modules.Images.GetId(s, args.ID, nil)
if e != nil {
return e
}
result, e := modules.Images.ListMemberProjects(s, imgId)
if e != nil {
return e
}
printList(result, modules.Projects.GetColumns(s))
return nil
})
type ImageCancelDeleteOptions struct {
ID string `help:"Image id or name" metavar:"IMAGE"`
}
@@ -416,14 +394,12 @@ func init() {
type ImagePublicOptions struct {
ID []string `help:"ID or name of image" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
ShareToProject []string `help:"Share to prject"`
Scope string `help:"sharing scope" choices:"system|domain|project"`
SharedProjects []string `help:"Share to projects"`
SharedDomains []string `help:"Share to domains"`
}
R(&ImagePublicOptions{}, "image-public", "Make a image public", func(s *mcclient.ClientSession, args *ImagePublicOptions) error {
params, err := options.StructToParams(args)
if err != nil {
return err
}
params := jsonutils.Marshal(args)
if len(args.ID) == 0 {
return fmt.Errorf("No image ID provided")
} else if len(args.ID) == 1 {

View File

@@ -68,7 +68,7 @@ func init() {
type HistoricProcessInstanceStaticticsOptions struct {
ID string `help:"ID of user"`
}
R(&HistoricProcessInstanceStaticticsOptions{}, "historic-process-instance-statistics", "Delete all contacts for the user", func(s *mcclient.ClientSession, args *HistoricProcessInstanceStaticticsOptions) error {
R(&HistoricProcessInstanceStaticticsOptions{}, "historic-process-instance-statistics", "Show statistics for historic process instance", func(s *mcclient.ClientSession, args *HistoricProcessInstanceStaticticsOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.ID), "user_id")

View File

@@ -65,7 +65,7 @@ func init() {
printList(result, modules.LoadbalancerClusters.GetColumns(s))
return nil
})
R(&options.LoadbalancerClusterDeleteOptions{}, "lbcluster-delete", "Show lbcluster", func(s *mcclient.ClientSession, opts *options.LoadbalancerClusterDeleteOptions) error {
R(&options.LoadbalancerClusterDeleteOptions{}, "lbcluster-delete", "Delete lbcluster", func(s *mcclient.ClientSession, opts *options.LoadbalancerClusterDeleteOptions) error {
lbagent, err := modules.LoadbalancerClusters.Delete(s, opts.ID, nil)
if err != nil {
return err

View File

@@ -99,4 +99,13 @@ func init() {
return nil
})
R(&options.LoadbalancerGetOptions{}, "lb-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *options.LoadbalancerGetOptions) error {
result, err := modules.Loadbalancers.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -16,6 +16,7 @@ package shell
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
@@ -43,7 +44,12 @@ func init() {
if err != nil {
return err
}
printObject(result)
listResult := modulebase.ListResult{}
err = result.Unmarshal(&listResult)
if err != nil {
return err
}
printList(&listResult, []string{})
return nil
})

View File

@@ -1,3 +1,17 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package monitor
import (

View File

@@ -0,0 +1,53 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package monitor
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules/monitor"
options "yunion.io/x/onecloud/pkg/mcclient/options/monitor"
)
func init() {
aN := cmdN("suggestsysalert")
R(&options.SuggestSysAlertListOptions{}, aN("list"), "List all suggestsysrules",
func(s *mcclient.ClientSession, args *options.SuggestSysAlertListOptions) error {
params, err := args.Params()
if err != nil {
return err
}
if len(args.Type) > 0 {
params.Add(jsonutils.NewString(args.Type), "type")
}
ret, err := monitor.SuggestSysAlertManager.List(s, params)
if err != nil {
return err
}
printList(ret, monitor.SuggestSysAlertManager.GetColumns(s))
return nil
})
R(&options.SSuggestAlertShowOptions{}, aN("show"), "Show details of a alert rule",
func(s *mcclient.ClientSession, args *options.SSuggestAlertShowOptions) error {
ret, err := monitor.SuggestSysAlertManager.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(ret)
return nil
})
}

View File

@@ -0,0 +1,84 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package monitor
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules/monitor"
options "yunion.io/x/onecloud/pkg/mcclient/options/monitor"
)
func init() {
aN := cmdN("suggestsysrule")
R(&options.SuggestRuleListOptions{}, aN("list"), "List all suggestsysrules",
func(s *mcclient.ClientSession, args *options.SuggestRuleListOptions) error {
params, err := args.Params()
if err != nil {
return err
}
ret, err := monitor.SuggestSysRuleManager.List(s, params)
if err != nil {
return err
}
printList(ret, monitor.SuggestSysRuleManager.GetColumns(s))
return nil
})
R(&options.SuggestRuleCreateOptions{}, aN("create"), "Create suggestsys rule",
func(s *mcclient.ClientSession, args *options.SuggestRuleCreateOptions) error {
params, err := args.Params()
if err != nil {
return err
}
ret, err := monitor.SuggestSysRuleManager.Create(s, params)
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&options.SuggestRuleShowOptions{}, aN("show"), "Show details of a alert rule",
func(s *mcclient.ClientSession, args *options.SuggestRuleShowOptions) error {
ret, err := monitor.SuggestSysRuleManager.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&options.SuggestRuleUpdateOptions{}, aN("update"), "Update a alert rule",
func(s *mcclient.ClientSession, args *options.SuggestRuleUpdateOptions) error {
params, err := args.Params()
if err != nil {
return err
}
ret, err := monitor.SuggestSysRuleManager.Update(s, args.ID, params)
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&options.SuggestRuleDeleteOptions{}, aN("delete"), "Delete alerts",
func(s *mcclient.ClientSession, args *options.SuggestRuleDeleteOptions) error {
ret := monitor.SuggestSysRuleManager.BatchDelete(s, args.ID, nil)
printBatchResults(ret, monitor.SuggestSysRuleManager.GetColumns(s))
return nil
})
}

View File

@@ -35,7 +35,7 @@ func init() {
return nil
})
R(&options.NatGatewayShowOptions{}, "natgateway-show", "Show a NAT gateway", func(s *mcclient.ClientSession, args *options.NatGatewayShowOptions) error {
R(&options.NatGatewayIdOptions{}, "natgateway-show", "Show a NAT gateway", func(s *mcclient.ClientSession, args *options.NatGatewayIdOptions) error {
results, err := modules.NatGateways.Get(s, args.ID, nil)
if err != nil {
return err
@@ -44,6 +44,15 @@ func init() {
return nil
})
R(&options.NatGatewayIdOptions{}, "natgateway-syncstatus", "Sync NAT gateway status", func(s *mcclient.ClientSession, args *options.NatGatewayIdOptions) error {
result, err := modules.NatGateways.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type NatGatewayListEipOptions struct {
ID string `help:"ID"`
}

View File

@@ -38,6 +38,7 @@ func init() {
City string `help:"search networks belongs to a city"`
Usable *bool `help:"search usable networks"`
ServerType string `help:"search networks belongs to a ServerType" choices:"guest|baremetal|container|pxe|ipmi"`
Schedtag string `help:"filter networks by schedtag"`
Status string `help:"filter by network status"`
}
@@ -55,7 +56,11 @@ func init() {
if err != nil {
return err
}
printList(result, modules.Networks.GetColumns(s))
if len(opts.ExportFile) > 0 {
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.Networks.GetColumns(s))
} else {
printList(result, modules.Networks.GetColumns(s))
}
return nil
})
@@ -139,10 +144,10 @@ func init() {
return nil
})
type NetworkShowOptions struct {
type NetworkIdOptions struct {
ID string `help:"ID or Name of the zone to show"`
}
R(&NetworkShowOptions{}, "network-show", "Show network details", func(s *mcclient.ClientSession, args *NetworkShowOptions) error {
R(&NetworkIdOptions{}, "network-show", "Show network details", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.Get(s, args.ID, nil)
if err != nil {
return err
@@ -151,7 +156,7 @@ func init() {
return nil
})
R(&NetworkShowOptions{}, "network-metadata", "Show metadata of a network", func(s *mcclient.ClientSession, args *NetworkShowOptions) error {
R(&NetworkIdOptions{}, "network-metadata", "Show metadata of a network", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.GetMetadata(s, args.ID, nil)
if err != nil {
return err
@@ -160,7 +165,7 @@ func init() {
return nil
})
R(&NetworkShowOptions{}, "network-private", "Make a network private", func(s *mcclient.ClientSession, args *NetworkShowOptions) error {
R(&NetworkIdOptions{}, "network-private", "Make a network private", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.PerformAction(s, args.ID, "private", nil)
if err != nil {
return err
@@ -169,16 +174,23 @@ func init() {
return nil
})
type NetworkShareOptions struct {
NetworkShowOptions
Scope string `help:"sharing scope" choices:"system|domain"`
ShareToProject []string `help:"Share to prject"`
}
R(&NetworkShareOptions{}, "network-public", "Make a network public", func(s *mcclient.ClientSession, args *NetworkShareOptions) error {
params, err := options.StructToParams(args)
R(&NetworkIdOptions{}, "network-syncstatus", "Sync network status", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type NetworkShareOptions struct {
NetworkIdOptions
Scope string `help:"sharing scope" choices:"system|domain|project"`
SharedProjects []string `help:"Share to prjects"`
SharedDomains []string `help:"share to domains"`
}
R(&NetworkShareOptions{}, "network-public", "Make a network public", func(s *mcclient.ClientSession, args *NetworkShareOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Networks.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
@@ -187,7 +199,7 @@ func init() {
return nil
})
R(&NetworkShowOptions{}, "network-delete", "Delete a network", func(s *mcclient.ClientSession, args *NetworkShowOptions) error {
R(&NetworkIdOptions{}, "network-delete", "Delete a network", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.Delete(s, args.ID, nil)
if err != nil {
return err
@@ -196,7 +208,7 @@ func init() {
return nil
})
R(&NetworkShowOptions{}, "network-purge", "Purge a managed network, not delete the remote entity", func(s *mcclient.ClientSession, args *NetworkShowOptions) error {
R(&NetworkIdOptions{}, "network-purge", "Purge a managed network, not delete the remote entity", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.PerformAction(s, args.ID, "purge", nil)
if err != nil {
return err
@@ -389,4 +401,30 @@ func init() {
printObject(result)
return nil
})
R(&NetworkIdOptions{}, "network-change-owner-candidate-domains", "Show candiate domains of a network for changing owner", func(s *mcclient.ClientSession, args *NetworkIdOptions) error {
result, err := modules.Networks.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type NetworkChangeOwnerOptions struct {
ID string `help:"Network to change owner" json:"-"`
PROJECT string `help:"Project ID or change" json:"tenant"`
}
R(&NetworkChangeOwnerOptions{}, "network-change-owner", "Change owner project of a network", func(s *mcclient.ClientSession, args *NetworkChangeOwnerOptions) error {
params, err := options.StructToParams(args)
if err != nil {
return err
}
net, err := modules.Networks.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(net)
return nil
})
}

View File

@@ -173,7 +173,7 @@ func init() {
NAME string `help:"The name of parameter"`
}
R(&ParametersDeleteOptions{}, "parameter-delete", "delete notice", func(s *mcclient.ClientSession, args *ParametersDeleteOptions) error {
R(&ParametersDeleteOptions{}, "parameter-delete", "delete parameter", func(s *mcclient.ClientSession, args *ParametersDeleteOptions) error {
params := jsonutils.NewDict()
var parameter jsonutils.JSONObject

View File

@@ -15,6 +15,7 @@
package shell
import (
"context"
"fmt"
"io/ioutil"
"strings"
@@ -136,11 +137,14 @@ func init() {
R(&PolicyPatchOptions{}, "policy-patch", "Patch policy", updateFunc)
R(&PolicyPatchOptions{}, "policy-update", "Update policy", updateFunc)
type PolicyPerformOptions struct {
ID string `help:"ID of policy to update"`
type PolicyPublicOptions struct {
ID string `help:"ID of policy to update" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&PolicyPerformOptions{}, "policy-public", "Mark a policy public", func(s *mcclient.ClientSession, args *PolicyPerformOptions) error {
result, err := modules.Policies.PerformAction(s, args.ID, "public", nil)
R(&PolicyPublicOptions{}, "policy-public", "Mark a policy public", func(s *mcclient.ClientSession, args *PolicyPublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Policies.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
@@ -148,7 +152,10 @@ func init() {
return nil
})
R(&PolicyPerformOptions{}, "policy-private", "Mark a policy private", func(s *mcclient.ClientSession, args *PolicyPerformOptions) error {
type PolicyPrivateOptions struct {
ID string `help:"ID of policy to update" json:"-"`
}
R(&PolicyPrivateOptions{}, "policy-private", "Mark a policy private", func(s *mcclient.ClientSession, args *PolicyPrivateOptions) error {
result, err := modules.Policies.PerformAction(s, args.ID, "private", nil)
if err != nil {
return err
@@ -184,11 +191,7 @@ func init() {
if err != nil {
return err
}
yaml, err := result.GetString("policy")
if err != nil {
return err
}
fmt.Println(yaml)
printObject(result)
return nil
})
@@ -380,7 +383,7 @@ func init() {
token = s.GetToken()
}
result, err := policy.PolicyManager.ExplainRpc(token, req, args.Name)
result, err := policy.ExplainRpc(context.Background(), token, req, args.Name)
if err != nil {
return err
}

View File

@@ -0,0 +1,59 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type PolicyListOptions struct {
options.BaseListOptions
Policydefinition string `help:"filter by policydefinition"`
}
R(&PolicyListOptions{}, "policy-assignment-list", "List policy assignments", func(s *mcclient.ClientSession, args *PolicyListOptions) error {
params, err := args.Params()
if err != nil {
return err
}
if len(args.Policydefinition) > 0 {
params.Add(jsonutils.NewString(args.Policydefinition), "policydefinition")
}
result, err := modules.PolicyAssignment.List(s, params)
if err != nil {
return err
}
printList(result, modules.PolicyAssignment.GetColumns(s))
return nil
})
type PolicyIdOptions struct {
ID string `help:"policy assignment id or name"`
}
R(&PolicyIdOptions{}, "policy-assignment-show", "Show policy assignment details", func(s *mcclient.ClientSession, args *PolicyIdOptions) error {
result, err := modules.PolicyAssignment.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -0,0 +1,62 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type PolicyListOptions struct {
options.BaseListOptions
}
R(&PolicyListOptions{}, "policy-definition-list", "List policy definitions", func(s *mcclient.ClientSession, args *PolicyListOptions) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := modules.PolicyDefinition.List(s, params)
if err != nil {
return err
}
printList(result, modules.PolicyDefinition.GetColumns(s))
return nil
})
type PolicyIdOptions struct {
ID string `help:"policy definition name or id"`
}
R(&PolicyIdOptions{}, "policy-definition-show", "Show policy definition", func(s *mcclient.ClientSession, args *PolicyIdOptions) error {
result, err := modules.PolicyDefinition.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&PolicyIdOptions{}, "policy-definition-syncstatus", "Sync policy definition status", func(s *mcclient.ClientSession, args *PolicyIdOptions) error {
result, err := modules.PolicyDefinition.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -82,11 +82,12 @@ func init() {
})
type ProjectCreateOptions struct {
NAME string `help:"Name of new project"`
Domain string `help:"Domain"`
Desc string `help:"Description"`
Enabled bool `help:"Project is enabled"`
Disabled bool `help:"Project is disabled"`
NAME string `help:"Name of new project"`
Displayname string `help:"display name"`
Domain string `help:"Domain"`
Desc string `help:"Description"`
Enabled bool `help:"Project is enabled"`
Disabled bool `help:"Project is disabled"`
}
R(&ProjectCreateOptions{}, "project-create", "Create a project", func(s *mcclient.ClientSession, args *ProjectCreateOptions) error {
params := jsonutils.NewDict()
@@ -106,6 +107,9 @@ func init() {
if len(args.Desc) > 0 {
params.Add(jsonutils.NewString(args.Desc), "description")
}
if len(args.Displayname) > 0 {
params.Add(jsonutils.NewString(args.Displayname), "displayname")
}
result, err := modules.Projects.Create(s, params)
if err != nil {
return err

View File

@@ -15,6 +15,8 @@
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
@@ -78,4 +80,22 @@ func init() {
printObject(proxysetting)
return nil
})
R(&options.ProxySettingPublicOptions{}, "proxysetting-public", "Make proxysetting public", func(s *mcclient.ClientSession, opts *options.ProxySettingPublicOptions) error {
params := jsonutils.Marshal(opts)
result, err := modules.ProxySettings.PerformAction(s, opts.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.ProxySettingPrivateOptions{}, "proxysetting-private", "Make proxysetting private", func(s *mcclient.ClientSession, opts *options.ProxySettingPrivateOptions) error {
params := jsonutils.Marshal(opts)
result, err := modules.ProxySettings.PerformAction(s, opts.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -94,6 +94,25 @@ type ImageQuotaOptions struct {
Image int64 `help:"Template count" json:"image,omitzero"`
}
type DomainQuotaOptions struct {
Cloudaccount int64 `help:"cloudaccount count" json:"cloudaccount,omitzero"`
}
type InfrasQuotaOptions struct {
RegionQuotaKeys
Host int64 `help:"host count" json:"host,omitzero"`
Vpc int64 `help:"vpc count" json:"vpc,omitzero"`
}
type IdentityQuotaOptions struct {
User int64 `help:"user count" json:"user,omitzero"`
Group int64 `help:"group count" json:"group,omitzero"`
Project int64 `help:"project count" json:"project,omitzero"`
Role int64 `help:"role count" json:"role,omitzero"`
Policy int64 `help:"policy count" json:"policy,omitzero"`
}
type QuotaSetBaseOptions struct {
Project string `help:"Tenant name or ID to set quota" json:"tenant,omitempty"`
Domain string `help:"Domain name or ID to set quota" json:"domain,omitempty"`
@@ -167,6 +186,33 @@ func init() {
printQuotaList(quotas)
return nil
})
R(&QuotaOptions{}, "domain-quota", "Show domain-quota for current domain", func(s *mcclient.ClientSession, args *QuotaOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.DomainQuotas.GetQuota(s, params)
if err != nil {
return err
}
printQuotaList(result)
return nil
})
R(&QuotaOptions{}, "infras-quota", "Show infras-quota for current domain", func(s *mcclient.ClientSession, args *QuotaOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.InfrasQuotas.GetQuota(s, params)
if err != nil {
return err
}
printQuotaList(result)
return nil
})
R(&QuotaOptions{}, "identity-quota", "Show identity-quota for current domain", func(s *mcclient.ClientSession, args *QuotaOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.IdentityQuotas.GetQuota(s, params)
if err != nil {
return err
}
printQuotaList(result)
return nil
})
type ComputeQuotaSetOptions struct {
QuotaSetBaseOptions
@@ -238,6 +284,48 @@ func init() {
return nil
})
type DomainQuotaSetOptions struct {
QuotaSetBaseOptions
DomainQuotaOptions
}
R(&DomainQuotaSetOptions{}, "domain-quota-set", "Set domain quota for domain", func(s *mcclient.ClientSession, args *DomainQuotaSetOptions) error {
params := jsonutils.Marshal(args)
quotas, e := modules.DomainQuotas.DoQuotaSet(s, params)
if e != nil {
return e
}
printQuotaList(quotas)
return nil
})
type InfrasQuotaSetOptions struct {
QuotaSetBaseOptions
InfrasQuotaOptions
}
R(&InfrasQuotaSetOptions{}, "infras-quota-set", "Set infrastructure quota for domain", func(s *mcclient.ClientSession, args *InfrasQuotaSetOptions) error {
params := jsonutils.Marshal(args)
quotas, e := modules.InfrasQuotas.DoQuotaSet(s, params)
if e != nil {
return e
}
printQuotaList(quotas)
return nil
})
type IdentityQuotaSetOptions struct {
QuotaSetBaseOptions
IdentityQuotaOptions
}
R(&IdentityQuotaSetOptions{}, "identity-quota-set", "Set identity quota for domain", func(s *mcclient.ClientSession, args *InfrasQuotaSetOptions) error {
params := jsonutils.Marshal(args)
quotas, e := modules.IdentityQuotas.DoQuotaSet(s, params)
if e != nil {
return e
}
printQuotaList(quotas)
return nil
})
type QuotaListOptions struct {
ProjectDomain string `help:"domain name or ID to query project quotas"`
Refresh bool `help:"refresh" json:"refresh,omitfalse"`
@@ -293,6 +381,36 @@ func init() {
return nil
})
R(&QuotaListOptions{}, "domain-quota-list", "List domain quota of domains", func(s *mcclient.ClientSession, args *QuotaListOptions) error {
params := jsonutils.Marshal(args)
result, e := modules.DomainQuotas.GetQuotaList(s, params)
if e != nil {
return e
}
printQuotaList(result)
return nil
})
R(&QuotaListOptions{}, "infras-quota-list", "List infrastructure quota of domains", func(s *mcclient.ClientSession, args *QuotaListOptions) error {
params := jsonutils.Marshal(args)
result, e := modules.InfrasQuotas.GetQuotaList(s, params)
if e != nil {
return e
}
printQuotaList(result)
return nil
})
R(&QuotaListOptions{}, "identity-quota-list", "List identity quota of domains", func(s *mcclient.ClientSession, args *QuotaListOptions) error {
params := jsonutils.Marshal(args)
result, e := modules.IdentityQuotas.GetQuotaList(s, params)
if e != nil {
return e
}
printQuotaList(result)
return nil
})
type CleanPendingUsageOptions struct {
Scope string `help:"scope" choices:"domain|project"`
Project string `help:"Tenant name or ID" json:"tenant"`
@@ -343,4 +461,30 @@ func init() {
return nil
})
R(&CleanPendingUsageOptions{}, "clean-domain-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
params := jsonutils.Marshal(args)
_, err := modules.DomainQuotas.DoCleanPendingUsage(s, params)
if err != nil {
return err
}
return nil
})
R(&CleanPendingUsageOptions{}, "clean-infras-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
params := jsonutils.Marshal(args)
_, err := modules.InfrasQuotas.DoCleanPendingUsage(s, params)
if err != nil {
return err
}
return nil
})
R(&CleanPendingUsageOptions{}, "clean-identity-pending-usage", "Clean pending usage for project or domain", func(s *mcclient.ClientSession, args *CleanPendingUsageOptions) error {
params := jsonutils.Marshal(args)
_, err := modules.IdentityQuotas.DoCleanPendingUsage(s, params)
if err != nil {
return err
}
return nil
})
}

View File

@@ -85,6 +85,8 @@ func init() {
NAME string `help:"Role name"`
Domain string `help:"Domain"`
Desc string `help:"Description"`
PublicScope string `help:"public scope" choices:"none|system"`
}
R(&RoleCreateOptions{}, "role-create", "Create a new role", func(s *mcclient.ClientSession, args *RoleCreateOptions) error {
params := jsonutils.NewDict()
@@ -99,6 +101,9 @@ func init() {
if len(args.Desc) > 0 {
params.Add(jsonutils.NewString(args.Desc), "description")
}
if len(args.PublicScope) > 0 {
params.Add(jsonutils.NewString(args.PublicScope), "public_scope")
}
role, err := modules.RolesV3.Create(s, params)
if err != nil {
return err

View File

@@ -121,7 +121,7 @@ func init() {
printObjectRecursive(routetable)
return nil
})
R(&options.RouteTableDeleteOptions{}, "routetable-delete", "Show routetable", func(s *mcclient.ClientSession, opts *options.RouteTableDeleteOptions) error {
R(&options.RouteTableDeleteOptions{}, "routetable-delete", "Delete routetable", func(s *mcclient.ClientSession, opts *options.RouteTableDeleteOptions) error {
routetable, err := modules.RouteTables.Delete(s, opts.ID, nil)
if err != nil {
return err

View File

@@ -0,0 +1,41 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type ScalingActivityListOptions struct {
options.BaseListOptions
}
R(&ScalingActivityListOptions{}, "scaling-activity-list", "List Scaling Activity",
func(s *mcclient.ClientSession, args *ScalingActivityListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
list, err := modules.ScalingActivity.List(s, params)
if err != nil {
return err
}
printList(list, modules.ScalingActivity.GetColumns(s))
return nil
},
)
}

View File

@@ -0,0 +1,145 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type ScalingGroupListOptions struct {
options.BaseListOptions
Hypervisor string `help:"Hypervisor"`
Cloudregion string `help:"Cloudregion"`
Network string `help:"network"`
}
R(&ScalingGroupListOptions{}, "scaling-group-list", "List scaling group", func(s *mcclient.ClientSession, args *ScalingGroupListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.ScalingGroup.List(s, params)
if err != nil {
return err
}
printList(result, modules.ScalingGroup.GetColumns(s))
return nil
})
type ScalingGroupShowOptions struct {
ID string
}
R(&ScalingGroupShowOptions{}, "scaling-group-show", "Show scaling group", func(s *mcclient.ClientSession,
args *ScalingGroupShowOptions) error {
result, err := modules.ScalingGroup.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type ScalingGroupCreateOptions struct {
NAME string
Hypervisor string
Cloudregion string
Network string
GuestTemplate string
MinInstanceNumber string
MaxInstanceNumber string
DesireInstanceNumber string
Loadbalance string
}
R(&ScalingGroupCreateOptions{}, "scaling-group-create", "Create scaling group", func(s *mcclient.ClientSession, args *ScalingGroupCreateOptions) error {
params := jsonutils.Marshal(args).(*jsonutils.JSONDict)
scalingGroup, err := modules.ScalingGroup.Create(s, params)
if err != nil {
return err
}
printObject(scalingGroup)
return nil
})
type ScalingGroupDeleteOptions struct {
ID string `help:"ScalingGroup ID or Name"`
}
R(&ScalingGroupDeleteOptions{}, "scaling-group-delete", "Delete Scaling Group", func(s *mcclient.ClientSession,
args *ScalingGroupDeleteOptions) error {
scalingGroup, err := modules.ScalingGroup.Delete(s, args.ID, jsonutils.NewDict())
if err != nil {
return err
}
printObject(scalingGroup)
return nil
})
type ScalingGroupListInstanceOptions struct {
ID string `help:"ScalingGroup ID or Name"`
}
R(&ScalingGroupListInstanceOptions{}, "scaling-group-list-instance", "List all instance of Scaling Group",
func(s *mcclient.ClientSession, args *ScalingGroupListInstanceOptions) error {
params := jsonutils.NewDict()
params.Set("scaling_group", jsonutils.NewString(args.ID))
servers, err := modules.Servers.List(s, params)
if err != nil {
return err
}
printList(servers, modules.Servers.GetColumns(s))
return nil
},
)
type ScalingGroupRemoveInstanceOptions struct {
ID string `help:"ScalingGroup ID or Name"`
SERVER string `help:"Server ID or Name"`
Delete bool `help:"If delete the server"`
}
R(&ScalingGroupRemoveInstanceOptions{}, "scaling-group-remove-instance", "Remove instance of ScalingGroup",
func(s *mcclient.ClientSession, args *ScalingGroupRemoveInstanceOptions) error {
params := jsonutils.NewDict()
params.Set("scaling_group", jsonutils.NewString(args.ID))
params.Set("delete_server", jsonutils.NewBool(args.Delete))
server, err := modules.Servers.PerformAction(s, args.SERVER, "detach-scaling-group", params)
if err != nil {
return err
}
printObject(server)
return nil
},
)
type ScalingGroupEnableOptions struct {
ID string `help:"ScalingGroup ID or Name"`
}
R(&ScalingGroupEnableOptions{}, "scaling-group-enable", "Enable ScalingGroup", func(s *mcclient.ClientSession,
args *ScalingGroupEnableOptions) error {
ret, err := modules.ScalingGroup.PerformAction(s, args.ID, "enable", jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&ScalingGroupEnableOptions{}, "scaling-group-disable", "Disable ScalingGroup", func(s *mcclient.ClientSession,
args *ScalingGroupEnableOptions) error {
ret, err := modules.ScalingGroup.PerformAction(s, args.ID, "disable", jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
})
}

View File

@@ -0,0 +1,188 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"time"
"yunion.io/x/jsonutils"
api "yunion.io/x/onecloud/pkg/apis/compute"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type ScalingPolicyListOptions struct {
options.BaseListOptions
ScalingGroup string `help:"ScalingGroup ID or Name"`
TriggerType string `help:"Trigger type" choices:"alarm|timing|cycle"`
}
R(&ScalingPolicyListOptions{}, "scaling-policy-list", "List Scaling Policy", func(s *mcclient.ClientSession,
args *ScalingPolicyListOptions) error {
params, err := options.ListStructToParams(args)
policies, err := modules.ScalingPolicy.List(s, params)
if err != nil {
return err
}
printList(policies, modules.ScalingPolicy.GetColumns(s))
return nil
})
type ScalingPolicyShowOptions struct {
ID string `help:"ScalingPolicy ID or Name"`
}
R(&ScalingPolicyShowOptions{}, "scaling-policy-show", "Show Scaling Policy", func(s *mcclient.ClientSession,
args *ScalingPolicyShowOptions) error {
params := jsonutils.NewDict()
params.Set("details", jsonutils.JSONTrue)
policy, err := modules.ScalingPolicy.Get(s, args.ID, params)
if err != nil {
return err
}
printObject(policy)
return nil
})
type ScalingTimer struct {
TimingExecTime time.Time `help:"Exectime for 'timing' type trigger" json:"exec_time"`
}
type ScalingCycleTimer struct {
CycleCycleType string `help:"Cycle type for 'cycle' type trigger" json:"cycle_type"`
CycleMinute int `help:"Minute of 'cycle' type trigger" json:"minute"`
CycleHour int `help:"Hour of 'cycle' type trigger" json:"hour"`
CycleWeekdays []int `help:"Weekdays for 'cycle' type trigger" json:"weekdays"`
CycleMonthDays []int `help:"Month days for 'cycle' type trigger" json:"month_days"`
CycleStartTime time.Time `help:"Start time for 'cycle' type trigger" json:"start_time"`
CycleEndTime time.Time `help:"End time for 'cycle' type trigger" json:"end_time"`
}
type ScalingAlarm struct {
AlarmCumulate int `help:"Cumulate times alarm will trigger, for 'alarm' trigger" json:"cumulate"`
AlarmCycle int `help:"Monitoring cycle for indicators, for 'alarm' trigger" json:"cycle"`
AlarmIndicator string `help:"Indicator for 'alarm' trigger" json:"indicator"`
AlarmWrapper string `help:"Wrapper for Indicators" choices:"max|min|average" json:"wrapper"`
AlarmOperator string `help:"Operator between Indicator and Operator" json:"operator"`
AlarmValue float64 `help:"Value of Indicator" json:"value"`
}
type ScalingPolicyCreateOptions struct {
NAME string `help:"ScalingPolicy Name" json:"name"`
ScalingGroup string `help:"ScalingGroup ID or Name" json:"scaling_group"`
TriggerType string `help:"Trigger type" choices:"alarm|timing|cycle" json:"trigger_type"`
ScalingTimer
ScalingCycleTimer
ScalingAlarm
Action string `help:"Action for scaling policy" choices:"add|remove|set" json:"action"`
Number int `help:"Instance number for action" json:"number"`
Unit string `help:"Unit for Number" choices:"s|%" json:"unit"`
CoolingTime int `help:"Cooling time, unit: s" json:"cooling_time"`
}
R(&ScalingPolicyCreateOptions{}, "scaling-policy-create", "Create Scaling Policy",
func(s *mcclient.ClientSession, args *ScalingPolicyCreateOptions) error {
spCreateInput := api.ScalingPolicyCreateInput{
ScalingGroup: args.ScalingGroup,
TriggerType: args.TriggerType,
Timer: api.ScalingTimerCreateInput{
args.TimingExecTime,
},
CycleTimer: api.ScalingCycleTimerCreateInput{
CycleType: args.CycleCycleType,
Minute: args.CycleMinute,
Hour: args.CycleHour,
WeekDays: args.CycleWeekdays,
MonthDays: args.CycleMonthDays,
StartTime: args.CycleStartTime,
EndTime: args.CycleEndTime,
},
Alarm: api.ScalingAlarmCreateInput{
Cumulate: args.AlarmCumulate,
Cycle: args.AlarmCycle,
Indicator: args.AlarmIndicator,
Wrapper: args.AlarmWrapper,
Operator: args.AlarmOperator,
Value: args.AlarmValue,
},
Action: args.Action,
Number: args.Number,
Unit: args.Unit,
CoolingTime: args.CoolingTime,
}
spCreateInput.Name = args.NAME
ret, err := modules.ScalingPolicy.Create(s, jsonutils.Marshal(spCreateInput))
if err != nil {
return err
}
printObject(ret)
return nil
},
)
type ScalingPolicyEnableOptions struct {
ID string `help:"ScalingPolicy ID or Name"`
}
R(&ScalingPolicyEnableOptions{}, "scaling-policy-enable", "Enable ScalingPolicy", func(s *mcclient.ClientSession,
args *ScalingPolicyEnableOptions) error {
ret, err := modules.ScalingPolicy.PerformAction(s, args.ID, "enable", jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
})
R(&ScalingPolicyEnableOptions{}, "scaling-policy-disable", "Disable ScalingPolicy",
func(s *mcclient.ClientSession, args *ScalingPolicyEnableOptions) error {
ret, err := modules.ScalingPolicy.PerformAction(s, args.ID, "disable", jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
},
)
type ScalingPolicyTriggerOptions struct {
ID string `help:"ScalingPolicy ID or Name"`
}
R(&ScalingPolicyTriggerOptions{}, "scaling-policy-trigger", "Trigger ScalingPolicy's action",
func(s *mcclient.ClientSession, args *ScalingPolicyTriggerOptions) error {
ret, err := modules.ScalingPolicy.PerformAction(s, args.ID, "trigger", jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
},
)
type ScalingPolicyDeleteOptions struct {
ID string `help:"ScalingPolicy ID or Name"`
}
R(&ScalingPolicyDeleteOptions{}, "scaling-policy-delete", "Delete SclaingPolicy",
func(s *mcclient.ClientSession, args *ScalingPolicyDeleteOptions) error {
ret, err := modules.ScalingPolicy.Delete(s, args.ID, jsonutils.NewDict())
if err != nil {
return err
}
printObject(ret)
return nil
},
)
}

View File

@@ -25,33 +25,20 @@ import (
func init() {
type SecGroupRulesListOptions struct {
options.BaseListOptions
Secgroup string `help:"Secgroup ID or Name"`
Direction string `help:"filter Direction of rule" choices:"in|out"`
Protocol string `help:"filter Protocol of rule" choices:"any|tcp|udp|icmp"`
Action string `help:"filter Actin of rule" choices:"allow|deny"`
Secgroup string `help:"Secgroup ID or Name"`
SecgroupName string `help:"Search rules by fuzzy secgroup name"`
Projects []string `help:"Filter rules by project"`
Direction string `help:"filter Direction of rule" choices:"in|out"`
Protocol string `help:"filter Protocol of rule" choices:"any|tcp|udp|icmp"`
Action string `help:"filter Actin of rule" choices:"allow|deny"`
Ports string `help:"filter Ports of rule"`
Ip string `help:"filter cidr of rule"`
}
R(&SecGroupRulesListOptions{}, "secgroup-rule-list", "List all security group", func(s *mcclient.ClientSession, args *SecGroupRulesListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
if len(args.Secgroup) > 0 {
params.Add(jsonutils.NewString(args.Secgroup), "secgroup")
}
if len(args.Direction) > 0 {
params.Add(jsonutils.NewString(args.Direction), "direction")
}
if len(args.Protocol) > 0 {
params.Add(jsonutils.NewString(args.Protocol), "protocol")
}
if len(args.Action) > 0 {
params.Add(jsonutils.NewString(args.Action), "action")
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.SecGroupRules.List(s, params)
if err != nil {
@@ -73,7 +60,7 @@ func init() {
return nil
})
R(&SecGroupRuleDetailOptions{}, "secgroup-rule-delete", "Delete a disk", func(s *mcclient.ClientSession, args *SecGroupRuleDetailOptions) error {
R(&SecGroupRuleDetailOptions{}, "secgroup-rule-delete", "Delete a secgroup rule", func(s *mcclient.ClientSession, args *SecGroupRuleDetailOptions) error {
if rule, e := modules.SecGroupRules.Delete(s, args.ID, nil); e != nil {
return e
} else {

View File

@@ -29,23 +29,15 @@ func init() {
Equals string `help:"Secgroup ID or Name, filter secgroups whose rules equals the specified one"`
Server string `help:"Filter secgroups bound to specified server"`
options.BaseListOptions
Ip string `help:"Filter secgroup by ip"`
Ports string `help:"Filter secgroup by ports"`
Direction string `help:"Filter secgroup by ports" choices:"all|in|out"`
}
R(&SecGroupsListOptions{}, "secgroup-list", "List all security group", func(s *mcclient.ClientSession, args *SecGroupsListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
if len(args.Equals) > 0 {
params.Add(jsonutils.NewString(args.Equals), "equals")
}
if len(args.Server) > 0 {
params.Add(jsonutils.NewString(args.Server), "server")
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.SecGroups.List(s, params)
if err != nil {

View File

@@ -1146,6 +1146,7 @@ func init() {
ID string `help:"ID or name of VM"`
DisableIsaSerial string `help:"disable isa serial device" choices:"true|false"`
DisablePvpanic string `help:"disable pvpanic device" choices:"true|false"`
DisableUsbKbd string `help:"disable usb kbd" choices:"true|false"`
}
R(&ServerQemuParams{}, "server-set-qemu-params", "config qemu params", func(s *mcclient.ClientSession,
@@ -1157,6 +1158,9 @@ func init() {
if len(opts.DisablePvpanic) > 0 {
params.Set("disable_pvpanic", jsonutils.NewString(opts.DisablePvpanic))
}
if len(opts.DisableUsbKbd) > 0 {
params.Set("disable_usb_kbd", jsonutils.NewString(opts.DisableUsbKbd))
}
result, err := modules.Servers.PerformAction(s, opts.ID, "set-qemu-params", params)
if err != nil {
return err
@@ -1306,4 +1310,58 @@ func init() {
}
return nil
})
type ServerPublicipToEip struct {
ID string `help:"ID or name of VM" json:"-"`
AutoStart bool `help:"Auto start new guest"`
}
R(&ServerPublicipToEip{}, "server-publicip-to-eip", "Convert PublicIp to Eip for server", func(s *mcclient.ClientSession, opts *ServerPublicipToEip) error {
params := jsonutils.NewDict()
params.Set("auto_start", jsonutils.NewBool(opts.AutoStart))
result, err := modules.Servers.PerformAction(s, opts.ID, "publicip-to-eip", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type ServerSetAutoRenew struct {
ID string `help:"ID or name of VM" json:"-"`
AutoRenew bool `help:"Set server auto renew or manual renew"`
}
R(&ServerSetAutoRenew{}, "server-set-auto-renew", "Set autorenew for server", func(s *mcclient.ClientSession, opts *ServerSetAutoRenew) error {
params := jsonutils.NewDict()
params.Set("auto_renew", jsonutils.NewBool(opts.AutoRenew))
result, err := modules.Servers.PerformAction(s, opts.ID, "set-auto-renew", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.ServerConvertToKvmOptions{}, "server-convert-to-kvm", "Convert esxi server to kvm", func(s *mcclient.ClientSession, opts *options.ServerConvertToKvmOptions) error {
params := jsonutils.Marshal(opts)
dict := params.(*jsonutils.JSONDict)
dict.Set("target_hypervisor", jsonutils.NewString("kvm"))
result, err := modules.Servers.PerformAction(s, opts.ID, "convert", dict)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&options.ServerShowOptions{}, "server-change-owner-candidate-domains", "Get change owner candidate domain list", func(s *mcclient.ClientSession, args *options.ServerShowOptions) error {
result, err := modules.Servers.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -0,0 +1,72 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package shell
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
type ServerSecgroupListOptions struct {
options.BaseListOptions
Server string `help:"ID or Name of Server"`
Secgroup string `help:"Secgroup ID or name"`
}
R(&ServerSecgroupListOptions{}, "server-secgroup-list", "List server secgroup pairs", func(s *mcclient.ClientSession, args *ServerSecgroupListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
var result *modulebase.ListResult
var err error
if len(args.Server) > 0 {
result, err = modules.Serversecgroups.ListDescendent(s, args.Server, params)
} else if len(args.Secgroup) > 0 {
result, err = modules.Serversecgroups.ListDescendent2(s, args.Secgroup, params)
} else {
result, err = modules.Serversecgroups.List(s, params)
}
if err != nil {
return err
}
printList(result, modules.Serversecgroups.GetColumns(s))
return nil
})
type ServerSecgroupDetailOptions struct {
SERVER string `help:"ID or Name of Server"`
SECGROUP string `help:"ID or Name of Security Group"`
}
R(&ServerSecgroupDetailOptions{}, "server-secgroup-show", "Show server security group details", func(s *mcclient.ClientSession, args *ServerSecgroupDetailOptions) error {
query := jsonutils.NewDict()
result, err := modules.Serversecgroups.Get(s, args.SERVER, args.SECGROUP, query)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -0,0 +1,60 @@
package shell
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
func init() {
R(&options.ServiceCertificateCreateOptions{}, "service-cert-create", "Create service cert", func(s *mcclient.ClientSession, opts *options.ServiceCertificateCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
cert, err := modules.ServiceCertificatesV3.Create(s, params)
if err != nil {
return err
}
printObject(cert)
return nil
})
type ServiceCertificateGetOptions struct {
ID string `json:"-"`
}
R(&ServiceCertificateGetOptions{}, "service-cert-show", "Show service cert", func(s *mcclient.ClientSession, opts *ServiceCertificateGetOptions) error {
cert, err := modules.ServiceCertificatesV3.Get(s, opts.ID, nil)
if err != nil {
return err
}
printObject(cert)
return nil
})
type ServiceCertificateListOptions struct {
options.BaseListOptions
}
R(&ServiceCertificateListOptions{}, "service-cert-list", "List service certs", func(s *mcclient.ClientSession, opts *ServiceCertificateListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
result, err := modules.ServiceCertificatesV3.List(s, params)
if err != nil {
return err
}
printList(result, modules.ServiceCertificatesV3.GetColumns(s))
return nil
})
type ServiceCertificateDeleteOptions struct {
ID string `json:"-"`
}
R(&ServiceCertificateDeleteOptions{}, "service-cert-delete", "Delete service cert", func(s *mcclient.ClientSession, opts *ServiceCertificateDeleteOptions) error {
cert, err := modules.ServiceCertificatesV3.Delete(s, opts.ID, nil)
if err != nil {
return err
}
printObject(cert)
return nil
})
}

View File

@@ -43,10 +43,10 @@ func init() {
query.Add(jsonutils.NewInt(args.Offset), "offset")
}
if len(args.Name) > 0 {
query.Add(jsonutils.NewString(args.Name), "name__icontains")
query.Add(jsonutils.NewString(args.Name), "name")
}
if len(args.Type) > 0 {
query.Add(jsonutils.NewString(args.Type), "type__icontains")
query.Add(jsonutils.NewString(args.Type), "type")
}
if len(args.Search) > 0 {
query.Add(jsonutils.NewString(args.Search), "search")

View File

@@ -25,13 +25,15 @@ import (
func init() {
type ServerSkusListOptions struct {
options.BaseListOptions
Cloudregion string `help:"region Id or name"`
Usable bool `help:"Filter usable sku"`
Zone string `help:"zone Id or name"`
City *string `help:"city name,eg. BeiJing"`
Cpu *int `help:"Cpu core count" json:"cpu_core_count"`
Mem *int `help:"Memory size in MB" json:"memory_size_mb"`
Name string `help:"Name of Sku"`
Cloudregion string `help:"region Id or name"`
Usable bool `help:"Filter usable sku"`
Zone string `help:"zone Id or name"`
City *string `help:"city name,eg. BeiJing"`
Cpu *int `help:"Cpu core count" json:"cpu_core_count"`
Mem *int `help:"Memory size in MB" json:"memory_size_mb"`
Name string `help:"Name of Sku"`
PostpaidStatus string `help:"Postpaid status" choices:"soldout|available"`
PrepaidStatus string `help:"Prepaid status" choices:"soldout|available"`
}
R(&ServerSkusListOptions{}, "server-sku-list", "List all avaiable Server SKU", func(s *mcclient.ClientSession, args *ServerSkusListOptions) error {

View File

@@ -66,10 +66,10 @@ func init() {
printObject(result)
return nil
})
type SnapshotShowOptions struct {
type SnapshotIdOptions struct {
ID string `help:"ID or Name of snapshot"`
}
R(&SnapshotShowOptions{}, "snapshot-show", "Show snapshot details", func(s *mcclient.ClientSession, args *SnapshotShowOptions) error {
R(&SnapshotIdOptions{}, "snapshot-show", "Show snapshot details", func(s *mcclient.ClientSession, args *SnapshotIdOptions) error {
result, err := modules.Snapshots.Get(s, args.ID, nil)
if err != nil {
return err
@@ -78,10 +78,16 @@ func init() {
return nil
})
type SnapshotPurgeOptions struct {
ID string `help:"ID or name of Snapshot"`
}
R(&SnapshotPurgeOptions{}, "snapshot-purge", "Purge Snapshot db records", func(s *mcclient.ClientSession, args *SnapshotPurgeOptions) error {
R(&SnapshotIdOptions{}, "snapshot-syncstatus", "Sync snapshot status", func(s *mcclient.ClientSession, args *SnapshotIdOptions) error {
result, err := modules.Snapshots.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&SnapshotIdOptions{}, "snapshot-purge", "Purge Snapshot db records", func(s *mcclient.ClientSession, args *SnapshotIdOptions) error {
result, err := modules.Snapshots.PerformAction(s, args.ID, "purge", nil)
if err != nil {
return err

View File

@@ -29,11 +29,12 @@ func init() {
type StorageListOptions struct {
options.BaseListOptions
Share *bool `help:"Share storage list"`
Local *bool `help:"Local storage list"`
Usable *bool `help:"Usable storage list"`
Zone string `help:"List storages in zone" json:"-"`
Region string `help:"List storages in region"`
Share *bool `help:"Share storage list"`
Local *bool `help:"Local storage list"`
Usable *bool `help:"Usable storage list"`
Zone string `help:"List storages in zone" json:"-"`
Region string `help:"List storages in region"`
Schedtag string `help:"filter storage by schedtag"`
}
R(&StorageListOptions{}, "storage-list", "List storages", func(s *mcclient.ClientSession, opts *StorageListOptions) error {
params, err := options.ListStructToParams(opts)
@@ -215,4 +216,63 @@ func init() {
printObject(storage)
return nil
})
type StorageChangeOwnerOptions struct {
ID string `help:"ID or name of storage" json:"-"`
ProjectDomain string `json:"project_domain" help:"target domain"`
}
R(&StorageChangeOwnerOptions{}, "storage-change-owner", "Change owner domain of storage", func(s *mcclient.ClientSession, args *StorageChangeOwnerOptions) error {
if len(args.ProjectDomain) == 0 {
return fmt.Errorf("empty project_domain")
}
params := jsonutils.Marshal(args)
ret, err := modules.Storages.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
type StorageForceDetachHost struct {
ID string `help:"ID or name of storage" json:"-"`
Host string `help:"ID or name of host"`
}
R(&StorageForceDetachHost{}, "storage-public", "Force detach host", func(s *mcclient.ClientSession, args *StorageForceDetachHost) error {
params := jsonutils.Marshal(args)
result, err := modules.Storages.PerformAction(s, args.ID, "force-detach-host", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type StoragePublicOptions struct {
ID string `help:"ID or name of storage" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&StoragePublicOptions{}, "storage-public", "Make a storage public", func(s *mcclient.ClientSession, args *StoragePublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Storages.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type StoragePrivateOptions struct {
ID string `help:"ID or name of storage" json:"-"`
}
R(&StoragePrivateOptions{}, "storage-private", "Make a storage private", func(s *mcclient.ClientSession, args *StoragePrivateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Storages.PerformAction(s, args.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -40,7 +40,11 @@ func init() {
if err != nil {
return err
}
printList(result, modules.UsersV3.GetColumns(s))
if len(args.ExportFile) > 0 {
exportList(result, args.ExportFile, args.ExportKeys, args.ExportTexts, modules.UsersV3.GetColumns(s))
} else {
printList(result, modules.UsersV3.GetColumns(s))
}
return nil
})

View File

@@ -15,6 +15,8 @@
package shell
import (
"fmt"
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
@@ -47,7 +49,11 @@ func init() {
return err
}
printList(result, modules.Vpcs.GetColumns(s))
if len(opts.ExportFile) > 0 {
exportList(result, opts.ExportFile, opts.ExportKeys, opts.ExportTexts, modules.Vpcs.GetColumns(s))
} else {
printList(result, modules.Vpcs.GetColumns(s))
}
return nil
})
@@ -168,4 +174,67 @@ func init() {
printObject(result)
return nil
})
R(&VpcUpdateStatusOptions{}, "vpc-syncstatus", "Sync the status of a vpc", func(s *mcclient.ClientSession, args *VpcUpdateStatusOptions) error {
result, err := modules.Vpcs.PerformAction(s, args.ID, "syncstatus", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type VpcPublicOptions struct {
ID string `help:"ID or name of vpc" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&VpcPublicOptions{}, "vpc-public", "Make vpc public", func(s *mcclient.ClientSession, args *VpcPublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Vpcs.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type VpcPrivateOptions struct {
ID string `help:"ID or name of vpc" json:"-"`
}
R(&VpcPrivateOptions{}, "vpc-private", "Make vpc private", func(s *mcclient.ClientSession, args *VpcPrivateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Vpcs.PerformAction(s, args.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&VpcShowOptions{}, "vpc-change-owner-candidate-domains", "Show candiate domains of a vpc for changing owner", func(s *mcclient.ClientSession, args *VpcShowOptions) error {
result, err := modules.Vpcs.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type VpcChangeOwnerOptions struct {
ID string `help:"ID or name of vpc" json:"-"`
ProjectDomain string `json:"project_domain" help:"target domain"`
}
R(&VpcChangeOwnerOptions{}, "vpc-change-owner", "Change owner domain of vpc", func(s *mcclient.ClientSession, args *VpcChangeOwnerOptions) error {
if len(args.ProjectDomain) == 0 {
return fmt.Errorf("empty project_domain")
}
params := jsonutils.Marshal(args)
ret, err := modules.Vpcs.PerformAction(s, args.ID, "change-owner", params)
if err != nil {
return err
}
printObject(ret)
return nil
})
}

View File

@@ -22,11 +22,11 @@ import (
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/utils"
webconsole_api "yunion.io/x/onecloud/pkg/apis/webconsole"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modules"
o "yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/webconsole/command"
"yunion.io/x/onecloud/pkg/webconsole/session"
)
const (
@@ -61,8 +61,8 @@ func init() {
}
protocol := query.Get("protocol")
if !utils.IsInStringArray(protocol, []string{
command.PROTOCOL_TTY, session.VNC,
session.SPICE, session.WMKS,
command.PROTOCOL_TTY, webconsole_api.VNC,
webconsole_api.SPICE, webconsole_api.WMKS,
}) {
fmt.Println(connParams)
return nil

View File

@@ -132,4 +132,41 @@ func init() {
printObject(result)
return nil
})
type WirePublicOptions struct {
ID string `help:"ID or name of wire" json:"-"`
Scope string `help:"sharing scope" choices:"system|domain"`
SharedDomains []string `help:"share to domains"`
}
R(&WirePublicOptions{}, "wire-public", "Make wire public", func(s *mcclient.ClientSession, args *WirePublicOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Wires.PerformAction(s, args.ID, "public", params)
if err != nil {
return err
}
printObject(result)
return nil
})
type WirePrivateOptions struct {
ID string `help:"ID or name of wire" json:"-"`
}
R(&WirePrivateOptions{}, "wire-private", "Make wire private", func(s *mcclient.ClientSession, args *WirePrivateOptions) error {
params := jsonutils.Marshal(args)
result, err := modules.Wires.PerformAction(s, args.ID, "private", params)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&WireShowOptions{}, "wire-change-owner-candidate-domains", "Show candiate domains of a wire for changing owner", func(s *mcclient.ClientSession, args *WireShowOptions) error {
result, err := modules.Wires.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -18,17 +18,21 @@ import (
"fmt"
"os"
"yunion.io/x/jsonutils"
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/structarg"
"yunion.io/x/onecloud/pkg/multicloud/google"
_ "yunion.io/x/onecloud/pkg/multicloud/google/shell"
"yunion.io/x/onecloud/pkg/util/fileutils2"
"yunion.io/x/onecloud/pkg/util/shellutils"
)
type BaseOptions struct {
Debug bool `help:"debug mode"`
Help bool `help:"Show help"`
AuthFile string `help:"google cloud auth json file path" default:"$GOOGLE_AUTH_FILE"`
ClientEmail string `help:"Client email" default:"$GOOGLE_CLIENT_EMAIL"`
ProjectID string `help:"Project ID" default:"$GOOGLE_PROJECT_ID"`
PrivateKeyID string `help:"Private Key ID" default:"$GOOGLE_PRIVATE_KEY_ID"`
@@ -78,6 +82,20 @@ func showErrorAndExit(e error) {
}
func newClient(options *BaseOptions) (*google.SRegion, error) {
if len(options.AuthFile) > 0 {
jsonStr, err := fileutils2.FileGetContents(options.AuthFile)
if err != nil {
return nil, errors.Wrap(err, "FileGetContents")
}
jsonCfg, err := jsonutils.ParseString(jsonStr)
if err != nil {
return nil, errors.Wrap(err, "jsonutils.ParseString")
}
options.ClientEmail, _ = jsonCfg.GetString("client_email")
options.PrivateKeyID, _ = jsonCfg.GetString("private_key_id")
options.PrivateKey, _ = jsonCfg.GetString("private_key")
options.ProjectID, _ = jsonCfg.GetString("project_id")
}
if len(options.ClientEmail) == 0 {
return nil, fmt.Errorf("Missing ClientEmail")
}

15
go.mod
View File

@@ -3,6 +3,7 @@ module yunion.io/x/onecloud
go 1.12
require (
cloud.google.com/go/storage v1.5.0
github.com/360EntSecGroup-Skylar/excelize v1.4.0
github.com/Azure/azure-sdk-for-go v36.1.0+incompatible
github.com/Azure/go-autorest/autorest v0.9.3
@@ -50,7 +51,6 @@ require (
github.com/golang-plus/errors v1.0.0
github.com/golang-plus/testing v1.0.0 // indirect
github.com/golang-plus/uuid v1.0.0
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect
github.com/golang/protobuf v1.3.2
github.com/google/gopacket v1.1.17
github.com/googleapis/gnostic v0.2.0 // indirect
@@ -114,9 +114,10 @@ require (
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20191008142428-8d021180e987
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873
google.golang.org/grpc v1.23.1
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb
google.golang.org/grpc v1.26.0
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/fatih/set.v0 v0.2.1
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.44.0 // indirect
gopkg.in/ldap.v3 v3.0.3
@@ -127,12 +128,12 @@ require (
k8s.io/cluster-bootstrap v0.17.3
k8s.io/kubernetes v1.16.0
yunion.io/x/executor v0.0.0-20200227030256-a18417815e74
yunion.io/x/jsonutils v0.0.0-20200415132054-2bf8a5e94501
yunion.io/x/jsonutils v0.0.0-20200814075449-927b118adbd8
yunion.io/x/log v0.0.0-20200313080802-57a4ce5966b3
yunion.io/x/pkg v0.0.0-20200516092703-0a53bc9270aa
yunion.io/x/pkg v0.0.0-20200814072949-4f1b541857d6
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e
yunion.io/x/sqlchemy v0.0.0-20200312002602-1177cd8fbc57
yunion.io/x/structarg v0.0.0-20200423163001-168d0687be7e
yunion.io/x/sqlchemy v0.0.0-20200814052348-164f1f20f8a6
yunion.io/x/structarg v0.0.0-20200720093445-9f850fa222ce
)
replace (

132
go.sum
View File

@@ -5,6 +5,25 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0 h1:0E3eE8MX426vUOs7aHfI7aN1BrIzzzf4ccKCSfSjGmc=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0 h1:sAbMqjY1PEQKZBWfbu6Y6bsupJ9c4QdHnzg/VvYTLcE=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/datastore v1.0.0 h1:Kt+gOPPp2LEPWp8CSfxhsM8ik9CcyE/gYu+0r+RnZvM=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0 h1:9/vpR43S4aJaROxqQHQ3nH9lfyKKV0dC3vOmnw8ebQQ=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0 h1:RPUcBvDeYgQFMfQu1eBMq6piD1SXmLH+vK3qjewZPus=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/360EntSecGroup-Skylar/excelize v1.4.0 h1:43rak9uafmwSJpXfFO1heKQph8tP3nlfWJWFQQtW1R0=
github.com/360EntSecGroup-Skylar/excelize v1.4.0/go.mod h1:R8KYLmGns0vDPe6/HyphW0mzW+MFexlGDafU0ykVEnU=
github.com/Azure/azure-sdk-for-go v5.0.0-beta.0.20161118192335-3b1282355199+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
@@ -153,6 +172,7 @@ github.com/c-bata/go-prompt v0.2.1 h1:HTPxmnfY4y5x3Myo7Gq4ce989jfnvZIBgdBp6y8bjY
github.com/c-bata/go-prompt v0.2.1/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34=
github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c/go.mod h1:Xe6ZsFhtM8HrDku0pxJ3/Lr51rwykrzgFwpmTzleatY=
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
@@ -205,6 +225,7 @@ github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY=
github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
github.com/dnstap/golang-dnstap v0.0.0-20170829151710-2cf77a2b5e11 h1:m8nX8hsUghn853BJ5qB0lX+VvS6LTJPksWyILFZRYN4=
github.com/dnstap/golang-dnstap v0.0.0-20170829151710-2cf77a2b5e11/go.mod h1:s1PfVYYVmTMgCSPtho4LKBDecEHJWtiVDPNv78Z985U=
github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.3.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
@@ -230,6 +251,8 @@ github.com/elgatito/upnp v0.0.0-20180711183757-2f244d205f9a h1:2Zw3pxDRTs4nX1WCL
github.com/elgatito/upnp v0.0.0-20180711183757-2f244d205f9a/go.mod h1:afkYpY8JAIL4341N7Zj9xJ5yTovsg6BkWfBFlCzIoF4=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
@@ -265,6 +288,8 @@ github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493 h1:OTanQnFt0bi5
github.com/glycerine/goconvey v0.0.0-20180728074245-46e3a41ad493/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M=
github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA=
@@ -333,10 +358,12 @@ github.com/golang-plus/uuid v1.0.0/go.mod h1:pBDDRrdgRHHqyYlj1d1i2gwyBq62Zc+sP2c
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef h1:veQD95Isof8w9/WXiA+pa3tz3fJXkt5B7QaRBrM62gk=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7 h1:5ZkaAPbicIKTF2I64qf5Fh8Aa83Q/dnOafMYV0OMwjA=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -364,13 +391,17 @@ github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gopacket v1.1.17 h1:rMrlX2ZY2UbvT+sdz3+6J+pp2z+msCq9MxTU6ymxbBY=
github.com/google/gopacket v1.1.17/go.mod h1:UdDNZ1OO62aGYVnPhxT1U6aI7ukYtA/kB8vaU0diBUM=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/googleapis/gnostic v0.2.0 h1:l6N3VoaVzTncYYW+9yOz2LJJammFZGBO13sqgEhpy9g=
github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
@@ -409,7 +440,6 @@ github.com/hako/durafmt v0.0.0-20180520121703-7b7ae1e72ead/go.mod h1:5Scbynm8dF1
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/heketi/heketi v9.0.0+incompatible/go.mod h1:bB9ly3RchcQqsQ9CpyaQwvva7RS5ytVoSoholZQON6o=
@@ -442,6 +472,8 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV
github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -614,8 +646,9 @@ github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw=
@@ -741,8 +774,10 @@ go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/etcd v0.5.0-alpha.5.0.20191023171146-3cf2f69b5738 h1:lWF4f9Nypl1ZqSb4gLeh/DGvBYVaUYHuiB93teOmwgc=
go.etcd.io/etcd v0.5.0-alpha.5.0.20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.21.0 h1:mU6zScU4U1YAFPHEHYk+3JC4SY7JxgkqS10ZOSyksNg=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2 h1:75k/FF0Q2YM8QYo07VPddOLBslDt1MZOdEslOHvmzAs=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
@@ -770,19 +805,35 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299 h1:zQpM52jfKHG6II1ISZY1ZcpygvuSFZpLwfluuF89XOg=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180524181706-dfa909b99c79/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -802,10 +853,13 @@ golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190419010253-1f3472d942ba/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -848,9 +902,13 @@ golang.org/x/sys v0.0.0-20190411185658-b44545bcd369/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190830023255-19e00faab6ad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -864,8 +922,9 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20170824195420-5d2fd3ccab98/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -879,10 +938,24 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4 h1:Toz2IK7k8rbltAXwNAxKcn9OzqyNfMUhUNjz3sL0NMk=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.zx2c4.com/wireguard v0.0.20190908 h1:SUoXDdwSMtomLdvke+zz83/u9tNvl4hHmcTIWp38tow=
@@ -895,23 +968,42 @@ gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmK
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0 h1:yzlyyDW/J0w8yNFJIhiAJy4kq74S+1DOLdawELNxFMA=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb h1:ADPHZzpzM4tk4V4S5cnCrr5SwzvlrPRmqqCuJDB8UTs=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.1 h1:q4XQuHFC6I28BKZpo6IYyb3mNO+l7lSOxRuYTCiDfXk=
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.26.0 h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg=
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM=
@@ -921,6 +1013,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fatih/set.v0 v0.2.1 h1:Xvyyp7LXu34P0ROhCyfXkmQCAoOUKb1E2JS9I7SE5CY=
gopkg.in/fatih/set.v0 v0.2.1/go.mod h1:5eLWEndGL4zGGemXWrKuts+wTJR0y+w+auqUJZbmyBg=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
@@ -958,6 +1052,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
k8s.io/api v0.0.0-20190918155943-95b840bb6a1f h1:8FRUST8oUkEI45WYKyD8ed7Ad0Kg5v11zHyPkEVb2xo=
k8s.io/api v0.0.0-20190918155943-95b840bb6a1f/go.mod h1:uWuOHnjmNrtQomJrvEBg0c0HRNyQ+8KTEERVsK0PW48=
k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783/go.mod h1:xvae1SZB3E17UpV59AWc271W/Ph25N+bjPyR63X6tPY=
@@ -1002,6 +1098,7 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
@@ -1011,8 +1108,8 @@ vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj
yunion.io/x/executor v0.0.0-20200227030256-a18417815e74 h1:A15C6VdVRWvmQ9pAJHrUs9yan5qKlYH7uaRxHg1kRbk=
yunion.io/x/executor v0.0.0-20200227030256-a18417815e74/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws=
yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634=
yunion.io/x/jsonutils v0.0.0-20200415132054-2bf8a5e94501 h1:i1r9XvbdxH3FgTCLmTaRi3MzQqhiQimXJRlUOPgrxnU=
yunion.io/x/jsonutils v0.0.0-20200415132054-2bf8a5e94501/go.mod h1:T7kxQJR13+t7z0TuT+Wzd7MTxBOk2H9c0pO1ONQSv90=
yunion.io/x/jsonutils v0.0.0-20200814075449-927b118adbd8 h1:KQVw5EmohJCqBDMdZ3fAcOQNNMIYgVuNCNWNwg4EM3A=
yunion.io/x/jsonutils v0.0.0-20200814075449-927b118adbd8/go.mod h1:p0nyMqGA/apTxxyLIU/o1k4V7Vujl2O6ey30L594sYE=
yunion.io/x/log v0.0.0-20190514041436-04ce53b17c6b/go.mod h1:+gauLs73omeJAPlsXcevLsJLKixV+sR/E7WSYTSx1fE=
yunion.io/x/log v0.0.0-20190629062853-9f6483a7103d h1:59zrDL7Ft+hDukguJRmLr/Gdu/9V75x+yX99ovZwfaA=
yunion.io/x/log v0.0.0-20190629062853-9f6483a7103d/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
@@ -1020,12 +1117,11 @@ yunion.io/x/log v0.0.0-20200313080802-57a4ce5966b3 h1:5Wc5hkB8PtMudmHuzCyok960Ru
yunion.io/x/log v0.0.0-20200313080802-57a4ce5966b3/go.mod h1:LC6f/4FozL0iaAbnFt2eDX9jlsyo3WiOUPm03d7+U4U=
yunion.io/x/pkg v0.0.0-20190620104149-945c25821dbf/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v0.0.0-20190628082551-f4033ba2ea30/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v0.0.0-20200302034534-fdf44d54b070/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v0.0.0-20200516092703-0a53bc9270aa h1:VizPfW8+mLFEE7W/97zxQJbfdxchi2dn1M/Y7YBwTTc=
yunion.io/x/pkg v0.0.0-20200516092703-0a53bc9270aa/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/pkg v0.0.0-20200814072949-4f1b541857d6 h1:UarEDTBGkgcgc+nc+PZ75uo9M9+jiOGd5P2B90TxDNw=
yunion.io/x/pkg v0.0.0-20200814072949-4f1b541857d6/go.mod h1:t6rEGG2sQ4J7DhFxSZVOTjNd0YO/KlfWQyK1W4tog+E=
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e h1:v+EzIadodSwkdZ/7bremd7J8J50Cise/HCylsOJngmo=
yunion.io/x/s3cli v0.0.0-20190917004522-13ac36d8687e/go.mod h1:0iFKpOs1y4lbCxeOmq3Xx/0AcQoewVPwj62eRluioEo=
yunion.io/x/sqlchemy v0.0.0-20200312002602-1177cd8fbc57 h1:KtQAuLJ00RSUVqkiRmJ1DiDABiw0U3xxXnzD3lGavaY=
yunion.io/x/sqlchemy v0.0.0-20200312002602-1177cd8fbc57/go.mod h1:FTdwPdGhMgh4E+UFXc9klI1Ok34fMuybTT+jLhOaIjI=
yunion.io/x/structarg v0.0.0-20200423163001-168d0687be7e h1:pctCe/EPel3F1B83pJ2q9b34Umd1NdbLW1Yd+Lzur2s=
yunion.io/x/structarg v0.0.0-20200423163001-168d0687be7e/go.mod h1:EP6NSv2C0zzqBDTKumv8hPWLb3XvgMZDHQRfyuOrQng=
yunion.io/x/sqlchemy v0.0.0-20200814052348-164f1f20f8a6 h1:k7E8Zjwzyk/lo1dDO0jtLbODwYRNv+w/zsUJrKWCXvo=
yunion.io/x/sqlchemy v0.0.0-20200814052348-164f1f20f8a6/go.mod h1:FTdwPdGhMgh4E+UFXc9klI1Ok34fMuybTT+jLhOaIjI=
yunion.io/x/structarg v0.0.0-20200720093445-9f850fa222ce h1:kU8xE7O5uZ1GSJVMZHoJ+jrNL7csUQHYGyAPW9QfNpE=
yunion.io/x/structarg v0.0.0-20200720093445-9f850fa222ce/go.mod h1:EP6NSv2C0zzqBDTKumv8hPWLb3XvgMZDHQRfyuOrQng=

View File

@@ -39,6 +39,7 @@ func InitHandlers(app *appsrv.Application) {
db.InitAllManagers()
db.RegisterModelManager(db.OpsLog)
db.RegisterModelManager(db.Metadata)
db.RegisterModelManager(db.UserCacheManager)
db.RegisterModelManager(db.TenantCacheManager)
for _, manager := range []db.IModelManager{

View File

@@ -16,6 +16,7 @@ package handler
import (
"context"
"encoding/base64"
"fmt"
"net/http"
"strings"
@@ -41,6 +42,7 @@ import (
"yunion.io/x/onecloud/pkg/util/httputils"
"yunion.io/x/onecloud/pkg/util/netutils2"
"yunion.io/x/onecloud/pkg/util/rbacutils"
"yunion.io/x/onecloud/pkg/util/stringutils2"
)
func AppContextToken(ctx context.Context) mcclient.TokenCredential {
@@ -269,6 +271,10 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request,
if err != nil {
return nil, httperrors.NewInputParameterError("get password in body")
}
// try base64 decryption
if decPasswd, err := base64.StdEncoding.DecodeString(passwd); err == nil && stringutils2.IsPrintableAsciiString(string(decPasswd)) {
passwd = string(decPasswd)
}
if len(uname) == 0 || len(passwd) == 0 {
return nil, httperrors.NewInputParameterError("username or password is empty")
}
@@ -289,7 +295,7 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request,
if err != nil {
switch httperr := err.(type) {
case *httputils.JSONClientError:
if httperr.Code == 409 {
if httperr.Code == 409 || httperr.Code == 429 {
return nil, err
}
}
@@ -314,6 +320,35 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request,
}
}
}
if len(tenant) == 0 {
token3, ok := token.(*mcclient.TokenCredentialV3)
if ok {
targetLevel := rbacutils.ScopeProject
targetProjId := ""
for _, r := range token3.Token.RoleAssignments {
level := rbacutils.ScopeProject
if len(r.Policies.System) > 0 {
level = rbacutils.ScopeSystem
} else if len(r.Policies.Domain) > 0 {
level = rbacutils.ScopeDomain
}
if len(targetProjId) == 0 || level.HigherThan(targetLevel) {
targetProjId = r.Scope.Project.Id
targetLevel = level
}
}
if len(targetProjId) > 0 {
ntoken, e := auth.Client().SetProject(targetProjId, "", "", token)
if e != nil {
log.Errorf("fail to change to project %s(%s), reset to empty", targetProjId, e)
} else {
token = ntoken
tenant = targetProjId
body.(*jsonutils.JSONDict).Set("scope", jsonutils.NewString(string(targetLevel)))
}
}
}
}
if len(tenant) == 0 {
s := auth.GetAdminSession(ctx, FetchRegion(req), "")
projects, e := modules.UsersV3.GetProjects(s, token.GetUserId())
@@ -367,7 +402,7 @@ func isUserAllowWebconsole(ctx context.Context, w http.ResponseWriter, req *http
return true
}
func saveCookie(w http.ResponseWriter, name, val string, expire time.Time, base64 bool) {
func saveCookie(w http.ResponseWriter, name, val, domain string, expire time.Time, base64 bool) {
diff := time.Until(expire)
maxAge := int(diff.Seconds())
// log.Println("Set cookie", name, expire, maxAge, val)
@@ -379,6 +414,11 @@ func saveCookie(w http.ResponseWriter, name, val string, expire time.Time, base6
}
// log.Printf("Set coookie: %s - %s\n", val, valenc)
cookie := &http.Cookie{Name: name, Value: valenc, Path: "/", Expires: expire, MaxAge: maxAge, HttpOnly: false}
if len(domain) > 0 {
cookie.Domain = domain
}
http.SetCookie(w, cookie)
}
@@ -400,8 +440,12 @@ func getCookie(r *http.Request, name string) string {
}
}
func clearCookie(w http.ResponseWriter, name string) {
func clearCookie(w http.ResponseWriter, name string, domain string) {
cookie := &http.Cookie{Name: name, Expires: time.Now(), Path: "/", MaxAge: -1, HttpOnly: false}
if len(domain) > 0 {
cookie.Domain = domain
}
http.SetCookie(w, cookie)
}
@@ -458,7 +502,7 @@ func (h *AuthHandlers) postLoginHandler(ctx context.Context, w http.ResponseWrit
httperrors.GeneralServerError(w, err)
return
}
saveCookie(w, constants.YUNION_AUTH_COOKIE, authCookie, token.GetExpires(), true)
saveCookie(w, constants.YUNION_AUTH_COOKIE, authCookie, options.Options.CookieDomain, token.GetExpires(), true)
if len(token.GetProjectId()) > 0 {
if body.Contains("isadmin") {
@@ -466,20 +510,20 @@ func (h *AuthHandlers) postLoginHandler(ctx context.Context, w http.ResponseWrit
if policy.PolicyManager.IsScopeCapable(token, rbacutils.ScopeSystem) {
adminVal, _ = body.GetString("isadmin")
}
saveCookie(w, "isadmin", adminVal, token.GetExpires(), false)
saveCookie(w, "isadmin", adminVal, "", token.GetExpires(), false)
}
if body.Contains("scope") {
scopeStr, _ := body.GetString("scope")
if !policy.PolicyManager.IsScopeCapable(token, rbacutils.TRbacScope(scopeStr)) {
scopeStr = string(rbacutils.ScopeProject)
}
saveCookie(w, "scope", scopeStr, token.GetExpires(), false)
saveCookie(w, "scope", scopeStr, "", token.GetExpires(), false)
}
if body.Contains("domain") {
domainStr, _ := body.GetString("domain")
saveCookie(w, "domain", domainStr, token.GetExpires(), false)
saveCookie(w, "domain", domainStr, "", token.GetExpires(), false)
}
saveCookie(w, "tenant", token.GetProjectId(), token.GetExpires(), false)
saveCookie(w, "tenant", token.GetProjectId(), "", token.GetExpires(), false)
}
setAuthHeader(w, tid)
@@ -502,7 +546,7 @@ func (h *AuthHandlers) postLogoutHandler(ctx context.Context, w http.ResponseWri
if len(tid) > 0 {
clientman.TokenMan.Remove(tid)
}
clearCookie(w, constants.YUNION_AUTH_COOKIE)
clearCookie(w, constants.YUNION_AUTH_COOKIE, options.Options.CookieDomain)
appsrv.Send(w, "")
}
@@ -533,14 +577,6 @@ func FetchRegion(req *http.Request) string {
return ""
}
func fetchDomain(req *http.Request) string {
r, e := req.Cookie("domain")
if e != nil {
return ""
}
return r.Value
}
type role struct {
id string
name string
@@ -647,26 +683,74 @@ func getUserAuthCookie(ctx context.Context, s *mcclient.ClientSession, token mcc
return info.String(), nil
}
func getLBAgentInfo(s *mcclient.ClientSession, token mcclient.TokenCredential) (*jsonutils.JSONDict, error) {
func isLBAgentExists(s *mcclient.ClientSession) (bool, error) {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString("hb_last_seen.isnotempty()"), "filter.0")
params.Add(jsonutils.NewInt(1), "limit")
params.Add(jsonutils.JSONFalse, "details")
lbagents, err := modules.LoadbalancerAgents.List(s, params)
agents, err := modules.LoadbalancerAgents.List(s, params)
if err != nil {
return nil, errors.Wrapf(err, "user %s get lbagent", token.GetUserName())
return false, errors.Wrap(err, "modules.LoadbalancerAgents.List")
}
item := jsonutils.NewDict()
item.Add(jsonutils.NewString(""), "name")
item.Add(jsonutils.NewString("lbagent"), "type")
item.Add(jsonutils.JSONTrue, "as_menu")
if len(lbagents.Data) > 0 {
item.Add(jsonutils.JSONTrue, "status")
if len(agents.Data) > 0 {
return true, nil
} else {
item.Add(jsonutils.JSONFalse, "status")
return false, nil
}
}
func isBaremetalAgentExists(s *mcclient.ClientSession) (bool, error) {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString("agent_type.equals(baremetal)"), "filter.0")
params.Add(jsonutils.NewInt(1), "limit")
params.Add(jsonutils.JSONFalse, "details")
agents, err := modules.Baremetalagents.List(s, params)
if err != nil {
return false, errors.Wrap(err, "modules.Baremetalagents.List")
}
if len(agents.Data) > 0 {
return true, nil
} else {
return false, nil
}
}
func isEsxiAgentExists(s *mcclient.ClientSession) (bool, error) {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString("agent_type.equals(esxiagent)"), "filter.0")
params.Add(jsonutils.NewInt(1), "limit")
params.Add(jsonutils.JSONFalse, "details")
agents, err := modules.Baremetalagents.List(s, params)
if err != nil {
return false, errors.Wrap(err, "modules.Baremetalagents.List esxiagent")
}
if len(agents.Data) > 0 {
return true, nil
} else {
return false, nil
}
}
func isHostAgentExists(s *mcclient.ClientSession) (bool, error) {
params := jsonutils.NewDict()
params.Add(jsonutils.JSONFalse, "show_emulated")
params.Add(jsonutils.JSONFalse, "baremetal")
params.Add(jsonutils.NewString("system"), "scope")
params.Add(jsonutils.NewInt(1), "limit")
params.Add(jsonutils.JSONFalse, "details")
agents, err := modules.Hosts.List(s, params)
if err != nil {
return false, errors.Wrap(err, "modules.LoadbalancerAgents.List")
}
if len(agents.Data) > 0 {
return true, nil
} else {
return false, nil
}
return item, nil
}
func getUserInfo(ctx context.Context, s *mcclient.ClientSession, token mcclient.TokenCredential, req *http.Request) (*jsonutils.JSONDict, error) {
@@ -757,43 +841,57 @@ func getUserInfo(ctx context.Context, s *mcclient.ClientSession, token mcclient.
menus := jsonutils.NewArray()
k8s := jsonutils.NewArray()
adminToken := auth.AdminCredential()
curReg := FetchRegion(req)
allsrv := adminToken.GetInternalServices(curReg)
alleps := auth.Client().GetServiceCatalog().GetServicesByInterface(curReg, "console")
if allsrv != nil && len(allsrv) > 0 {
for _, srv := range allsrv {
item := jsonutils.NewDict()
item.Add(jsonutils.NewString(""), "name")
item.Add(jsonutils.NewString(srv), "type")
item.Add(jsonutils.JSONTrue, "status")
if srv == "notify" {
item.Add(jsonutils.JSONFalse, "as_menu")
} else {
item.Add(jsonutils.JSONTrue, "as_menu")
}
services.Add(item)
}
} else {
log.Errorf("fail to find services????: %#v %s", adminToken, curReg)
srvCat := auth.Client().GetServiceCatalog()
var allsrv []string
var alleps []mcclient.ExternalService
if srvCat != nil {
allsrv = srvCat.GetInternalServices(curReg)
alleps = srvCat.GetServicesByInterface(curReg, "console")
}
log.Infof("getUserInfo getLBAgentInfo")
lb, err := getLBAgentInfo(s, adminToken)
if err != nil {
log.Errorf("getLBAgentInfo fail %s", err)
} else {
services.Add(lb)
log.Infof("getUserInfo checkAgent exists")
for _, cf := range []struct {
existFunc func(*mcclient.ClientSession) (bool, error)
srvName string
}{
{
existFunc: isLBAgentExists,
srvName: "lbagent",
},
{
existFunc: isBaremetalAgentExists,
srvName: "bmagent",
},
{
existFunc: isHostAgentExists,
srvName: "hostagent",
},
{
existFunc: isEsxiAgentExists,
srvName: "esxiagent",
},
} {
exist, err := cf.existFunc(s)
if err != nil {
log.Errorf("isLBAgentExists fail %s", err)
} else if exist {
allsrv = append(allsrv, cf.srvName)
}
}
if alleps != nil {
for _, ep := range alleps {
item := jsonutils.NewDict()
item.Add(jsonutils.NewString(ep.Url), "url")
item.Add(jsonutils.NewString(ep.Name), "name")
menus.Add(item)
}
for _, srv := range allsrv {
item := jsonutils.NewDict()
item.Add(jsonutils.NewString(srv), "type")
item.Add(jsonutils.JSONTrue, "status")
services.Add(item)
}
for _, ep := range alleps {
item := jsonutils.NewDict()
item.Add(jsonutils.NewString(ep.Url), "url")
item.Add(jsonutils.NewString(ep.Name), "name")
menus.Add(item)
}
log.Infof("getUserInfo modules.Hosts.Get")
@@ -854,7 +952,7 @@ func (h *AuthHandlers) getPermissionDetails(ctx context.Context, w http.Response
if query != nil {
name, _ = query.GetString("policy")
}
result, err := policy.PolicyManager.ExplainRpc(t, body, name)
result, err := policy.ExplainRpc(ctx, t, body, name)
if err != nil {
httperrors.GeneralServerError(w, err)
return
@@ -988,20 +1086,14 @@ func (h *AuthHandlers) resetUserPassword(ctx context.Context, w http.ResponseWri
confirmPwd, _ := body.GetString("password_confirm")
passcode, _ := body.GetString("passcode")
// 1.验证新密码正确
if len(newPwd) < 6 {
httperrors.InputParameterError(w, "new password must have at least 6 characters")
return
}
if newPwd != confirmPwd {
httperrors.InputParameterError(w, "new password mismatch")
return
}
// 2.验证原密码正确且idp_driver为空
// 1.验证原密码正确且idp_driver为空
if isLdapUser(user) {
httperrors.ForbiddenError(w, "not support reset ldap user password")
httperrors.ForbiddenError(w, "not support reset user password")
return
}
@@ -1019,7 +1111,7 @@ func (h *AuthHandlers) resetUserPassword(ctx context.Context, w http.ResponseWri
return
}
// 3.如果已开启MFA验证 随机密码正确
// 2.如果已开启MFA验证 随机密码正确
tid := getAuthToken(req)
if isMfaEnabled(user) {
totp := clientman.TokenMan.GetTotp(tid)
@@ -1030,7 +1122,7 @@ func (h *AuthHandlers) resetUserPassword(ctx context.Context, w http.ResponseWri
}
}
// 4.重置密码清除认证token
// 3.重置密码清除认证token
params := jsonutils.NewDict()
params.Set("password", jsonutils.NewString(newPwd))
ret, err := modules.UsersV3.Patch(s, uid, params)
@@ -1045,7 +1137,7 @@ func (h *AuthHandlers) resetUserPassword(ctx context.Context, w http.ResponseWri
}
func isLdapUser(user jsonutils.JSONObject) bool {
if driver, _ := user.GetString("idp_driver"); driver == "ldap" {
if driver, _ := user.GetString("idp_driver"); len(driver) > 0 {
return true
}

View File

@@ -59,6 +59,12 @@ const (
BATCH_HOST_REGISTER_QUANTITY_LIMITATION = 1000
)
var (
BatchHostRegisterTemplate = []string{HOST_MAC, HOST_NAME, HOST_IPMI_ADDR_OPTIONAL, HOST_IPMI_USERNAME_OPTIONAL, HOST_IPMI_PASSWORD_OPTIONAL}
BatchHostISORegisterTemplate = []string{HOST_NAME, HOST_IPMI_ADDR, HOST_IPMI_USERNAME, HOST_IPMI_PASSWORD, HOST_MNG_IP_ADDR}
BatchHostPXERegisterTemplate = []string{HOST_NAME, HOST_IPMI_ADDR, HOST_IPMI_USERNAME, HOST_IPMI_PASSWORD, HOST_MNG_IP_ADDR_OPTIONAL}
)
func FetchSession(ctx context.Context, r *http.Request, apiVersion string) *mcclient.ClientSession {
token := AppContextToken(ctx)
session := auth.GetSession(ctx, token, FetchRegion(r), apiVersion)
@@ -172,6 +178,25 @@ func (mh *MiscHandler) DoBatchHostRegister(ctx context.Context, w http.ResponseW
return
}
// check header line
titlesOk := false
for _, t := range [][]string{BatchHostRegisterTemplate, BatchHostISORegisterTemplate, BatchHostPXERegisterTemplate} {
if len(t) == len(rows[0]) {
for _, title := range rows[0] {
if !utils.IsInStringArray(title, t) {
break
}
}
titlesOk = true
}
}
if !titlesOk {
httperrors.InputParameterError(w, "template file is invalid.please check.")
return
}
paramKeys := []string{}
i1 := -1
i2 := -1
@@ -328,18 +353,6 @@ func (mh *MiscHandler) DoBatchUserRegister(ctx context.Context, w http.ResponseW
return
}
if _, ok := names[name]; ok {
e := httperrors.NewClientError("row %d duplicate name %s", rowIdx, name)
httperrors.JsonClientError(w, e)
return
} else {
names[name] = true
_, err := modules.UsersV3.Get(s, name, nil)
if err == nil {
continue
}
}
domainId, ok := domains[domain]
if !ok {
if len(domain) == 0 {
@@ -358,6 +371,18 @@ func (mh *MiscHandler) DoBatchUserRegister(ctx context.Context, w http.ResponseW
domains[domain] = id
}
if _, ok := names[name+"/"+domainId]; ok {
e := httperrors.NewClientError("row %d duplicate name %s", rowIdx, name)
httperrors.JsonClientError(w, e)
return
} else {
names[name+"/"+domainId] = true
_, err := modules.UsersV3.Get(s, name, nil)
if err == nil {
continue
}
}
user := jsonutils.NewDict()
user.Add(jsonutils.NewString(name), "name")
user.Add(jsonutils.NewString(domainId), "domain_id")
@@ -406,21 +431,21 @@ func (mh *MiscHandler) getDownloadsHandler(ctx context.Context, w http.ResponseW
var content bytes.Buffer
switch template {
case "BatchHostRegister":
records := [][]string{{HOST_MAC, HOST_NAME, HOST_IPMI_ADDR_OPTIONAL, HOST_IPMI_USERNAME_OPTIONAL, HOST_IPMI_PASSWORD_OPTIONAL}}
records := [][]string{BatchHostRegisterTemplate}
content, err = writeXlsx("hosts", records)
if err != nil {
httperrors.InternalServerError(w, "internal server error")
return
}
case "BatchHostISORegister":
records := [][]string{{HOST_NAME, HOST_IPMI_ADDR, HOST_IPMI_USERNAME, HOST_IPMI_PASSWORD, HOST_MNG_IP_ADDR}}
records := [][]string{BatchHostISORegisterTemplate}
content, err = writeXlsx("hosts", records)
if err != nil {
httperrors.InternalServerError(w, "internal server error")
return
}
case "BatchHostPXERegister":
records := [][]string{{HOST_NAME, HOST_IPMI_ADDR, HOST_IPMI_USERNAME, HOST_IPMI_PASSWORD, HOST_MNG_IP_ADDR_OPTIONAL}}
records := [][]string{BatchHostPXERegisterTemplate}
content, err = writeXlsx("hosts", records)
if err != nil {
httperrors.InternalServerError(w, "internal server error")

View File

@@ -20,12 +20,13 @@ import (
type GatewayOptions struct {
DefaultRegion string `help:"Use default region while region not specific in api request"`
CookieDomain string `help:"specific yunionauth cookie domain" default:""`
Timeout int `help:"Timeout in seconds, default is 300" default:"300"`
DisableModuleApiVersion bool `help:"Disable each modules default api version" default:"false"`
EnableTotp bool `help:"Enable two-factor authentication" default:"false"`
EnableTotp bool `help:"Enable two-factor authentication" default:"false"`
SqlitePath string `help:"sqlite db path" default:"/etc/yunion/data/yunionapi.db"`

View File

@@ -0,0 +1,25 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package service
import (
_ "yunion.io/x/onecloud/pkg/cloudevent/policy"
_ "yunion.io/x/onecloud/pkg/compute/policy"
_ "yunion.io/x/onecloud/pkg/image/policy"
_ "yunion.io/x/onecloud/pkg/keystone/policy"
_ "yunion.io/x/onecloud/pkg/logger/policy"
_ "yunion.io/x/onecloud/pkg/notify/policy"
_ "yunion.io/x/onecloud/pkg/yunionconf/policy"
)

View File

@@ -0,0 +1,20 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package baremetal
const (
SERVICE_TYPE = "baremetal"
SERVICE_VERSION = ""
)

View File

@@ -12,4 +12,4 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package template // import "yunion.io/x/onecloud/pkg/notify/template"
package baremetal // import "yunion.io/x/onecloud/pkg/apis/baremetal"

View File

@@ -0,0 +1,35 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package billing
import "time"
type BillingDetailsInfo struct {
}
type BillingResourceListInput struct {
// 计费类型,按需计费和预付费
// pattern:prepaid|postpaid
BillingType string `json:"billing_type"`
// 计费过期时间的查询起始时间
BillingExpireSince time.Time `json:"billing_expire_since"`
// 计费过期时间的查询终止时间
BillingExpireBefore time.Time `json:"billing_expire_before"`
// 计费周期
// example:7d
BillingCycle string `json:"billing_cycle"`
}

View File

@@ -1 +1,15 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package proxy // import "yunion.io/x/onecloud/pkg/apis/cloudcommon/proxy"

View File

@@ -1,3 +1,17 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package proxy
import (
@@ -11,16 +25,13 @@ const (
)
type ProxySettingCreateInput struct {
apis.StandaloneResourceCreateInput
apis.InfrasResourceBaseCreateInput
ProxySetting
}
type ProxySettingUpdateInput struct {
// 资源名称
Name string `json:"name"`
// 资源描述
Description string `json:"description"`
apis.InfrasResourceBaseUpdateInput
ProxySetting
}
@@ -46,7 +57,7 @@ type ProxySettingResourceInput struct {
// swagger:ignore
// Deprecated
ProxySettingId string `json:"proxy_setting_id" "yunion:deprecated-by":"proxy_setting"`
ProxySettingId string `json:"proxy_setting_id" yunion-deprecated-by:"proxy_setting"`
}
type ProxySettingTestInput struct {

View File

@@ -1,3 +1,17 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package proxy
import (

View File

@@ -20,7 +20,7 @@ import (
// SProxySetting is an autogenerated struct via yunion.io/x/onecloud/pkg/cloudcommon/db/proxy.SProxySetting.
type SProxySetting struct {
apis.SStandaloneResourceBase
apis.SInfrasResourceBase
HTTPProxy string `json:"http_proxy"`
HTTPSProxy string `json:"https_proxy"`
NoProxy string `json:"no_proxy"`

View File

@@ -18,47 +18,13 @@ import (
"time"
"yunion.io/x/onecloud/pkg/apis"
"yunion.io/x/onecloud/pkg/apis/compute"
)
type CloudeventListInput struct {
apis.ModelBaseListInput
// 列出指定云平台的资源,支持的云平台如下
//
// | Provider | 开始支持版本 | 平台 |
// |-----------|------------|-------------------------------------|
// | OneCloud | 0.0 | OneCloud内置私有云包括KVM和裸金属管理 |
// | VMware | 1.2 | VMware vCenter |
// | OpenStack | 2.6 | OpenStack M版本以上私有云 |
// | ZStack | 2.10 | ZStack私有云 |
// | Aliyun | 2.0 | 阿里云 |
// | Aws | 2.3 | Amazon AWS |
// | Azure | 2.2 | Microsoft Azure |
// | Google | 2.13 | Google Cloud Platform |
// | Qcloud | 2.3 | 腾讯云 |
// | Huawei | 2.5 | 华为公有云 |
// | Ucloud | 2.7 | UCLOUD |
// | Ctyun | 2.13 | 天翼云 |
// | S3 | 2.11 | 通用s3对象存储 |
// | Ceph | 2.11 | Ceph对象存储 |
// | Xsky | 2.11 | XSKY启明星辰Ceph对象存储 |
//
// enum: OneCloud,VMware,Aliyun,Qcloud,Azure,Aws,Huawei,OpenStack,Ucloud,ZStack,Google,Ctyun,S3,Ceph,Xsky"
Providers []string `json:"providers"`
// swagger:ignore
// Deprecated
Provider []string `json:"provider" "yunion:deprecated-by":"providers"`
// 列出指定云平台品牌的资源一般来说brand和provider相同除了以上支持的provider之外还支持以下band
//
// | Brand | Provider | 说明 |
// |----------|----------|------------|
// | DStack | ZStack | 滴滴云私有云 |
//
Brands []string `json:"brands"`
// swagger:ignore
// Deprecated
Brand []string `json:"brand" "yunion:deprecated-by":"brands"`
compute.CloudenvResourceListInput
// 服务类型
Service []string `json:"service"`

View File

@@ -15,6 +15,8 @@
package cloudevent
const (
SERVICE_TYPE = "cloudevent"
CLOUD_EVENT_SERVICE_COMPUTE = "compute"
CLOUD_EVENT_SERVICE_UNKNOWN = "unknown"

15
pkg/apis/cloudnet/doc.go Normal file
View File

@@ -0,0 +1,15 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package cloudnet // import "yunion.io/x/onecloud/pkg/apis/cloudnet"

View File

@@ -0,0 +1,69 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package cloudnet
import "yunion.io/x/onecloud/pkg/apis"
type RouterUpdateInput struct {
apis.StandaloneResourceBaseUpdateInput
User string `json:"user"`
Host string `json:"host"`
Port *int `json:"port"`
PrivateKey string `json:"private_key"`
RealizeWgIfaces *bool `json:"realize_wg_ifaces"`
RealizeRoutes *bool `json:"realize_routes"`
RealizeRules *bool `json:"realize_rules"`
OldEndpoint string `json:"_old_endpoint"`
}
type RouteUpdateInput struct {
apis.StandaloneResourceBaseUpdateInput
Network string `json:"network"`
Gateway string `json:"gateway"`
}
type RuleUpdateInput struct {
apis.StandaloneResourceBaseUpdateInput
Prio int `json:"prio"`
MatchSrcNet string `json:"match_src_net"`
MatchDestNet string `json:"match_dest_net"`
MatchProto string `json:"match_proto"`
MatchSrcPort int `json:"match_src_port"`
MatchDestPort int `json:"match_dest_port"`
MatchInIfname string `json:"match_in_ifname"`
MatchOutIfname string `json:"match_out_ifname"`
Action string `json:"action"`
ActionOptions string `json:"action_options"`
}

View File

@@ -285,7 +285,7 @@ type ServerConfigs struct {
// swagger:ignore
// Deprecated
// alias for InstanceType
Sku string `json:"sku" "yunion:deprecated-by":"instance_type"`
Sku string `json:"sku" yunion-deprecated-by:"instance_type"`
// 虚拟机高可用(创建备机)
// default: false
@@ -357,9 +357,9 @@ type ServerCreateInput struct {
// required: false
UserData string `json:"user_data"`
// Deprecated
// swagger:ignore
KeypairId string `json:"keypair_id" "yunion:deprecated-by":"keypair"`
// Deprecated
KeypairId string `json:"keypair_id" yunion-deprecated-by:"keypair"`
// 秘钥对Id
// required: false
@@ -434,6 +434,10 @@ type ServerCreateInput struct {
// |天翼云 |是 |
Duration string `json:"duration"`
// 是否自动续费
// default: false
AutoRenew bool `json:"auto_renew"`
// swagger:ignore
AutoPrepaidRecycle bool `json:"auto_prepaid_recycle,omitfalse"`
@@ -462,7 +466,8 @@ type ServerCreateInput struct {
// swagger:ignore
OsType string `json:"os_type"`
// swagger:ignore
DisableUsbKbd bool `json:"disable_usb_kbd"`
// swagger:ignore
OsProfile jsonutils.JSONObject `json:"__os_profile__"`
// swagger:ignore

View File

@@ -18,9 +18,29 @@ import "yunion.io/x/onecloud/pkg/apis"
type BaremetalagentDetails struct {
apis.StandaloneResourceDetails
SBaremetalagent
ZoneResourceInfo
// 裸金属代理程序所在的可用区
// example: zone1
Zone string `json:"zone"`
SBaremetalagent
}
type BaremetalagentCreateInput struct {
apis.StandaloneResourceCreateInput
ZoneResourceInput
AccessIp string `json:"access_ip"`
ManagerUri string `json:"manager_uri"`
AgentType string `json:"agent_type"`
Version string `json:"version"`
}
type BaremetalagentUpdateInput struct {
apis.StandaloneResourceBaseUpdateInput
ZoneResourceInput
AccessIp string `json:"access_ip"`
ManagerUri string `json:"manager_uri"`
AgentType string `json:"agent_type"`
Version string `json:"version"`
}

View File

@@ -35,6 +35,7 @@ const (
BUCKET_STATUS_DELETING = "deleting"
BUCKET_STATUS_DELETED = "deleted"
BUCKET_STATUS_DELETE_FAIL = "delete_fail"
BUCKET_STATUS_UNKNOWN = "unknown"
BUCKET_UPLOAD_OBJECT_KEY_HEADER = "X-Yunion-Bucket-Upload-Key"
BUCKET_UPLOAD_OBJECT_ACL_HEADER = "X-Yunion-Bucket-Upload-Acl"
@@ -42,19 +43,21 @@ const (
)
type BucketCreateInput struct {
apis.VirtualResourceCreateInput
RegionalResourceCreateInput
ManagedResourceCreateInput
apis.SharableVirtualResourceCreateInput
CloudregionResourceInput
CloudproviderResourceInput
StorageClass string `json:"storage_class"`
}
type BucketDetails struct {
apis.VirtualResourceDetails
apis.SharableVirtualResourceDetails
ManagedResourceInfo
CloudregionResourceInfo
SBucket
CloudproviderInfo
// 访问URL列表
AccessUrls []cloudprovider.SBucketAccessUrl `json:"access_urls"`
}
@@ -95,7 +98,25 @@ func (input *BucketMetadataInput) Validate() error {
}
type BucketListInput struct {
apis.VirtualResourceListInput
apis.SharableVirtualResourceListInput
apis.ExternalizedResourceBaseListInput
ManagedResourceListInput
RegionalFilterListInput
// STORAGE_CLASS
StorageClass []string `json:"storage_class"`
// 位置
Location []string `json:"location"`
// ACL
Acl []string `json:"acl"`
}
type BucketSyncstatusInput struct {
}
type BucketUpdateInput struct {
apis.SharableVirtualResourceBaseUpdateInput
}

View File

@@ -28,6 +28,7 @@ type CachedImageUncacheImageInput struct {
type CachedimageDetails struct {
apis.StandaloneResourceDetails
SCachedimage
// 镜像状态, 和info里面的status一致

View File

@@ -18,7 +18,36 @@ import "yunion.io/x/onecloud/pkg/apis"
type CachedLoadbalancerAclDetails struct {
apis.SharableVirtualResourceDetails
SCachedLoadbalancerAcl
CloudregionResourceInfo
ManagedResourceInfo
CloudproviderInfo
SCachedLoadbalancerAcl
}
type CachedLoadbalancerAclListInput struct {
apis.SharableVirtualResourceListInput
RegionalFilterListInput
ManagedResourceListInput
LoadbalancerAclFilterListInput
}
type LoadbalancerAclResourceInfo struct {
// 负载均衡ACL名称
Acl string `json:"acl"`
}
type LoadbalancerAclResourceInput struct {
// ACL名称或ID
Acl string `json:"acl"`
// swagger:ignore
// Deprecated
AclId string `json:"acl_id" yunion-deprecated-by:"acl"`
}
type LoadbalancerAclFilterListInput struct {
LoadbalancerAclResourceInput
// 以ACL名称排序
OrderByAcl string `json:"order_by_acl"`
}

View File

@@ -18,7 +18,37 @@ import "yunion.io/x/onecloud/pkg/apis"
type CachedLoadbalancerCertificateDetails struct {
apis.VirtualResourceDetails
SCachedLoadbalancerCertificate
ManagedResourceInfo
CloudregionResourceInfo
LoadbalancerCertificateResourceInfo
CloudproviderInfo
SCachedLoadbalancerCertificate
}
type CachedLoadbalancerCertificateListInput struct {
apis.VirtualResourceListInput
ManagedResourceListInput
RegionalFilterListInput
LoadbalancerCertificateFilterListInput
}
type LoadbalancerCertificateResourceInfo struct {
// 负载均衡证书名称
Certificate string `json:"certificate"`
}
type LoadbalancerCertificateResourceInput struct {
// 证书名称或ID
Certificate string `json:"certificate"`
// swagger:ignore
// Deprecated
CertificateId string `json:"certificate_id" yunion-deprecated-by:"certificate"`
}
type LoadbalancerCertificateFilterListInput struct {
LoadbalancerCertificateResourceInput
// 以证书名称排序
OrderByCertificate string `json:"order_by_certificate"`
}

View File

@@ -24,8 +24,114 @@ import (
"yunion.io/x/onecloud/pkg/httperrors"
)
type CloudenvResourceInfo struct {
// 云平台名称
// example: Google
Provider string `json:"provider,omitempty"`
// 云平台品牌
// example: Google
Brand string `json:"brand,omitempty"`
// 云环境
// example: public
CloudEnv string `json:"cloud_env,omitempty"`
// Environment
Environment string `json:"environment,omitempty"`
}
type CloudenvResourceListInput struct {
// 列出指定云平台的资源,支持的云平台如下
//
// | Provider | 开始支持版本 | 平台 |
// |-----------|------------|-------------------------------------|
// | OneCloud | 0.0 | OneCloud内置私有云包括KVM和裸金属管理 |
// | VMware | 1.2 | VMware vCenter |
// | OpenStack | 2.6 | OpenStack M版本以上私有云 |
// | ZStack | 2.10 | ZStack私有云 |
// | Aliyun | 2.0 | 阿里云 |
// | Aws | 2.3 | Amazon AWS |
// | Azure | 2.2 | Microsoft Azure |
// | Google | 2.13 | Google Cloud Platform |
// | Qcloud | 2.3 | 腾讯云 |
// | Huawei | 2.5 | 华为公有云 |
// | Ucloud | 2.7 | UCLOUD |
// | Ctyun | 2.13 | 天翼云 |
// | S3 | 2.11 | 通用s3对象存储 |
// | Ceph | 2.11 | Ceph对象存储 |
// | Xsky | 2.11 | XSKY启明星辰Ceph对象存储 |
//
// enum: OneCloud,VMware,Aliyun,Qcloud,Azure,Aws,Huawei,OpenStack,Ucloud,ZStack,Google,Ctyun,S3,Ceph,Xsky"
Providers []string `json:"providers"`
// swagger:ignore
// Deprecated
Provider []string `json:"provider" yunion-deprecated-by:"providers"`
// 列出指定云平台品牌的资源一般来说brand和provider相同除了以上支持的provider之外还支持以下band
//
// | Brand | Provider | 说明 |
// |----------|----------|------------|
// | DStack | ZStack | 滴滴云私有云 |
//
Brands []string `json:"brands"`
// swagger:ignore
// Deprecated
Brand []string `json:"brand" yunion-deprecated-by:"brands"`
// 列出指定云环境的资源,支持云环境如下:
//
// | CloudEnv | 说明 |
// |-----------|--------|
// | public | 公有云 |
// | private | 私有云 |
// | onpremise | 本地IDC |
//
// enum: public,private,onpremise
CloudEnv string `json:"cloud_env"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
PublicCloud bool `json:"public_cloud"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsPublic bool `json:"is_public"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
PrivateCloud bool `json:"private_cloud"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsPrivate bool `json:"is_private"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsOnPremise bool `json:"is_on_premise"`
// 以平台名称排序
// pattern:asc|desc
OrderByProvider string `json:"order_by_provider"`
// 以平台品牌排序
// pattern:asc|desc
OrderByBrand string `json:"order_by_brand"`
}
type CloudaccountResourceInfo struct {
CloudenvResourceInfo
// 云账号名称
// example: google-account
Account string `json:"account,omitempty"`
}
type CloudaccountCreateInput struct {
apis.EnabledStatusStandaloneResourceCreateInput
apis.EnabledStatusInfrasResourceBaseCreateInput
// 指定云平台
// Qcloud: 腾讯云
@@ -61,10 +167,11 @@ type CloudaccountCreateInput struct {
IsOnPremise bool
// 指定云账号所属的项目
Tenant string `json:"tenant"`
// Tenant string `json:"tenant"`
// swagger:ignore
TenantId string
// TenantId string
apis.ProjectizedResourceInput
// 启用自动同步
// default: false
@@ -73,12 +180,12 @@ type CloudaccountCreateInput struct {
// 自动同步间隔时间
SyncIntervalSeconds int `json:"sync_interval_seconds"`
// 自动根据云上项目或订阅创建本地项目
// 自动根据云上项目或订阅创建本地项目, OpenStack此参数为true
// default: false
AutoCreateProject bool `json:"auto_create_project"`
AutoCreateProject *bool `json:"auto_create_project"`
// 额外信息,例如账单的access key
Options *jsonutils.JSONObject `json:"options"`
Options *jsonutils.JSONDict `json:"options"`
proxyapi.ProxySettingResourceInput
@@ -103,11 +210,24 @@ func (i CloudaccountShareModeInput) Validate() error {
}
type CloudaccountListInput struct {
apis.EnabledStatusStandaloneResourceListInput
apis.EnabledStatusInfrasResourceBaseListInput
ManagedResourceListInput
CapabilityListInput
SyncableBaseResourceListInput
// 账号健康状态
HealthStatus []string `json:"health_status"`
// 共享模式
ShareMode []string `json:"share_mode"`
// 代理
ProxySetting string `json:"proxy_setting"`
// swagger:ignore
ProxySettingId string `json:"proxy_setting_id" yunion-deprecated-by:"proxy_setting"`
}
type ProviderProject struct {
@@ -121,7 +241,7 @@ type ProviderProject struct {
}
type CloudaccountDetail struct {
apis.StandaloneResourceDetails
apis.EnabledStatusInfrasResourceBaseDetails
SCloudaccount
// 子订阅项目信息
@@ -183,3 +303,25 @@ type CloudaccountDetail struct {
ProxySetting proxyapi.SProxySetting `json:"proxy_setting"`
}
type CloudaccountUpdateInput struct {
apis.EnabledStatusInfrasResourceBaseUpdateInput
// 同步周期,单位为秒
SyncIntervalSeconds *int64 `json:"sync_interval_seconds"`
// 待更新的options key/value
Options *jsonutils.JSONDict `json:"options"`
// 带删除的options key
RemoveOptions []string `json:"remove_options"`
proxyapi.ProxySettingResourceInput
}
type CloudaccountPerformPublicInput struct {
apis.PerformPublicDomainInput
// 共享模式可能值为provider_domain, system
// example: provider_domain
ShareMode string `json:"share_mode"`
}

View File

@@ -14,6 +14,11 @@
package compute
import (
"yunion.io/x/onecloud/pkg/apis"
"yunion.io/x/onecloud/pkg/cloudprovider"
)
const (
CLOUD_PROVIDER_INIT = "init"
CLOUD_PROVIDER_CONNECTED = "connected"
@@ -91,17 +96,17 @@ var (
)
const (
CLOUD_ENV_PUBLIC_CLOUD = "public"
CLOUD_ENV_PRIVATE_CLOUD = "private"
CLOUD_ENV_ON_PREMISE = "onpremise"
CLOUD_ENV_PUBLIC_CLOUD = cloudprovider.CLOUD_ENV_PUBLIC_CLOUD
CLOUD_ENV_PRIVATE_CLOUD = cloudprovider.CLOUD_ENV_PRIVATE_CLOUD
CLOUD_ENV_ON_PREMISE = cloudprovider.CLOUD_ENV_ON_PREMISE
CLOUD_ENV_PRIVATE_ON_PREMISE = "private_or_onpremise"
CLOUD_ENV_PRIVATE_ON_PREMISE = cloudprovider.CLOUD_ENV_PRIVATE_ON_PREMISE
)
const (
CLOUD_ACCOUNT_SHARE_MODE_ACCOUNT_DOMAIN = "account_domain"
CLOUD_ACCOUNT_SHARE_MODE_SYSTEM = "system"
CLOUD_ACCOUNT_SHARE_MODE_PROVIDER_DOMAIN = "provider_domain"
CLOUD_ACCOUNT_SHARE_MODE_ACCOUNT_DOMAIN = apis.CLOUD_ACCOUNT_SHARE_MODE_ACCOUNT_DOMAIN
CLOUD_ACCOUNT_SHARE_MODE_SYSTEM = apis.CLOUD_ACCOUNT_SHARE_MODE_SYSTEM
CLOUD_ACCOUNT_SHARE_MODE_PROVIDER_DOMAIN = apis.CLOUD_ACCOUNT_SHARE_MODE_PROVIDER_DOMAIN
)
var (

View File

@@ -22,31 +22,17 @@ import (
"yunion.io/x/onecloud/pkg/cloudprovider"
)
type CloudproviderInfo struct {
// 云平台
// example: Google
Provider string `json:"provider,omitempty"`
// 云平台品牌
// example: Google
Brand string `json:"brand,omitempty"`
// 云账号名称
// example: google-account
Account string `json:"account,omitempty"`
type ManagedResourceInfo struct {
CloudaccountResourceInfo
// 云账号Id
// example: 4d3c8979-9dd0-439b-8d78-36fe1ab1666c
AccountId string `json:"account_id,omitempty"`
// 订阅名称
// 订阅名称
// example: google-account
Manager string `json:"manager,omitempty"`
// 子订阅Id
// example: fa4aaf88-aed8-422d-84e7-56dea533b364
ManagerId string `json:"manager_id,omitempty"`
// 子订阅所在项目名称
// example: system
ManagerProject string `json:"manager_project,omitempty"`
@@ -61,52 +47,9 @@ type CloudproviderInfo struct {
// 子订阅所在域Id
// example: default
ManagerDomainId string `json:"manager_domain_id,omitempty"`
// 区域名称
// example: 腾讯云 华南地区(广州)
Region string `json:"region,omitempty"`
// 区域Id
// example: 6151c89b-77f2-4d43-8ef9-cd03d604a16b
RegionId string `json:"region_id,omitempty"`
// 区域Id
// example: 6151c89b-77f2-4d43-8ef9-cd03d604a16b
CloudregionId string `json:"cloudregion_id,omitempty"`
// 区域外部Id
// Qcloud/ap-guangzhou
RegionExternalId string `json:"region_external_id,omitempty"`
// 区域外部Id(不携带平台信息)
// example: ap-guangzhou
RegionExtId string `json:"region_ext_id,omitempty"`
// 可用区名称
// example: 腾讯云 广州四区
Zone string `json:"zone,omitempty"`
// 可用区Id
// example: 336ac6d2-b80d-43bb-86d5-1ebf474da8d4
ZoneId string `json:"zone_id,omitempty"`
// 可用区外部Id
// example: ap-guangzhou-4
ZoneExtId string `json:"zone_ext_id,omitempty"`
// 云环境
// example: public
CloudEnv string `json:"cloud_env,omitempty"`
}
type CloudproviderDetails struct {
apis.StandaloneResourceDetails
SCloudprovider
ProxySetting proxyapi.SProxySetting `json:"proxy_setting"`
// 云账号名称
// example: google-account
Cloudaccount string `json:"cloudaccount"`
// 子订阅同步状态
SyncStatus2 string `json:"sync_status2"`
// 支持服务列表
Capabilities []string `json:"capabilities"`
type SCloudproviderUsage struct {
// 云主机数量
// example: 1
GuestCount int `json:"guest_count"`
@@ -131,121 +74,122 @@ type CloudproviderDetails struct {
// 负载均衡器数量
// example: 2
LoadbalancerCount int `json:"loadbalancer_count"`
// 数据库实例数量
// example: 2
DBInstanceCount int `json:"dbinstance_count"`
// 弹性缓存实例数量
// example: 2
ElasticcacheCount int `json:"elasticcache_count"`
// 项目数量
ProjectCount int `json:"project_count"`
// 同步区域数量
SyncRegionCount int `json:"sync_region_count"`
}
func (usage *SCloudproviderUsage) IsEmpty() bool {
if usage.HostCount > 0 {
return false
}
if usage.VpcCount > 0 {
return false
}
if usage.StorageCount > 0 {
return false
}
if usage.StorageCacheCount > 0 {
return false
}
if usage.EipCount > 0 {
return false
}
if usage.SnapshotCount > 0 {
return false
}
if usage.LoadbalancerCount > 0 {
return false
}
/*if usage.ProjectCount > 0 {
return false
}
if usage.SyncRegionCount > 0 {
return false
}*/
return true
}
type CloudproviderDetails struct {
apis.EnabledStatusStandaloneResourceDetails
apis.ProjectizedResourceInfo
ProxySetting proxyapi.SProxySetting `json:"proxy_setting"`
SCloudprovider
// 云账号名称
// example: google-account
Cloudaccount string `json:"cloudaccount"`
// 子订阅同步状态
SyncStatus2 string `json:"sync_status2"`
// 支持服务列表
Capabilities []string `json:"capabilities"`
SCloudproviderUsage
// 子订阅品牌信息
Brand string `json:"brand"`
}
type ManagedResourceListInput struct {
// 云订阅输入参数
type CloudproviderResourceInput struct {
// 列出关联指定云订阅(ID或Name)的资源
Cloudprovider string `json:"cloudprovider"`
// List objects belonging to the cloud provider
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
Manager string `json:"manager" "yunion:deprecated-by":"cloudprovider"`
Manager string `json:"manager" yunion-deprecated-by:"cloudprovider"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
ManagerId string `json:"manager_id" "yunion:deprecated-by":"cloudprovider"`
ManagerId string `json:"manager_id" yunion-deprecated-by:"cloudprovider"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
CloudproviderId string `json:"cloudprovider_id" "yunion:deprecated-by":"cloudprovider"`
CloudproviderId string `json:"cloudprovider_id" yunion-deprecated-by:"cloudprovider"`
}
type ManagedResourceListInput struct {
apis.DomainizedResourceListInput
CloudenvResourceListInput
CloudproviderResourceInput
// 列出关联指定云账号(ID或Name)的资源
Cloudaccount string `json:"cloudaccount"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
CloudaccountId string `json:"cloudaccount_id" "yunion:deprecated-by":"cloudaccount"`
CloudaccountId string `json:"cloudaccount_id" yunion-deprecated-by:"cloudaccount"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
Account string `json:"account" "yunion:deprecated-by":"cloudaccount"`
Account string `json:"account" yunion-deprecated-by:"cloudaccount"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
AccountId string `json:"account_id" "yunion:deprecated-by":"cloudaccount"`
// 列出指定云平台的资源,支持的云平台如下
//
// | Provider | 开始支持版本 | 平台 |
// |-----------|------------|-------------------------------------|
// | OneCloud | 0.0 | OneCloud内置私有云包括KVM和裸金属管理 |
// | VMware | 1.2 | VMware vCenter |
// | OpenStack | 2.6 | OpenStack M版本以上私有云 |
// | ZStack | 2.10 | ZStack私有云 |
// | Aliyun | 2.0 | 阿里云 |
// | Aws | 2.3 | Amazon AWS |
// | Azure | 2.2 | Microsoft Azure |
// | Google | 2.13 | Google Cloud Platform |
// | Qcloud | 2.3 | 腾讯云 |
// | Huawei | 2.5 | 华为公有云 |
// | Ucloud | 2.7 | UCLOUD |
// | Ctyun | 2.13 | 天翼云 |
// | S3 | 2.11 | 通用s3对象存储 |
// | Ceph | 2.11 | Ceph对象存储 |
// | Xsky | 2.11 | XSKY启明星辰Ceph对象存储 |
//
// enum: OneCloud,VMware,Aliyun,Qcloud,Azure,Aws,Huawei,OpenStack,Ucloud,ZStack,Google,Ctyun,S3,Ceph,Xsky"
Providers []string `json:"providers"`
// swagger:ignore
// Deprecated
Provider []string `json:"provider" "yunion:deprecated-by":"providers"`
// 列出指定云平台品牌的资源一般来说brand和provider相同除了以上支持的provider之外还支持以下band
//
// | Brand | Provider | 说明 |
// |----------|----------|------------|
// | DStack | ZStack | 滴滴云私有云 |
//
Brands []string `json:"brands"`
// swagger:ignore
// Deprecated
Brand []string `json:"brand" "yunion:deprecated-by":"brands"`
// 列出指定云环境的资源,支持云环境如下:
//
// | CloudEnv | 说明 |
// |-----------|--------|
// | public | 公有云 |
// | private | 私有云 |
// | onpremise | 本地IDC |
//
// enum: public,private,onpremise
CloudEnv string `json:"cloud_env"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
PublicCloud bool `json:"public_cloud"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsPublic bool `json:"is_public"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
PrivateCloud bool `json:"private_cloud"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsPrivate bool `json:"is_private"`
// swagger:ignore
// Deprecated
// description: this param will be deprecate at 3.0
IsOnPremise bool `json:"is_on_premise"`
AccountId string `json:"account_id" yunion-deprecated-by:"cloudaccount"`
// 过滤资源是否为非OneCloud内置私有云管理的资源
// default: false
IsManaged bool `json:"is_managed"`
IsManaged *bool `json:"is_managed"`
// 以云账号名称排序
// pattern:asc|desc
OrderByAccount string `json:"order_by_account"`
// 以云订阅名称排序
// pattern:asc|desc
OrderByManager string `json:"order_by_manager"`
}
func (input *ManagedResourceListInput) AfterUnmarshal() {
@@ -274,10 +218,20 @@ type CloudproviderListInput struct {
apis.EnabledStatusStandaloneResourceListInput
ManagedResourceListInput
apis.ProjectizedResourceListInput
UsableResourceListInput
CloudregionResourceInput
ZoneResourceInput
CapabilityListInput
SyncableBaseResourceListInput
// 账号健康状态
HealthStatus []string `json:"health_status"`
}
func (input *CapabilityListInput) AfterUnmarshal() {
@@ -285,3 +239,35 @@ func (input *CapabilityListInput) AfterUnmarshal() {
input.Capability = append(input.Capability, cloudprovider.CLOUD_CAPABILITY_OBJECTSTORE)
}
}
type SyncableBaseResourceListInput struct {
// 同步状态
SyncStatus []string `json:"sync_status"`
}
type CloudproviderUpdateInput struct {
apis.EnabledStatusStandaloneResourceBaseUpdateInput
}
type CloudproviderCreateInput struct {
}
type CloudproviderGetStorageClassInput struct {
CloudregionResourceInput
}
type CloudproviderGetStorageClassOutput struct {
// 对象存储存储类型
StorageClasses []string `json:"storage_classes"`
}
type CloudproviderGetCannedAclInput struct {
CloudregionResourceInput
}
type CloudproviderGetCannedAclOutput struct {
// Bucket支持的预置ACL列表
BucketCannedAcls []string `json:"bucket_canned_acls"`
// Object支持的预置ACL列表
ObjectCannedAcls []string `json:"object_canned_acls"`
}

View File

@@ -0,0 +1,44 @@
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package compute
import "yunion.io/x/onecloud/pkg/apis"
const (
CLOUD_PROVIDER_QUOTA_RANGE_CLOUDREGION = "cloudregion"
CLOUD_PROVIDER_QUOTA_RANGE_CLOUDPROVIDER = "cloudprovider"
)
type CloudproviderQuotaListInput struct {
apis.StandaloneResourceListInput
apis.ExternalizedResourceBaseListInput
ManagedResourceListInput
RegionalFilterListInput
// 配额类型
QuotaType string `json:"quota_type"`
// 配额范围
QuotaRange string `json:"quota_range"`
}
type CloudproviderQuotaDetails struct {
apis.StandaloneResourceDetails
CloudregionResourceInfo
ManagedResourceInfo
SCloudproviderQuota
}

View File

@@ -17,10 +17,10 @@ package compute
import "yunion.io/x/onecloud/pkg/apis"
type CloudproviderregionDetails struct {
apis.JoinModelBaseDetails
apis.JointResourceBaseDetails
CloudregionResourceInfo
Cloudprovider string
Cloudregion string
Cloudprovider string `json:"cloudprovider"`
// 云账号Id
// example: fa4aaf88-aed8-422d-84e7-56dea533b364
@@ -38,4 +38,18 @@ type CloudproviderregionDetails struct {
// 自动同步周期
// example: 300
SyncIntervalSeconds int `json:"sync_interval_seconds"`
// 支持服务列表
Capabilities []string `json:"capabilities"`
}
type CloudproviderregionListInput struct {
apis.JointResourceBaseListInput
SyncableBaseResourceListInput
RegionalFilterListInput
ManagedResourceListInput
CapabilityListInput
// 是否启用
Enabled *bool `json:"enabled"`
}

View File

@@ -16,10 +16,7 @@ package compute
import "yunion.io/x/onecloud/pkg/apis"
type CloudregionDetails struct {
apis.StandaloneResourceDetails
SCloudregion
type SCloudregionUsage struct {
// 虚拟私有网络数量
// example: 2
VpcCount int `json:"vpc_count,allowempty"`
@@ -37,11 +34,26 @@ type CloudregionDetails struct {
GuestIncrementCount int `json:"guest_increment_count,allowempty"`
}
type CloudregionInfo struct {
type CloudregionDetails struct {
apis.EnabledStatusStandaloneResourceDetails
SCloudregionUsage
SCloudregion
// 云类型, public, private or onpremise
// example: public
CloudEnv string `json:"cloud_env"`
}
type CloudregionResourceInfo struct {
// 区域的名称
// example: Default
Region string `json:"region"`
// 区域的名称
Cloudregion string `json:"cloudregion"`
// 区域的Id
// example: default
RegionId string `json:"region_id"`

View File

@@ -21,6 +21,7 @@ type DBInstanceCreateInput struct {
DeletePreventableCreateInput
// Ip子网名称或Id,建议使用Id
// 谷歌云并不实际使用Ip子网,仅仅通过Ip子网确定Vpc
// required: true
Network string `json:"network"`
// swagger:ignore
@@ -96,10 +97,11 @@ type DBInstanceCreateInput struct {
//
//
//
// | 平台 | 支持类型 |
// | ----- | ------ |
// | 华为云 |ha, single, replica|
// | 阿里云 |basic, high_availability, always_on, finance|
// | 平台 | 支持类型 | 说明 |
// | ----- | ------ | --- |
// | 华为云 |ha, single, replica| |
// | 阿里云 |basic, high_availability, always_on, finance||
// | Google |Zonal, Regional | |
// 翻译:
// basic: 基础版
// high_availability: 高可用
@@ -108,6 +110,8 @@ type DBInstanceCreateInput struct {
// ha: 高可用
// single: 单机
// replica: 只读
// Zonal: 单区域
// Regional: 区域级
// required: true
Category string `json:"category"`
@@ -118,6 +122,10 @@ type DBInstanceCreateInput struct {
// | 平台 | 支持类型 |
// | 华为云 |SSD, SAS, SATA|
// | 阿里云 |local_ssd, cloud_essd, cloud_ssd|
// | Google |PD_SSD, PD_HDD|
// 翻译:
// PD_SSD: SSD
// PD_HDD: HDD
// required: true
StorageType string `json:"storage_type"`
@@ -129,8 +137,14 @@ type DBInstanceCreateInput struct {
// rds初始化密码
// 阿里云不需要此参数
// 华为云会默认创建一个用户,若不传此参数, 则为随机密码
// 谷歌云会默认创建一个用户,若不传此参数, 则为随机密码
Password string `json:"password"`
// 是否不设置初始密码
// 华为云不支持此参数
// 谷歌云仅mysql支持此参数
ResetPassword *bool `json:"reset_password"`
// rds实例cpu大小
// 若指定实例套餐,此参数将根据套餐设置
VcpuCount int `json:"vcpu_count"`
@@ -157,72 +171,124 @@ type SDBInstanceChangeConfigInput struct {
type SDBInstanceRecoveryConfigInput struct {
apis.Meta
DBInstancebackup string
DBInstancebackupId string `json:"dbinstancebackup_id"`
Databases map[string]string `json:"databases,allowempty"`
// swagger:ignore
DBInstancebackup string `json:"dbinstancebackup" yunion-deprecated-by:"dbinstancebackup_id"`
// 备份Id
//
//
// | 平台 | 支持引擎 | 说明 |
// | ----- | ------ | --- |
// | 华为云 |MySQL, SQL Server | 仅SQL Server支持恢复到当前实例 |
// | 阿里云 |MySQL, SQL Server | MySQL要求必须开启单库单表恢复功能 并且只能是MySQL 8.0 高可用版本地SSD盘MySQL 5.7 高可用版本地SSD盘或MySQL 5.6 高可用版, MySQL仅支持恢复到当前实例|
// | Google |MySQL, PostgreSQL, SQL Server | PostgreSQL备份恢复时要求实例不能有副本 |
DBInstancebackupId string `json:"dbinstancebackup_id"`
// 数据库信息, 例如 {"src":"dest"} 是将备份中的src数据库恢复到目标实例的dest数据库中, 阿里云此参数为必传
// example: {"sdb1":"ddb1"}
Databases map[string]string `json:"databases,allowempty"`
}
type DBInstanceListInput struct {
apis.VirtualResourceListInput
apis.ExternalizedResourceBaseListInput
apis.DeletePreventableResourceBaseListInput
ZonalFilterListInput
ManagedResourceListInput
VpcFilterListInput
ZoneResourceInput
MasterInstance string `json:"master_instance"`
VcpuCount int `json:"vcpu_count"`
VmemSizeMb int `json:"vmem_size_mb"`
StorageType string `json:"storage_type"`
Category string `json:"category"`
Engine string `json:"engine"`
EngineVersion string `json:"engine_version"`
InstanceType string `json:"instance_type"`
}
type DBInstanceBackupListInput struct {
apis.VirtualResourceListInput
apis.ExternalizedResourceBaseListInput
ManagedResourceListInput
RegionalFilterListInput
DbinstanceFilterListInput
DBInstanceFilterListInputBase
// RDS引擎
// example: MySQL
Engine []string `json:"engine"`
// RDS引擎版本
// example: 5.7
EngineVersion []string `json:"engine_version"`
// 备份模式
BackupMode []string `json:"backup_mode"`
// 数据库名称
DBNames string `json:"db_names"`
}
type DBInstancePrivilegeListInput struct {
apis.ResourceBaseListInput
apis.ExternalizedResourceBaseListInput
// filter by dbinstanceaccount
Dbinstanceaccount string `json:"dbinstanceaccount"`
// filter by dbinstancedatabase
Dbinstancedatabase string `json:"dbinstancedatabase"`
// 权限
Privilege []string `json:"privilege"`
}
type DBInstanceParameterListInput struct {
apis.StandaloneResourceListInput
apis.ExternalizedResourceBaseListInput
DBInstanceFilterListInput
DbinstanceFilterListInput
// 参数名称
Key []string `json:"key"`
// 参数值
Value []string `json:"value"`
}
type DBInstanceDatabaseListInput struct {
apis.StatusStandaloneResourceListInput
apis.ExternalizedResourceBaseListInput
DbinstanceFilterListInput
DBInstanceFilterListInput
// 数据库字符集
CharacterSet []string `json:"character_set"`
}
type DBInstanceAccountListInput struct {
apis.StatusStandaloneResourceListInput
apis.ExternalizedResourceBaseListInput
DbinstanceFilterListInput
}
type DbinstanceFilterListInput struct {
// filter by dbinstance
Dbinstance string `json:"dbinstance"`
// swagger:ignore
// Deprecated
// filter by dbinstance_id
DbinstanceId string `json:"dbinstance_id" "yunion:deprecated-by":"dbinstance"`
DBInstanceFilterListInput
}
type DBInstanceDetails struct {
apis.VirtualResourceDetails
CloudregionResourceInfo
ManagedResourceInfo
VpcResourceInfoBase
SDBInstance
CloudproviderInfo
// 虚拟私有网络名称
// example: test-vpc
Vpc string `json:"vpc"`
// 安全组名称
// example: Default
Secgroup string `json:"secgroup"`
@@ -232,6 +298,47 @@ type DBInstanceDetails struct {
// IP子网名称
// example: test-network
Network string `json:"network"`
// 标签信息
Metadata map[string]string `json:"metadata"`
// Zone1名称
Zone1Name string `json:"zone1_name"`
// Zone2名称
Zone2Name string `json:"zone2_name"`
// Zone3名称
Zone3Name string `json:"zone3_name"`
}
type DBInstanceResourceInfoBase struct {
// RDS实例名称
DBInstance string `json:"dbinstance"`
}
type DBInstanceResourceInfo struct {
DBInstanceResourceInfoBase
// 归属VPC ID
VpcId string `json:"vpc_id"`
VpcResourceInfo
}
type DBInstanceResourceInput struct {
// RDS实例(ID or Name)
DBInstance string `json:"dbinstance"`
// swagger:ignore
// Deprecated
DBInstanceId string `json:"dbinstance_id" yunion-deprecated-by:"dbinstance"`
}
type DBInstanceFilterListInputBase struct {
DBInstanceResourceInput
// 以RDS实例名字排序
OrderByDBInstance string `json:"order_by_dbinstance"`
}
type DBInstanceFilterListInput struct {
DBInstanceFilterListInputBase
VpcFilterListInput
}

Some files were not shown because too many files have changed in this diff Show More