Compare commits

...

1210 Commits

Author SHA1 Message Date
wanyaoqi
d78801de92 feat(region,host): hostpinger add cpu usage percent report (#22006) 2025-01-25 15:55:32 +08:00
Jian Qiu
ee67be37ba fix: is_classic is missing from network details (#21994)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-21 16:25:33 +08:00
Jian Qiu
54246ddbff fix: add summary statistics switch (#21991)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-18 20:14:40 +08:00
wanyaoqi
bed9513cc4 fix(region): snapshot policy with multi disk on same guest fix(region): delete overdued snapshots on cleanup snapshot task only (#21967) 2025-01-16 10:43:12 +08:00
Zexi Li
8b02911971 fix(host): wrap qemu machine info error (#21973) 2025-01-14 20:50:06 +08:00
Jian Qiu
e216b8a6e2 fix: image update input struct param (#21964)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-14 02:17:47 +08:00
wanyaoqi
61f72a4050 fix(region): host list add hide cpu topo info option (#21945) 2025-01-14 01:59:25 +08:00
wanyaoqi
5674742f1e fix(region): record snapshot last attched host on delete disk (#21926) 2025-01-07 20:00:07 +08:00
Jian Qiu
d5b26cb86a fix: backup storage support sign version (#21913)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2025-01-01 10:11:26 +08:00
wanyaoqi
efddf8e684 Automated cherry pick of #21894: Fix/host load servers (#21896)
* fix(host): load disks init scsi bus

* fix(region,host): delete instance snapshot progress incorrect
2024-12-30 10:31:43 +08:00
Jian Qiu
faddb1a8db fix: add more filters to isolated_device (#21908)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-12-30 10:30:05 +08:00
wanyaoqi
c46a33213f Automated cherry pick of #21875: Automated cherry pick of #21804: [WIP] fix: add more action log (#21876)
* fix: add more action log

* fix(region): add set cmt bound action
2024-12-29 23:08:57 +08:00
wanyaoqi
f89f201fca fix(host): delete snapshot from storagehandler misc fix (#21884) 2024-12-23 20:43:43 +08:00
Zexi Li
59f0b1d055 fix(monitor): unknown column returned when group by name tag (#21869) 2024-12-20 18:00:30 +08:00
Zexi Li
1fd00a55c3 fix(baremetal): panic when save desc (#21866) 2024-12-20 16:18:47 +08:00
wanyaoqi
d2bef87f7a fix(region): disk show io throttles (#21831) 2024-12-20 11:41:10 +08:00
wanyaoqi
8cb0af6b9e fix(host): optimize storage register failed wiht dup name (#21834) 2024-12-20 11:40:04 +08:00
wanyaoqi
9b36b35b9f fix(climc): host-show hide long content sys_info nic_info metadata (#21850) 2024-12-20 11:11:36 +08:00
Zexi Li
5496190609 fix(host): make telegraf configuration log to debug (#21843) 2024-12-19 15:56:24 +08:00
Jian Qiu
11a30253a2 fix: enfore mfa (#21801)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-12-17 19:39:40 +08:00
Zexi Li
cfbff4c6e8 fix(host): fix the rtl8139 NIC information is missing (#21816)
Co-authored-by: 云原生驿站 <33771248+CloudCourierStation@users.noreply.github.com>
2024-12-17 10:36:35 +08:00
Zexi Li
b6fcbf69ec fix(baremetal-agent): adjust redfish http client timeout to 60s (#21792) 2024-12-13 10:39:35 +08:00
Zexi Li
f7f7684058 feat(webconsole): keep_websocket_session option (#21782) 2024-12-11 14:26:29 +08:00
屈轩
85c50c66db fix(apigateway): add service settings info (#21780) 2024-12-11 11:08:00 +08:00
Zexi Li
51449715d7 feat(monitor): add min and max aggregator (#21767) 2024-12-07 20:58:12 +08:00
Zexi Li
8e369cdaf9 fix(monitor): clone alert dashboard (#21726) 2024-12-03 10:05:56 +08:00
wanyaoqi
8a5f92e483 fix(host,host-deployer): start deployer guest with all of disk (#21711) 2024-12-02 14:59:01 +08:00
wanyaoqi
759ece9157 fix(scheduler,region): fill resource info check guest is in pending usage (#21706) 2024-11-27 10:58:29 +08:00
屈轩
23a50965bf fix(region): zettakit eip create (#21702) 2024-11-26 15:44:29 +08:00
Zexi Li
242067dade Automated cherry pick of #21692: fix: complete monitor metrics (#21697)
* fix: complete monitor metrics

* fix(monitor): remove container related metrics

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-26 14:45:47 +08:00
wanyaoqi
1deac016de fix(host): generate ceph conf dup monHosts (#21690) 2024-11-26 14:07:42 +08:00
屈轩
0e5be2411a fix(region): support uis (#21688) 2024-11-26 12:04:20 +08:00
屈轩
3e391b8c87 fix(region): validate zettakit disk size (#21685) 2024-11-26 10:30:36 +08:00
屈轩
8367883903 fix(region): optimized zettakit (#21674) 2024-11-24 13:23:54 +08:00
Zexi Li
967ef380de fix(monitor): set default query select and group by for alerting and panel (#21670) 2024-11-22 19:20:12 +08:00
屈轩
ce44e5eac9 fix(region): support zettakit (#21665) 2024-11-22 17:03:43 +08:00
Zexi Li
69eb5f23a8 feat(monitor): list alertrecords by res_id (#21666) 2024-11-22 16:54:29 +08:00
Zexi Li
74771980c3 fix(monitor): raw_name of influxdb query (#21660) 2024-11-22 15:52:46 +08:00
屈轩
6dd0e1f5f6 fix(region): avoid panic (#21656) 2024-11-22 14:52:56 +08:00
wanyaoqi
1aa8a006ee fix(host): import from libvirt parse live xml (#21649) 2024-11-22 14:52:17 +08:00
屈轩
d004daed62 fix(region): support baidu cloud (#21653) 2024-11-21 16:56:49 +08:00
屈轩
addf0135fc fix(cloudid): vendor update for azure iam (#21645) 2024-11-20 20:15:58 +08:00
屈轩
94b6f9578d fix(region): vendor update for azure vm create (#21640) 2024-11-20 15:12:38 +08:00
Zexi Li
f700d196d9 feat(monitor): support sorting reduced result (#21637) 2024-11-20 11:19:23 +08:00
Zexi Li
c04c2c9370 fix(monitor): set default aggregator and group by for alert model (#21631) 2024-11-19 14:56:40 +08:00
Zexi Li
dc8dbe2cd8 fix(monitor): inject ResType (#21627) 2024-11-19 14:00:23 +08:00
Zexi Li
bf7cb394dd Automated cherry pick of #21619: support telegraf linux_sysctl_fs (#21622)
* support telegraf-sysctl

* feat(monitor): add linux_sysctl_fs measurement
2024-11-18 20:04:41 +08:00
屈轩
2f220f81e6 fix(region): add lb backend group count and listener count for lb details (#21608) 2024-11-17 22:47:03 +08:00
Zexi Li
ba3784e06d fix(region): not sync status when attaching and detaching disk (#21604) 2024-11-14 21:28:16 +08:00
屈轩
9f3bb73ba5 fix(region): shareable virtual resource query (#21597) 2024-11-14 20:35:05 +08:00
屈轩
c41e19f89c fix(region): remove dstack (#21600) 2024-11-14 20:29:52 +08:00
Zexi Li
e51bc1a0d9 fix(monitor): raw_name of group_by (#21595) 2024-11-14 18:01:20 +08:00
屈轩
f7603a5d1c fix(region): allow disable default policy (#21586) 2024-11-14 14:42:28 +08:00
屈轩
608b165684 fix(region): add actual capacity used usage (#21573) 2024-11-12 11:34:55 +08:00
Zexi Li
86bde0d072 fix(monitor): alert notification details (#21579) 2024-11-12 11:28:35 +08:00
屈轩
895f4869fb fix(region): filter unused snapshot (#21562) 2024-11-12 11:16:08 +08:00
Zexi Li
896e0889ec fix(monitor): add metric content for email template (#21568) 2024-11-11 16:09:35 +08:00
Jian Qiu
1a24f1c6f6 fix: disable default dns domain cloud.onecloud.io (#21559)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-08 10:09:10 +08:00
屈轩
34076f6a68 fix(region): vendor update for gcp disk name length (#21555) 2024-11-07 15:00:11 +08:00
Jian Qiu
7c0b1b78fa fix: telegraf kakfa ordered configuration (#21549)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-11-07 09:49:36 +08:00
屈轩
7a40f3b21a fix(glance): image stream worker count (#21537) 2024-11-07 09:48:18 +08:00
Zexi Li
ac78690de6 feat(region,climc): server-set-root-disk-matcher (#21546) 2024-11-06 18:53:27 +08:00
Zexi Li
ce4c5f8111 fix(monitor): 修复报警恢复时包含其他资源的问题 (#21541) 2024-11-06 18:52:14 +08:00
屈轩
120f74104f fix(notify): show pretty notify error (#21532) 2024-11-06 10:04:57 +08:00
wanyaoqi
e32a86771f fix(region,host): storage add master host (#21471) 2024-11-06 10:03:50 +08:00
屈轩
8895e6c87b fix(monitor): add order index for monitor panel (#21528) 2024-11-05 17:31:45 +08:00
Zexi Li
9402c6c605 feat(monitor): add system and processes host metrics (#21523) 2024-11-04 19:17:12 +08:00
屈轩
44b9c9dc7a fix(region): vendor update for disable esxi swap (#21515) 2024-11-04 15:09:16 +08:00
Zexi Li
418d4c94d4 fix(region): not set PrimaryZone when no dns_domain configured (#21513) 2024-11-04 12:40:10 +08:00
Jian Qiu
ce7a80a766 fix: disk filter by storage host (#21499)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-31 01:49:48 +08:00
Jian Qiu
df4b128c43 feature: kafka telegraf output options (#21494)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-30 12:32:41 +08:00
屈轩
668647a829 fix(region): vendor update (#21491) 2024-10-29 18:26:19 +08:00
屈轩
222864f956 fix(region): 避免翻页查询导致公有云实例被误清除 (#21480) 2024-10-28 16:40:56 +08:00
屈轩
4a0c07344e fix(region): purge manager quota (#21477) 2024-10-28 15:50:38 +08:00
Zexi Li
33afd8ae1b feat(webconsole): disable command recording defaultly (#21469) 2024-10-25 21:55:28 +08:00
屈轩
d8b227cb56 fix(cloudmon): cloudpods metric sync (#21462) 2024-10-25 17:54:19 +08:00
wanyaoqi
1671f59220 fix(region,host): ceph add enable messenger v2 options (#21444) 2024-10-25 10:16:08 +08:00
屈轩
dfd0f4a79c fix(region): vendor update (#21440) 2024-10-22 19:57:48 +08:00
Jian Qiu
3877b8a1ef fix: host bond slave nic should use permaddr as mac (#21433)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-20 14:42:10 +08:00
屈轩
acf3378ea4 fix(region): support cloudpods secrule ops (#21428) 2024-10-18 16:48:01 +08:00
屈轩
ced0db5887 Revert "fix(region): account probe lock" (#21425)
This reverts commit 7f90d38e5f.
2024-10-18 16:08:02 +08:00
屈轩
ac1f2a035d fix(region): add interface field length (#21421) 2024-10-18 09:52:25 +08:00
Zexi Li
319fbec787 fix(scheduler): avoid_same_host 策略分数过高导致调度分配不均 (#21414) 2024-10-16 10:23:14 +08:00
Zexi Li
9ba4deea95 fix(webconsole): ssh randomly exited error (#21408) 2024-10-14 14:50:56 +08:00
wanyaoqi
3f9510ec41 fix(region): fix default network on get desc (#21397) 2024-10-14 12:35:59 +08:00
wanyaoqi
54c36d25b0 fix(host-deployer): update host-deployer-base to 1.4.9 (#21403) 2024-10-12 14:14:26 +08:00
wanyaoqi
438b72889d fix(host-deployer): do not clean spool dir on save image (#21400) 2024-10-12 10:09:04 +08:00
wanyaoqi
84488d6216 fix(host): set ssd disk default scheduler none (#21363) 2024-10-12 10:03:31 +08:00
wanyaoqi
07793043cd fix(host,glance): qemuimg convert optimize, allow write out of order and increase coroutines (#21374) 2024-10-12 10:01:34 +08:00
屈轩
67ef087f31 fix(region): storage conf update (#21391) 2024-10-11 18:04:57 +08:00
屈轩
faed260f4f fix(region): gcp security group check (#21387) 2024-10-11 17:53:52 +08:00
屈轩
cd8b10e1e9 fix(common): compatible metadata mod find (#21383) 2024-10-11 16:40:19 +08:00
Zexi Li
9ee4b45813 feat(apigateway): add rpc methods of scheduler for apigateway (#21379) 2024-10-10 19:07:42 +08:00
wanyaoqi
e910bf9dec fix(region): check disk is deleted on delete snapshot (#21368) 2024-10-09 21:49:36 +08:00
wanyaoqi
2bf3f78895 fix(host): reconnect qga on failed exec qga commands (#21356) 2024-10-08 10:14:02 +08:00
wanyaoqi
87f3e23ab1 fix: fix slice init length (#21350)
Co-authored-by: cui fliter <imcusg@gmail.com>
2024-10-07 20:09:18 +08:00
wanyaoqi
f5859655f4 fix(region,scheduler): allow req cpu count zero on allocate cpunumapin (#21344) 2024-10-03 20:03:34 +08:00
Jian Qiu
3e670ad61e fix: cloud account filter revisit (#21340)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-10-01 08:49:24 +08:00
wanyaoqi
50647afd2c fix(host): refact qga connection ops (#21337) 2024-09-29 22:53:26 +08:00
Jian Qiu
fadf3944a6 fix: host report ovs kmod version and ksm status (#21328)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-28 20:26:19 +08:00
Zexi Li
c34178acfa fix(region): make parseDeviceInfo error clear (#21325) 2024-09-28 18:35:03 +08:00
Jian Qiu
614e750fd7 fix: upgrade sqlite3 to 1.14.19 (#21319)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-27 07:18:46 +08:00
wanyaoqi
e16cf8438c Automated cherry pick of #21313: Automated cherry pick of #21312: Automated cherry pick of #20996: fix(region,host): lvm snapshot delete and create from backup (#21315)
* fix(region,host): lvm snapshot delete and create from backup

* fix(host): slvm delete snapshot and save images

* fix(host): add option boot vga pci addr

* fix(host): slvm active exclusive mode on convert snapshot
2024-09-27 00:37:44 +08:00
wanyaoqi
884a9ffcee fix(host): check qga is init on check qga runing (#21309) 2024-09-27 00:35:10 +08:00
Zexi Li
eb70e65693 fix(webconsole): close session when ssh session closed (#21296) 2024-09-25 17:15:43 +08:00
屈轩
1d29435908 fix(region): vendor update for cephfs http (#21293) 2024-09-25 17:11:19 +08:00
屈轩
3e8782574a fix(region): filter cloudproviders by regional network zone (#21289) 2024-09-24 18:10:26 +08:00
Jian Qiu
1a233d1bfa fix: remove metadata server from host (#21279)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-21 22:52:16 +08:00
屈轩
ff0743ff5d fix(region): kvm user-data (#21239) 2024-09-20 20:41:39 +08:00
屈轩
26da5181cb fix(region): disk metadata with server (#21253) 2024-09-19 09:54:46 +08:00
Jian Qiu
c42517a099 fix: host build image use go 1.21 (#21264)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-19 03:20:38 +08:00
Jian Qiu
cad7cfa55b fix: update vendor 20240919 3.11 (#21262)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-18 23:07:34 +08:00
Jian Qiu
c28c09364c fix: update vendor 3.11 20240917, upgrade go to 1.21 (#21255)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-18 20:48:18 +08:00
Jian Qiu
1e1e9c3007 fix: update vendor 20240916 (#21247)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-16 19:09:03 +08:00
Jian Qiu
138907b0ec fix: prevent access from anonymous user (#21243)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-14 19:36:51 +08:00
wanyaoqi
77a9ffe2a4 fix(region): guest without cpunumapin don't set params on save schedule result (#21234) 2024-09-14 10:11:35 +08:00
Zexi Li
4900c09d6c Automated cherry pick of #21079: 1、裸金属删除时,GuestUndeployTask会出现无法调用任务完成方法OnGuestUndeployComplete,导致任务卡住的情况 (#21232)
* 1、裸金属删除时,GuestUndeployTask会出现无法调用任务完成方法OnGuestUndeployComplete,导致任务卡住的情况 2、裸金属删除时,回调用baremetal-agent的sync-config接口不止一次,调用时出现请求参数没有传递server_id情况,导致在OnPXEBoot调用getServer时删除了baremetal的server信息,致使后面的DoEraseDisk方法报错

* 1、裸金属删除时,GuestUndeployTask onInit去掉host不为空时的SetStageComplete函数

---------

Co-authored-by: gj <gj@qq.com>
2024-09-13 14:37:05 +08:00
Zexi Li
68671531d3 feat(climc): add public/private command for k8s-container-registry (#21229) 2024-09-13 14:34:43 +08:00
屈轩
09798624a5 fix(cloudmon): vendor update for aws gcp cpu metric (#21226) 2024-09-13 11:58:47 +08:00
Zexi Li
66e5aa0b7e feat(monitor): filter monitor_resource_alert by ip (#21220) 2024-09-12 11:01:14 +08:00
Zexi Li
90e5e3a474 fix(moniotr): filter dirty resource alerts (#21216) 2024-09-12 10:05:14 +08:00
Zexi Li
be43244385 fix(climc): monitor-alert-test-run prints result error (#21211) 2024-09-11 20:04:32 +08:00
Zexi Li
474a90dc31 optimized(monitor): keep 2 precision of reduced value (#21207) 2024-09-11 16:36:52 +08:00
屈轩
a2b21c55b8 fix(region): sync remove guest whith network address (#21200) 2024-09-10 14:25:32 +08:00
屈轩
e7afdcd6dc fix(log): add offline export i18n (#21194) 2024-09-10 14:24:44 +08:00
Zexi Li
5f148c9a03 feat(apigateway): report k3s environment (#21197) 2024-09-10 14:24:07 +08:00
Jian Qiu
2a3cb2107d fix: climc server-detach-network --force (#21191)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-10 09:58:25 +08:00
Zexi Li
03bde9182f optimized(apigateway): use ssh for climc pod cloud shell (#21185) 2024-09-09 16:03:07 +08:00
屈轩
3af492417f fix(cloudid): cloud policy sync (#21173) 2024-09-06 11:48:57 +08:00
wanyaoqi
e4fc059588 fix(host-deployer): update host-deployer-docker base (#21177) 2024-09-06 11:25:46 +08:00
Zexi Li
4080665f58 fix(monitor): support or filter of query (#21171) 2024-09-05 20:10:32 +08:00
屈轩
63e2a97dfd fix(region): disk update disk type (#21160) 2024-09-04 10:44:26 +08:00
wanyaoqi
f0927f0aba fix(host): rbd save image use /opt/cloud temp dir (#21154) 2024-09-04 10:43:32 +08:00
Jian Qiu
5d69bdfbdf fix: telegraf config file format error (#21145)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-03 11:02:58 +08:00
屈轩
dc2cd4f111 fix(region): sync worker hashring (#21127) 2024-09-02 20:08:00 +08:00
Zexi Li
29054379a9 optimize(host): wrap updateOrCreateHost error (#21141) 2024-09-02 13:28:28 +08:00
wanyaoqi
07df2aac53 fix(region): allow guest create on cannot detect image props (#21138) 2024-09-02 10:18:35 +08:00
Jian Qiu
10ca788e09 fix: update vendor for dameng TEXT_EQUAL (#21135)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-01 20:19:11 +08:00
Jian Qiu
071c6e0cfe fix: migrate ipv6 routes from physical interface to bridge (#21132)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-09-01 20:16:48 +08:00
Zexi Li
930605f7a0 fix(monitor): delete default group by and mean aggregator (#21116) 2024-08-29 10:03:45 +08:00
Zexi Li
3e7f4c9983 fix(climc): host-ssh is not working (#21112) 2024-08-27 16:25:16 +08:00
Zexi Li
05330f18fc fix(monitor): skipCheckSeries when aggregator is sum (#21106) 2024-08-27 10:41:05 +08:00
屈轩
7ae0543dae fix(region): sync aliyun gtm and aws traffic policy address (#21103) 2024-08-26 20:55:18 +08:00
Zexi Li
c703061b7f fix(monitor): only show MEAN and SUM aggregators (#21099) 2024-08-26 17:39:57 +08:00
wanyaoqi
cb5cbc4075 fix(host): nbd worker count add options (#21095) 2024-08-26 17:28:57 +08:00
屈轩
ba1bbdb572 fix(region): set security group domain id (#21092) 2024-08-26 17:26:57 +08:00
Jian Qiu
a46c865826 fix: extend query with metadata field (#21084)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-23 11:30:31 +08:00
Zexi Li
2138f65f3a feat(monitor): result reducer for query result (#21076) 2024-08-22 15:43:52 +08:00
Zexi Li
b9cda0a032 optimze(baremetal): dhcp prefix hints (#21075) 2024-08-22 15:27:43 +08:00
屈轩
cb5b0651b9 fix(region): filter eips by associated (#21066) 2024-08-21 10:50:57 +08:00
Zexi Li
aee9c6db46 optimize(region,host): add details error message when adding net interface (#21062) 2024-08-20 18:38:58 +08:00
Jian Qiu
5b9ef62f5b fix(host): migrate slave addresses and routes from physical nic to bridge (#21043)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-19 10:19:25 +08:00
Jian Qiu
afac4573bb fix: climc command to public/private dns-zone (#21054)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-19 10:17:57 +08:00
屈轩
3c2013cd82 fix(cloudmon): 避免cloudmon任务堆积导致大量请求 (#21047) 2024-08-19 10:13:16 +08:00
wanyaoqi
6966494f41 fix(region): try recover image cache on guest migrate (#21027) 2024-08-16 10:29:49 +08:00
wanyaoqi
1dfd41697b Automated cherry pick of #21039: fix(region,host,host-deployer): deploy guest ssh port add lock (#21040)
* fix(host): check nodes count on alloc cpuset

* fix(host-deployer): get ssh port add lock

* feat(region): guest clone add prefer host
2024-08-16 09:56:37 +08:00
Jian Qiu
71f559cf9d fix: filter islated devices capability info by zone (#21034)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-15 09:37:36 +08:00
Jian Qiu
25f7839d56 fix: support keylike search (#21030)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-08-15 09:36:05 +08:00
屈轩
f483d04ce8 fix(region): sync kvm secgroup status (#21017) 2024-08-14 11:37:36 +08:00
Zexi Li
15ec011e36 fix(baremetal): ignore 0.0.0.0 ipmi address when probing (#21008) 2024-08-13 17:43:48 +08:00
屈轩
cda4ddc7c5 fix(region): vendor update (#20993) 2024-08-12 09:52:22 +08:00
屈轩
c7dfaea1aa fix(region): auto clean invalid cached images (#20815) 2024-08-09 09:42:04 +08:00
wanyaoqi
7fbf8b46b5 fix(region): validate guestdisk cache/io mode on upadte (#20984)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-08-09 09:41:01 +08:00
wanyaoqi
2da0872af3 fix(host): clean image cache check local reference (#20953) 2024-08-09 09:40:38 +08:00
屈轩
8c8ceb1dce fix(region): vendor update for lb backend sync (#20974) 2024-08-07 18:50:26 +08:00
屈轩
328f652ee8 fix(region): send notify when vpc or network created (#20928) 2024-08-07 11:54:58 +08:00
屈轩
8684590041 fix(region): show status info with list api (#20942) 2024-08-07 11:53:48 +08:00
wanyaoqi
9ffadeb978 fix(host-deployer): add cpu mem hotplug udev rules (#20962) 2024-08-06 09:07:14 +08:00
wanyaoqi
cf3cfda698 fix(host): too much qga ping logs (#20956) 2024-08-05 14:47:25 +08:00
wanyaoqi
0d1dc01cbd fix(region,scheduler): sub pending usage on select cpu numa pin (#20947)
- reset guest cpu numa pin before start guest
- sub pending usage on select cpu numa pin
- hypervisor pod record pending usage
- add core:threads pair allocate, use same core threads first

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-08-02 10:22:46 +08:00
wanyaoqi
fe31a4b35e fix(region): cpu numa pin guest sched start (#20938) 2024-07-31 21:36:15 +08:00
Zexi Li
684aa1a2c8 fix(monitor): no alert_details in nodata monitor_resource_alert (#20935) 2024-07-31 13:47:18 +08:00
wanyaoqi
0839c6964e feat(region,host,scheduler): scheduler support allocate cpu numa pin (#20931) 2024-07-30 19:10:32 +08:00
Zexi Li
7b30dcab08 feat(monitor): multiple alerts of resource (#20924) 2024-07-30 16:15:55 +08:00
屈轩
df76ac5217 fix(cloudmon): 避免产生大量操作日志 (#20919) 2024-07-30 14:41:54 +08:00
屈轩
6bb4e468c0 fix(region): vendor update (#20910) 2024-07-30 09:32:32 +08:00
Zexi Li
4f7c1a7082 fix(monitor): add pps_sent/recv metric for query (#20915) 2024-07-29 20:58:57 +08:00
Jian Qiu
13b451b465 fix: opsadmin deny host perform login-info (#20904)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-29 13:21:13 +08:00
屈轩
a96a57e920 fix(keystone): change user mobile field character set to utf8 (#20900) 2024-07-27 13:50:10 +08:00
Zexi Li
9cdbf61062 fix(mointor): multiple duplicated message (#20891) 2024-07-25 15:26:57 +08:00
wanyaoqi
401cc40655 feat(regin,host,host-deployer): qga deploy and fsdriver (#20863)
- host-deployer add deploy qga support
- host add qga partition fsdriver
- qga set network use fsdriver
- hostpinger sync qga status
2024-07-25 11:49:32 +08:00
屈轩
fda7529b3f fix(cloudid): cloudid resource sync worker (#20878) 2024-07-25 11:19:20 +08:00
Zexi Li
ebd7f5d5df feat(webconsole): add secret_level property inside query data (#20882) 2024-07-24 17:41:20 +08:00
屈轩
248a2ba7df fix(region): keypair id typo (#20873) 2024-07-24 14:35:32 +08:00
wanyaoqi
055c9ab3db Automated cherry pick of #20852: fix(region,host): slvm disk create use guest host lvm disk create from backup (#20854)
* fix(region): slvm disk create use guest host

* fix(host): lvm disk create from backup
2024-07-22 15:13:19 +08:00
Zexi Li
d624c2d763 feat(apigateway): report docker-compose-baremetal running environment (#20867) 2024-07-22 15:11:58 +08:00
Zexi Li
72e665fb0b feat(monitor): add inodes_used_percent metric (#20849) 2024-07-20 11:58:14 +08:00
屈轩
b4cfdd8246 fix(region): host nic info (#20860) 2024-07-20 11:55:59 +08:00
Zexi Li
46b7428b1d feat(monitor): update influxql-to-metricsql@v0.0.7 to support percentile aggregator (#20835) 2024-07-17 22:59:44 +08:00
屈轩
47a7979868 fix(region): add storage name for snapshot (#20828) 2024-07-17 22:55:35 +08:00
屈轩
28dede02cb fix(region): support baremetal server as lb backend (#20838) 2024-07-17 22:54:02 +08:00
屈轩
8632769265 fix(region): vendor update for qcloud lb backend sync (#20823) 2024-07-17 14:17:20 +08:00
屈轩
8ca9d0c289 fix(cloudid): distinct field for cloudid resources (#20819) 2024-07-17 10:12:51 +08:00
Jian Qiu
dd89bf8558 fix: always add static routes for metadata server (#20807)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-17 10:06:55 +08:00
屈轩
d23148559f fix(region): check user credential length when exec task (#20792) 2024-07-16 11:20:02 +08:00
Zexi Li
601f3e5062 feat(host): add interface meta tags of netio metrics (#20781) 2024-07-12 10:19:13 +08:00
Zexi Li
283122bcb1 feat(region,baremetal): validate ipmi info (#20788) 2024-07-12 10:17:46 +08:00
屈轩
c7dc8917d8 fix(notify): avoid empty email addr (#20798) 2024-07-12 10:10:30 +08:00
屈轩
801bf239c1 fix(region): vendor update (#20801) 2024-07-12 10:09:59 +08:00
Zexi Li
416141992e fix(baremetal): some tasks don't implement IServerBaseDeployTask interface (#20785) 2024-07-10 16:15:36 +08:00
屈轩
efea50cf0b fix(region): optimized host-list speed (#20778) 2024-07-10 16:14:16 +08:00
屈轩
695f6c0e31 fix(region): optimized guest list speed (#20759) 2024-07-10 16:12:26 +08:00
wanyaoqi
65044937e0 fix(host): disk reset with encryption (#20765) 2024-07-10 16:11:10 +08:00
屈轩
f6a1ebd244 fix(region): show pretty cdrom info for server (#20776) 2024-07-10 16:09:50 +08:00
Zexi Li
986b7d2360 fix(scheduler,baremetal): match RAID and PCIE storages in range (#20769)
The index of PCIE storages is not reindex when range is provided.
2024-07-09 11:12:14 +08:00
屈轩
b5461d344e fix(region): 避免非OneCloud区域capability依然返回OneCloud相关字段 (#20733) 2024-07-09 11:11:07 +08:00
屈轩
da2e6faa4f fix(region): enable create cloudpods vm with iso image (#20746) 2024-07-08 21:31:53 +08:00
屈轩
6e95e21e98 fix(notify): avoid panic when mobile not set (#20744) 2024-07-08 21:31:11 +08:00
Jian Qiu
70eea30d9e fix: turn on ethtool gso by default (#20753)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-08 21:30:01 +08:00
Jian Qiu
6c4f4cb53f fix: server update nic sub ips (#20757)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-08 17:25:23 +08:00
屈轩
0a3f6a10ad fix(scheduler): 修复cloudpods宿主机网络调度问题 (#20751) 2024-07-08 10:52:02 +08:00
屈轩
35ef9f44df fix(climc): auto enable storage when switch s3 on (#20727) 2024-07-07 09:46:43 +08:00
Jian Qiu
414b4e5c32 fix: fail to perform host remove netif (#20739)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-07 09:02:52 +08:00
屈轩
d2510bcacd fix(region): 补充部分翻译 (#20748) 2024-07-07 09:01:32 +08:00
屈轩
906c86cecf fix(region): vendor update for support gcp global lb sync (#20712) 2024-07-05 16:23:33 +08:00
wanyaoqi
7a0b878cac fix(region,host): lvm snapshot reset and backup (#20720)
- fix lvm disk reset request hosts wrong, should reset on guest hosts
- add lvm disk snapshot failed handle
- support lvm disk backup
- lvm disk snapshot add encrypt support
2024-07-05 13:50:29 +08:00
屈轩
2791eb0fd0 fix(region): gcp global eip and lb (#20736) 2024-07-05 13:44:58 +08:00
屈轩
997204711f fix(region): avoid delete lb failed (#20709) 2024-07-05 12:38:05 +08:00
屈轩
a3ebd7ca97 fix(region): 简化清理未使用的安全组 (#20723) 2024-07-05 11:03:12 +08:00
Jian Qiu
b0e979ada6 fix: normalize sftp errors (#20705)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-07-03 21:11:24 +08:00
wanyaoqi
a6f7647cdd fix(scheduler): optimize get guests by hosts ids (#20701) 2024-07-02 00:17:02 +08:00
wanyaoqi
d10428aaf3 fix(region,host): migrate converted servers (#20698) 2024-07-02 00:15:45 +08:00
wanyaoqi
0bf8d46a7b feat(host): support run guest with qemu 9.0.1 (#20692)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-07-02 00:15:07 +08:00
屈轩
a6834fe8ae fix(region): security group rule create (#20695) 2024-07-01 11:31:38 +08:00
Jian Qiu
e4fff38c43 feature: support baremetal profile (#20688)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-30 22:23:01 +08:00
屈轩
00b5de7592 fix(region): support use cached iso image for create cloudpods vm (#20686) 2024-06-30 22:22:16 +08:00
屈轩
12c6181721 fix(region): support eip search (#20683) 2024-06-28 15:58:44 +08:00
屈轩
b4d1a1beeb fix(region): cloudpods instance capability (#20681) 2024-06-28 15:05:19 +08:00
屈轩
efe7032213 fix(log): add rate log type (#20678) 2024-06-28 14:49:28 +08:00
屈轩
77370b4db6 fix(keystone): remove useless log (#20676) 2024-06-28 14:39:12 +08:00
wanyaoqi
40139b4ab8 fix(region): login account allow startwith capital letter (#20670) 2024-06-27 20:50:20 +08:00
wanyaoqi
c5f0dcedb5 fix(region): convert to kvm overwirte networks (#20667) 2024-06-27 20:39:11 +08:00
屈轩
836a8d66e2 fix(region): vendor update for qcloud tencentos server (#20663) 2024-06-27 15:39:06 +08:00
wanyaoqi
e784f3fdd9 feat(region): add batch convert precheck (#20659)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-06-26 21:20:16 +08:00
wanyaoqi
0bac7ce2ed fix(host): delete snapshot on guest deleted (#20640) 2024-06-26 21:18:21 +08:00
Zexi Li
10b92a21ec fix(climc,webconsole): use OS_AUTH_TOKEN for cloud shell running inside compose environment (#20649) 2024-06-26 12:12:13 +08:00
屈轩
9992dc8c45 fix(region): waf regexset fetch error (#20646) 2024-06-26 11:18:34 +08:00
Jian Qiu
e57717fd65 fix: vmware probe host networks (#20626)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-26 10:59:53 +08:00
屈轩
3e66dd7935 fix(region): vendor update for qcloud nat sync (#20638) 2024-06-25 15:56:42 +08:00
屈轩
a02ae55bd8 fix(region): esxi onecloud driver (#20636) 2024-06-25 15:31:58 +08:00
Zexi Li
1283f5a21a optimize(glance): wrap error of saving image (#20633) 2024-06-25 14:21:28 +08:00
wanyaoqi
825a6c688c fix(region): scheduler forecast before convert to kvm (#20609) 2024-06-25 11:02:42 +08:00
wanyaoqi
e1ac3dab00 fix(glance): sync service options after vmware detected (#20606) 2024-06-25 10:58:52 +08:00
wanyaoqi
66df0b471c Automated cherry pick of #20595: Automated cherry pick of #20594: Fix/deploy reset password support loginaccount (#20596)
* fix(host): lvm resize add encrypt support

* fix(region): deploy reset password add loginaccount
2024-06-25 10:57:09 +08:00
屈轩
06091448ee fix(region): vendor update for qcloud nat capability (#20630) 2024-06-25 10:53:40 +08:00
屈轩
7511a61b8f fix(region): natgateway api upgrade (#20623) 2024-06-24 14:59:45 +08:00
Zexi Li
5eed2dfa8b fix(monitor): add difference tags for each series (#20619) 2024-06-22 22:06:01 +08:00
Zexi Li
c225ba2842 fix(apigateway): compose environment without k8s service (#20616) 2024-06-21 16:38:18 +08:00
Zexi Li
5151221d67 fix(logger): add rejected action i18n translation (#20602) 2024-06-20 15:01:23 +08:00
屈轩
b8cbee8ad1 fix(region): auto rename when change resource owner with same name (#20592) 2024-06-20 14:04:49 +08:00
Jian Qiu
4adf426392 fix: clone dashboard parameters (#20588)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-20 07:54:10 +08:00
wanyaoqi
ca0a61986b fix(region): allow kvm vmware reuse network address (#20585)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-06-20 06:28:06 +08:00
Zexi Li
e9d997d4c9 feat(monitor): add reducer of AlertRecordRule (#20582) 2024-06-19 19:20:11 +08:00
Zexi Li
50db770fd1 feat(log): add i18n consts for itsm service (#20575) 2024-06-19 15:35:07 +08:00
Jian Qiu
9d33639255 fix: add predefined log policy (#20570)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-19 09:32:44 +08:00
Zexi Li
3a567dd4de fix(host-deployer): ignore fatal exit when host.conf not exists (#20560) 2024-06-18 20:27:19 +08:00
屈轩
d74a15a982 fix(region): account region id optional (#20567) 2024-06-18 20:20:12 +08:00
屈轩
418961eb5b fix(region): pve driver (#20569) 2024-06-18 19:58:31 +08:00
屈轩
69d8111d16 fix(region): cloudpods hypervisor (#20564) 2024-06-18 15:38:39 +08:00
屈轩
9f7e71502b fix(climc): add service choices for worker-list (#20557) 2024-06-17 20:44:41 +08:00
屈轩
915ebe03f9 fix(webconsole): sangfor vnc (#20563) 2024-06-17 20:44:04 +08:00
屈轩
a2de0be8f2 fix(region): qcloud permission (#20554) 2024-06-17 14:25:01 +08:00
屈轩
2cde41c446 fix(region): sangfor vm status (#20551) 2024-06-17 11:18:53 +08:00
Jian Qiu
04d4e084b1 fix: cleanup compute options 20240615 (#20548)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-17 00:42:30 +08:00
wanyaoqi
bae7791792 fix(region): convert to esxi fill network params (#20493)
Deploy converted guest after guest created
2024-06-17 00:41:34 +08:00
wanyaoqi
aa9c91d6e5 fix(region,host): isolated device batch sync (#20538) 2024-06-16 23:05:58 +08:00
wanyaoqi
13a100fefe fix(region): insert iso sync guest status (#20540) 2024-06-16 23:01:35 +08:00
Jian Qiu
0b7c9359e3 fix: enable image cache cleanup by default (#20531)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-14 18:13:42 +08:00
屈轩
11a5be8cd5 fix(region): support sangfor (#20525) 2024-06-13 20:43:58 +08:00
gouqi11
b13d6624f5 fix(notify): add mobile verify (#20520)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-06-13 18:59:41 +08:00
gouqi11
f74bff88bb fix(notify): fix mobile validate (#20510)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-06-11 14:17:58 +08:00
屈轩
0359bb2ac2 fix(region): reset password for cloudpods baremetal (#20486) 2024-06-07 15:06:31 +08:00
wanyaoqi
a307cc9196 fix(host): parse qga command and args (#20506) 2024-06-07 15:03:40 +08:00
wanyaoqi
2a7bfec231 fix(host-deployer): extend volume before extend filesystem (#20501) 2024-06-06 13:37:29 +08:00
Jian Qiu
c62dee61f7 fix: disk backup details missing components (#20496)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-06 13:33:58 +08:00
Zexi Li
01e3ad9c8c fix(region): container is not started when pod's flavor changed (#20489) 2024-06-06 10:03:51 +08:00
屈轩
99c8eadf63 fix(region): cloudpods baremetal rebuild root (#20484) 2024-06-05 11:10:05 +08:00
Zexi Li
05d3d72ec1 feat(region,baremetal,climc): support baremetal root disk matcher (#20479) 2024-06-05 00:17:16 +08:00
屈轩
d0bfc648ca fix(region): update cachedimage limit (#20472) 2024-06-04 20:41:46 +08:00
屈轩
58d6f00780 fix(baremetal-agent): avoid dead lock (#20476) 2024-06-04 18:04:43 +08:00
屈轩
f69f776622 fix(keystone): show user group info for user (#20468) 2024-06-04 14:58:46 +08:00
屈轩
2b95099cc2 fix(region): sync cloudpods host storage driver (#20466) 2024-06-04 14:46:34 +08:00
Jian Qiu
9d51fa258b fix: disable webconsole watermark by default (#20461)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-04 00:48:41 +08:00
屈轩
c7fa14e218 fix(keystone): avoid sync remove disabled ldap user (#20437) 2024-06-04 00:47:58 +08:00
wanyaoqi
f82507c1f6 fix(host-deployer): deploy telegraf systemd service type simple (#20457) 2024-06-03 19:51:09 +08:00
wanyaoqi
5a403a3b13 fix(host-deployer): split guest dns by comma (#20449) 2024-06-03 19:14:42 +08:00
屈轩
0b24305ccc fix(keystone): enable user (#20454) 2024-06-03 18:07:01 +08:00
屈轩
dc421032d6 fix(region): sync waf ssl and cc list (#20446) 2024-06-03 16:01:27 +08:00
Jian Qiu
3fdb3307ab fix: missing goarch env (#20442)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-06-03 11:33:44 +08:00
Zexi Li
d1c28f0783 feat(monitor): remove precision of float when using max or min function (#20430) 2024-06-01 20:40:53 +08:00
屈轩
8aec56d79f fix(keystone): avoid panic (#20434) 2024-06-01 17:47:42 +08:00
wanyaoqi
ab1ec19889 Automated cherry pick of #20423: misc: disable cgo by default (#20424)
* misc: disable cgo by default

* fix(host): container isolated device skip get numa node
2024-05-31 19:00:46 +08:00
wanyaoqi
f65c73e867 fix(region): storagecacheresource panic on FetchCustomizeColumns (#20426) 2024-05-31 17:53:42 +08:00
gouqi11
e5d872c736 fix(notify): message add medium tag (#20420)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-05-31 10:39:16 +08:00
Jian Qiu
90af685f30 fix: haproxy check parammeters with default value (#20416)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-31 10:20:04 +08:00
屈轩
316d602e73 fix(region): oracle storage should be emulated (#20413) 2024-05-30 20:40:17 +08:00
Jian Qiu
ed4450fe74 fix: glance import xz compressed images (#20408)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-30 19:17:40 +08:00
Zexi Li
d0bf468c7f feat(climc): feature config (#20395) 2024-05-30 15:43:02 +08:00
Jian Qiu
e853102e86 fix: mv filterclause from pkg to onecloud (#20402)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-30 15:42:20 +08:00
wanyaoqi
dc0c8d8dbd fix(region,host): slvm default deactivate on hosts (#20382) 2024-05-30 15:03:59 +08:00
gouqi11
616f31bda6 fix(notify): change receiver owner (#20398)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-05-30 11:47:04 +08:00
屈轩
ffadbecc1b fix(region): vendor update for web app ip addr sync (#20392) 2024-05-29 18:36:50 +08:00
屈轩
63e764a150 fix(region): vendor update (#20389) 2024-05-29 17:56:06 +08:00
Zexi Li
0900818b36 fix(host): wrap disk probed error (#20385) 2024-05-29 17:44:02 +08:00
Zexi Li
eb102ad7e4 fix(monitor): detach alert (#20375) 2024-05-28 10:00:03 +08:00
Zexi Li
903e5f5203 fix(monitor): multiple monitor resource alert (#20366) 2024-05-27 15:44:41 +08:00
屈轩
489cb9eb51 fix(region): vendor update for sqlchemy click decimal field (#20362) 2024-05-27 10:04:06 +08:00
Jian Qiu
9662fafc22 fix: allow update network server_type (#20354)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-24 20:21:31 +08:00
屈轩
cfd676fb2a fix(region): distinct fields (#20357) 2024-05-24 20:18:53 +08:00
Jian Qiu
5994a41aaf fix: secgroup init rule CIDR should be empty for both ipv4 and ipv6 (#20347)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-24 10:48:26 +08:00
屈轩
fdc6d25b11 fix(region): account read only (#20344) 2024-05-24 10:00:45 +08:00
屈轩
ffcdd48943 fix(region): vendor update for waf info sync (#20339) 2024-05-22 20:37:45 +08:00
屈轩
88db3152d1 fix(region): support organization (#20337) 2024-05-22 19:12:20 +08:00
屈轩
b4cd3d758c fix(region): currency rate exchange (#20334) 2024-05-21 19:22:00 +08:00
屈轩
f36286f01f fix(region): sync public ip convert eip (#20326) 2024-05-21 15:36:36 +08:00
屈轩
3feac61a8c fix(region): vendor update for aliyun waf (#20330) 2024-05-21 15:19:20 +08:00
gouqi11
7c9db8b74a fix(region): parent task id is not primary key (#20261) (#20324)
Co-authored-by: 屈轩 <qu_xuan@icloud.com>
2024-05-21 15:14:26 +08:00
屈轩
c342e2ed0e fix(region): add currency rate exchange (#20320) 2024-05-20 14:51:27 +08:00
屈轩
a7284ae91e fix(scheduler): cloudprovider predicate (#20313) 2024-05-20 11:52:51 +08:00
屈轩
a1e0f31b2c fix(region): vendor update for qcloud waf (#20309) 2024-05-17 15:36:58 +08:00
屈轩
cb286278ee fix(region): webapp custom domains (#20303) 2024-05-16 16:16:15 +08:00
屈轩
fb10c1d110 fix(region): query distinct fields (#20299) 2024-05-16 15:24:29 +08:00
屈轩
19c74d3f67 fix(region): set cloud provider disconnect when sync region error (#20290) 2024-05-16 10:01:55 +08:00
Jian Qiu
ceb676f772 fix: hostbackupstorage climc subcmds (#20285)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-15 18:03:57 +08:00
屈轩
1b54853483 fix(region): remove waf cache (#20282) 2024-05-15 17:35:10 +08:00
wanyaoqi
cc1033fa86 fix(region,host): slvm misc fix (#20271) 2024-05-15 10:45:52 +08:00
屈轩
ac393698fa fix(region): vendor update for web app (#20268) 2024-05-14 20:56:58 +08:00
屈轩
449e8f20d8 fix(region): azure web app (#20265) 2024-05-14 19:17:05 +08:00
屈轩
7421f51264 fix(region): data storage type (#20260) 2024-05-14 14:50:07 +08:00
wanyaoqi
9a6efbabd8 fix(region): return origin error on fetch joint item failed (#20254) 2024-05-13 17:51:29 +08:00
Jian Qiu
fcc042ebc7 fix: ceph stats backward compatible with ceph 12.x (#20220)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-10 14:55:00 +08:00
Jian Qiu
d98a9bf271 fix: storagecachedimages details speedup (#20233)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-10 14:54:18 +08:00
Jian Qiu
c6189143b0 fix: cachedimage sync tenant_id (#20236)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-10 14:52:34 +08:00
屈轩
6be9007bb6 fix(region): vm create with default provider (#20229) 2024-05-09 14:47:12 +08:00
屈轩
cea38096d8 fix(region): zstack shared block storage (#20225) 2024-05-09 14:25:47 +08:00
Jian Qiu
209019e3f4 feature: automatically clean obsolete images from host iamge cache (#20217)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-09 12:11:26 +08:00
gouqi11
44eb35e30e fix(region): add modelarts capability (#20215)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-05-08 19:59:03 +08:00
屈轩
d9dfd1b132 fix(region): vendor update for azure lb sync (#20212) 2024-05-08 19:17:55 +08:00
Zexi Li
7e5e95c507 feat(host): skip calculating checksum for cached image when format is TGZ (#20199) 2024-05-08 12:21:29 +08:00
屈轩
ba1291be82 fix(region): cloudpods baremetal (#20205) 2024-05-07 18:18:47 +08:00
屈轩
2039692352 fix(climc): oraclecloud feature (#20202) 2024-05-06 19:17:51 +08:00
Jian Qiu
bf5bf13f1e fix: set disk status when requesting disk reset (#20193)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-05-04 09:08:30 +08:00
屈轩
141d7a5d8b fix(region): add enable auto sync resource field (#20188) 2024-04-30 19:28:07 +08:00
屈轩
d88a256396 fix(region): remove storagecachedimage (#20185) 2024-04-30 15:24:21 +08:00
Jian Qiu
d3e88ca93e fix(hostman): change userdata.sh mode (#20182)
Co-authored-by: liaoxiaomeng <liaoxiaomeng@hotmail.com>
2024-04-30 12:43:56 +08:00
wanyaoqi
b9442fc9c3 fix(host): ignore disk not found on disk delete handler (#20177) 2024-04-30 07:14:31 +08:00
Zexi Li
e3096bf5fc fix(monitor): multiple metrics query of alert (#20168) 2024-04-28 19:05:40 +08:00
屈轩
705efd5986 fix(region): update public cloud provider (#20165) 2024-04-28 18:28:06 +08:00
屈轩
357ef9b91a fix(region): esxi upload iso image (#20163) 2024-04-28 17:20:00 +08:00
Zexi Li
7aca6fb14e feat(monitor): support multiple metrics alert (#20158) 2024-04-28 11:35:56 +08:00
wanyaoqi
1883fb9fc6 Automated cherry pick of #20152: Fix/host misc fix 0425 (#20154)
* fix(host): dirty guest dir move to recycle dir

* fix(host-deployer): fix deployer guest ssh port range, use localhost

* fix(host): try bind vfio dirver use addr
2024-04-28 11:18:55 +08:00
Zexi Li
7643f7f056 fix(monitor): alert panic (#20148) 2024-04-26 12:19:07 +08:00
Zexi Li
57a060fa30 fix(monitor): query monitor_resource_alert by monitor_resource_id is not working (#20143) 2024-04-25 19:36:38 +08:00
Zexi Li
cccc4aea88 fix(monitor): filter alerts by monitor_resource_id (#20142) 2024-04-25 19:36:26 +08:00
屈轩
bf5885c2d8 fix(region): allow update hostname (#20126) 2024-04-24 18:40:48 +08:00
屈轩
6c670bed68 fix(region): sync hostname (#20123) 2024-04-24 17:33:34 +08:00
屈轩
f37c58ed24 fix(climc): enable build windows climc (#20121) 2024-04-24 15:24:26 +08:00
屈轩
fadf610d9b fix(mcclient): read me (#20116) 2024-04-24 12:21:59 +08:00
屈轩
e5ab58e510 fix: revert default policy (#20112) 2024-04-23 19:17:22 +08:00
屈轩
1b1546b34b fix(region): sync external project by manager (#20110) 2024-04-23 17:10:50 +08:00
屈轩
4001e57e39 fix(region):auto create project (#20103) 2024-04-22 19:26:53 +08:00
Jian Qiu
42137e0c98 fix: wrong private static route format (#20091)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-22 14:52:42 +08:00
Jian Qiu
e4f2b5b884 fix: guest stop revisit (#20092)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-22 14:51:26 +08:00
屈轩
e80b3fccc9 fix(region): show more error info when sync nic error (#20098) 2024-04-22 14:37:29 +08:00
屈轩
a3372a8acb fix(region): show ip out of range details error (#20082) 2024-04-19 18:30:20 +08:00
wanyaoqi
b4a2bef741 fix(regin,host): delete snapshots after stream complete (#20087) 2024-04-19 18:28:01 +08:00
Jian Qiu
202b0182fa fix: backup storage access containd by hosts (#20051)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-19 07:20:49 +08:00
wanyaoqi
efe9705c9d fix(host): resize lvm disk (#20047) 2024-04-19 07:19:51 +08:00
屈轩
4fabb7f1f8 fix(region): account disconnect (#20077) 2024-04-18 20:23:51 +08:00
屈轩
067684986c fix(cloudid): add volcengine sp metadata (#20074) 2024-04-18 18:02:46 +08:00
屈轩
71e9e0ef36 fix(region): sync bucket status (#20070) 2024-04-18 15:49:55 +08:00
屈轩
5fa772f6d0 fix(region): avoid skip zone purge (#20065) 2024-04-18 15:39:21 +08:00
屈轩
b91a7e7027 fix(region): vendor update for code generate (#20058) 2024-04-18 12:43:17 +08:00
屈轩
084c4fdef9 fix(cloudmon): oracle metric collect (#20055) 2024-04-18 11:32:58 +08:00
屈轩
fea5c0d4a7 fix(region): vendor update for oracle monitor (#20043) 2024-04-17 18:30:45 +08:00
屈轩
26e2372212 fix(cloudmon): vendor update for support oracle metric (#20038) 2024-04-17 15:25:53 +08:00
Zexi Li
9c24611d46 Merge pull request #20014 from wanyaoqi/automated-cherry-pick-of-#20013-upstream-release-3.12
Automated cherry pick of #20013: fix(region,host): custom device model add auto detect option
2024-04-17 10:27:45 +08:00
Zexi Li
a0a91ac21d Merge pull request #20004 from wanyaoqi/automated-cherry-pick-of-#19994-upstream-release-3.12
Automated cherry pick of #19994: Automated cherry pick of #19993: fix(host): sriov bond
2024-04-17 10:26:41 +08:00
屈轩
aad55012f7 fix(region): remove dirty code (#20033) 2024-04-17 10:11:24 +08:00
Zexi Li
d0bf44c0a0 Merge pull request #20002 from wanyaoqi/automated-cherry-pick-of-#19999-upstream-release-3.12
Automated cherry pick of #19999: feat(host): NewPciDevice add executor
2024-04-16 18:25:14 +08:00
Zexi Li
306d66d074 Merge pull request #20005 from wanyaoqi/automated-cherry-pick-of-#19991-upstream-release-3.12
Automated cherry pick of #19991: feat(region,host): add disk migrate support
2024-04-16 18:22:17 +08:00
Zexi Li
e8810a90d8 Merge pull request #19997 from swordqiu/automated-cherry-pick-of-#19996-upstream-release-3.12
Automated cherry pick of #19996: fix: disk post create not inherit upper class
2024-04-16 18:20:27 +08:00
Zexi Li
4d0f161fc4 Merge pull request #20026 from wanyaoqi/automated-cherry-pick-of-#20025-upstream-release-3.12
Automated cherry pick of #20025: fix(host): fix gpu device vendor check strategy
2024-04-16 18:18:08 +08:00
屈轩
b61dbae008 fix(region): support delete huawei prepaid resource (#20030) 2024-04-16 18:08:11 +08:00
屈轩
6db39b85e1 fix(region): avoid skip region purge (#20021) 2024-04-16 16:44:05 +08:00
屈轩
1faccb0262 fix(region): skip not implement error (#20018) 2024-04-16 16:43:24 +08:00
Zexi Li
e2e8fc02b6 Merge pull request #20007 from swordqiu/automated-cherry-pick-of-#20006-upstream-release-3.12
Automated cherry pick of #20006: fix: fail to create encrypted nfs disk
2024-04-16 16:00:21 +08:00
Zexi Li
a9c93dcc15 Merge pull request #19988 from swordqiu/automated-cherry-pick-of-#19987-upstream-release-3.12
Automated cherry pick of #19987: fix: userdata not executable due to umask
2024-04-16 15:57:15 +08:00
wanyaoqi
c44f33ec6c fix(host): fix gpu device vendor check strategy
Check gpu device vendor id on class code is DISPLAY.

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-04-16 15:56:41 +08:00
wanyaoqi
62ddb14873 fix(region,host): custom device model add auto detect option
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-04-16 12:32:45 +08:00
Qiu Jian
62ea988107 fix: fail to create encrypted nfs disk 2024-04-16 00:18:14 +08:00
wanyaoqi
787576c9d0 feat(region,host): add disk migrate support 2024-04-15 21:56:09 +08:00
wanyaoqi
18ae38cb23 fix(host): init from existing guest load cpuset 2024-04-15 21:51:37 +08:00
wanyaoqi
14da90405a fix(host): detect sriov bond nics 2024-04-15 21:51:37 +08:00
wanyaoqi
bec94ba87e feat(host): NewPciDevice add executor 2024-04-15 21:48:56 +08:00
Qiu Jian
aec2030e73 fix: disk post create not inherit upper class 2024-04-15 21:46:46 +08:00
Qiu Jian
060140a64d fix: userdata not executable due to umask 2024-04-15 17:19:16 +08:00
屈轩
24d57b02f8 fix(region): simplfy cached-image-list filter (#19985) 2024-04-15 15:50:13 +08:00
屈轩
9b17294fc0 fix(region): allow not idle account sync (#19981) 2024-04-15 14:10:35 +08:00
Jian Qiu
2de8d92c28 fix: bond interface missing default gateway (#19953)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-15 10:47:23 +08:00
屈轩
5d32cc8d28 fix(image): set image upload download timeout 4 hour (#19977) 2024-04-15 10:13:54 +08:00
屈轩
5fb4a3bc5e fix(region): sync ksyun tag (#19973) 2024-04-14 13:02:07 +08:00
屈轩
d51c264694 fix(region): vendor update for vpc not found error (#19969) 2024-04-12 20:52:30 +08:00
屈轩
61dae38bfb fix(region): vendor update 0412 (#19962) 2024-04-12 18:26:13 +08:00
gouqi11
0bbf9a9374 feat(notify): support cloudphone (#19960)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-04-12 15:16:27 +08:00
屈轩
ee44f7ea92 fix(region): support ksyun tag sync (#19956) 2024-04-12 12:05:26 +08:00
Jian Qiu
396aa79087 fix: netplan empty bond address (#19941)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-11 18:11:09 +08:00
屈轩
72a32e059e fix(region): vendor update (#19947) 2024-04-11 15:06:50 +08:00
屈轩
25bde052dc fix(region): avoid purge zone (#19937) 2024-04-11 13:57:56 +08:00
Zexi Li
2f32a749f2 Merge pull request #19933 from zexi/automated-cherry-pick-of-#19932-upstream-release-3.12
Automated cherry pick of #19932: feat(region,climc): support disk-rebuild
2024-04-11 12:08:54 +08:00
Zexi Li
b182b1dd08 Merge pull request #19920 from swordqiu/automated-cherry-pick-of-#19898-upstream-release-3.12
Automated cherry pick of #19898: fix: host nic index should be unique
2024-04-11 11:37:57 +08:00
Zexi Li
e6589cea31 Merge pull request #19930 from swordqiu/automated-cherry-pick-of-#19928-upstream-release-3.12
Automated cherry pick of #19928: fix: disable disk serial for esxi vm on release/3.10
2024-04-11 11:35:17 +08:00
Zexi Li
236ab429f6 feat(region,climc): support disk-rebuild 2024-04-11 11:16:44 +08:00
Qiu Jian
fded8ab79f fix: disable disk serial for esxi vm on release/3.10 2024-04-11 01:18:59 +08:00
屈轩
1ba4b69fdc fix(region): avoid purge regions (#19923) 2024-04-10 17:06:11 +08:00
Qiu Jian
a6881c2047 fix: host nic index should be unique 2024-04-10 01:33:57 +08:00
gouqi11
07a8a98e6f update vendor (#19916)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-04-09 19:47:30 +08:00
屈轩
01886ae732 fix(region): clean external cachedimage (#19911) 2024-04-09 17:26:12 +08:00
gouqi11
7e864dcb56 update vendor:ksyun ecs (#19904)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-04-09 11:51:48 +08:00
屈轩
6b201dcc26 fix(region): show local task stack info (#19901) 2024-04-09 11:50:59 +08:00
屈轩
4b9b468f0e fix(monitor): remove useless code (#19896) 2024-04-08 11:54:05 +08:00
wanyaoqi
fb213114f7 Automated cherry pick of #19844: feat: lvm snapshots (#19892)
* fix(region,host): remove snapshot fake delete state

* feat(region,host): lvm snapshot support
2024-04-08 02:55:53 +08:00
Jian Qiu
eee56aba23 fix: fail to detect lv by megacli64 and storecli (#19881)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-08 00:27:04 +08:00
屈轩
aa52fbb00f fix(region): remove qcloud sync cache (#19890) 2024-04-07 16:45:06 +08:00
屈轩
e17ba97ddb fix(glance): image upload timeout (#19888) 2024-04-07 15:29:36 +08:00
屈轩
92496825ad fix(region): return error for query guest network (#19885) 2024-04-07 14:16:17 +08:00
Zexi Li
b7df3d6af0 Merge pull request #19879 from zexi/sync-container-status
feat(region,climc): support container-sync-status command
2024-04-03 18:05:29 +08:00
Zexi Li
0f0c5a1819 feat(region,climc): support container-sync-status command 2024-04-03 17:58:46 +08:00
屈轩
c312e35fc2 fix(region): add cloud account sync batch size options (#19876) 2024-04-03 14:38:59 +08:00
Zexi Li
33acb98c57 Merge pull request #19875 from zexi/container-status
fix(host): restarting container failure
2024-04-03 11:34:59 +08:00
Zexi Li
83144a87f8 fix(host): restarting container failure 2024-04-03 11:19:27 +08:00
屈轩
66032b6d7d fix(region): prepare regions by prefix (#19872) 2024-04-03 10:15:11 +08:00
Zexi Li
24d2e57c3a Merge pull request #19869 from swordqiu/hotfix/qj-sync-status-stopped-pod
fix: sync status stopped pod
2024-04-03 09:14:03 +08:00
Qiu Jian
772456bfe6 fix: sync status stopped pod 2024-04-03 07:59:19 +08:00
屈轩
b193cc00cf fix(region): total count rds by zone id (#19866) 2024-04-02 20:32:52 +08:00
屈轩
59f524ff3c fix(region): vendor update for region sync (#19863) 2024-04-02 20:16:26 +08:00
Zexi Li
a2e035decf Merge pull request #19857 from zexi/container-system-cpu-simulate
feat(region,host,climc): simulating /sys/devices/system/cpu directory
2024-04-02 20:16:00 +08:00
屈轩
2716ebf96d fix(cloudid): vendor update for ksyun iam (#19861) 2024-04-02 20:03:43 +08:00
gouqi11
cc34cce115 fix(notify): clean notificationGroup after send (#19858)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-04-02 18:40:13 +08:00
Zexi Li
ba46ca0219 feat(region,host,climc): simulating /sys/devices/system/cpu directory 2024-04-02 17:35:21 +08:00
屈轩
546d0112b1 fix(cloudid): vendor update form volcengine iam (#19855) 2024-04-02 14:39:14 +08:00
Zexi Li
8ab9923ea5 Merge pull request #19850 from swordqiu/hotfix/qj-idp-sso-domain-query
fix: idp list query filter by sso_domain
2024-04-02 10:35:59 +08:00
Zexi Li
70f63847a5 Merge pull request #19854 from zexi/container-filter
fix(region): filter containers by guest_id
2024-04-02 10:35:38 +08:00
Zexi Li
7379b4dccd fix(region): filter containers by guest_id 2024-04-02 10:21:43 +08:00
Qiu Jian
284f09f649 fix: idp list query filter by sso_domain 2024-04-02 01:28:28 +08:00
Jian Qiu
6f5ec57944 fix: trigger project sync by informer (#19836)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-04-02 00:23:44 +08:00
Zexi Li
4831e4ae45 Merge pull request #19848 from zexi/container-detach-loopdev
fix(host): detach loop device
2024-04-01 17:23:13 +08:00
Zexi Li
4a3272c100 fix(host): detach loop device 2024-04-01 17:21:42 +08:00
屈轩
5d966ab1eb fix(cloudid): vendor update (#19846) 2024-04-01 11:39:24 +08:00
Zexi Li
bc9035f8de Merge pull request #19835 from zexi/container-overlay-vol
feat(region,host): support to mount container overlay host directory
2024-04-01 11:07:28 +08:00
屈轩
dfb3736868 fix(cloudid): model reflection (#19819) 2024-04-01 10:56:47 +08:00
Zexi Li
1c12d03bcb feat(region,host): support to mount container overlay host directory 2024-04-01 10:45:14 +08:00
Zexi Li
80fdc7f589 Merge pull request #19839 from wanyaoqi/automated-cherry-pick-of-#19838-upstream-master
Automated cherry pick of #19838: fix(host-deployer): add ext4 usage type options
2024-04-01 10:14:32 +08:00
屈轩
98bdabd6f8 fix(region): billing resource check (#19840) 2024-04-01 10:06:14 +08:00
wanyaoqi
ad6db34317 fix(host-deployer): add ext4 usage type options
resize fs not required find rootfs.
format ext4 partitions select usage type by part size.

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-03-31 13:38:58 +08:00
Zexi Li
8d481901e2 Merge pull request #19834 from zexi/update-container-spec
feat(climc): container-update-spec
2024-03-29 16:33:19 +08:00
Zexi Li
8b3d566cef feat(climc): container-update-spec 2024-03-29 16:15:44 +08:00
Zexi Li
a251fecb78 Merge pull request #19830 from wanyaoqi/fix/deploy-guest-arm-kernel-path
fix(host-deployer): deploy guest arm kernel path fix
2024-03-29 16:14:55 +08:00
wanyaoqi
5a01a0e592 fix(host-deployer): deploy guest arm kernel path fix 2024-03-29 16:02:16 +08:00
屈轩
796c2dad86 fix(region): vendor update (#19826) 2024-03-29 10:37:57 +08:00
屈轩
52eb6d1048 fix(region): cloudpods region sync (#19820) 2024-03-28 15:33:37 +08:00
Zexi Li
a173c60ad4 Merge pull request #19809 from wanyaoqi/automated-cherry-pick-of-#19803-upstream-master
Automated cherry pick of #19803: fix(host): delete lvm disk active first
2024-03-27 20:23:13 +08:00
屈轩
08def7eedb fix(region): avoid panic (#19815) 2024-03-27 15:05:14 +08:00
Zexi Li
486ec8562d Merge pull request #19814 from zexi/rm-pod-loop
fix(host): use executor to run losetup
2024-03-27 14:35:20 +08:00
Zexi Li
407a894639 fix(host): use executor to run losetup 2024-03-27 14:11:21 +08:00
Zexi Li
2898e54f52 Merge pull request #19813 from zexi/container-change-config
feat(region): support change container configuration
2024-03-27 11:52:34 +08:00
Zexi Li
77ead6271b feat(region): support change container configuration 2024-03-27 11:25:40 +08:00
Zexi Li
035c352e6f Merge pull request #19812 from zexi/pod-restart
feat(region): support pod to restart
2024-03-27 10:07:59 +08:00
Zexi Li
e9c2c559fa feat(region): support pod to restart 2024-03-27 00:08:18 +08:00
wanyaoqi
09f3801884 fix(host): resize slvm disk 2024-03-26 22:48:44 +08:00
wanyaoqi
8fedbe51b4 fix(host): delete lvm disk active first 2024-03-26 22:48:44 +08:00
Jian Qiu
4a3dcb4c37 fix: host-type-count sql error (#19801)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-26 18:57:35 +08:00
屈轩
2a7daa62cd fix(climc): remove useless code (#19798) 2024-03-26 17:04:05 +08:00
Zexi Li
a7cfc8168b Merge pull request #19796 from zexi/lxcfs-cpu
feat(region,host): set pod cgroup for lxcfs
2024-03-26 15:15:09 +08:00
Zexi Li
559df5f161 feat(region,host): set pod cgroup for lxcfs 2024-03-26 15:08:28 +08:00
gouqi11
d1e51bc8d1 feat(excelutils): support read file data (#19794)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-03-26 14:53:51 +08:00
Jian Qiu
cae39339a7 fix: create lb listener rules fail due to domain not found (#19785)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-26 09:49:34 +08:00
wanyaoqi
8908ac38b3 fix(ansibleserver): update file repo (#19772) 2024-03-26 09:48:17 +08:00
Jian Qiu
5b456010f8 fix: server skus ignore seting SetModelManager (#19777)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-26 09:47:04 +08:00
Jian Qiu
2db9bc4058 fix: fail to parse ipv6 addr of fc00::1:1004:ffff:ffff:ffff:ffff (#19781)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-26 09:46:27 +08:00
屈轩
157eb8f29b fix(region): filter cloudprovider by zone (#19788) 2024-03-25 19:23:15 +08:00
屈轩
34395823c4 fix(climc): update azure account (#19784) 2024-03-25 15:16:49 +08:00
Zexi Li
62137c2c68 Merge pull request #19770 from zexi/pod-start-stop
feat(region,host): support pod start and stop task
2024-03-22 11:52:55 +08:00
Zexi Li
50d2870a2b feat(region,host): support pod start and stop task 2024-03-22 10:57:27 +08:00
屈轩
f50e1d5a1d fix(vpcagent): signal killed (#19761) 2024-03-22 09:36:57 +08:00
屈轩
ec00f5138c fix(vpcagent): prevent the security group deletion rule from taking effect (#19756) 2024-03-21 20:39:12 +08:00
屈轩
4429c108ac fix(notify): simplify receiver api (#19764) 2024-03-21 20:07:34 +08:00
屈轩
702e829d35 fix(region): allow delete aliyun prepaid vm (#19767) 2024-03-21 20:07:11 +08:00
Zexi Li
67c0523245 Merge pull request #19731 from wanyaoqi/automated-cherry-pick-of-#19730-upstream-master
Automated cherry pick of #19730: fix(region,host): lvm storage misc fix
2024-03-21 19:53:30 +08:00
Zexi Li
a38b5e1fb1 Merge pull request #19769 from zexi/container-lifecycle-devices
Container lifecycle devices
2024-03-21 19:51:32 +08:00
Zexi Li
366340e74c feat(region,scheduler,host): container lifecycle and cgroup devices permissions 2024-03-21 19:42:08 +08:00
Zexi Li
8f0af93a1d Merge pull request #19755 from zexi/container-cgroup
feat(host): set container memory limit
2024-03-21 12:14:37 +08:00
Zexi Li
3bcc09a04d feat(host): set container memory limit 2024-03-21 10:31:36 +08:00
屈轩
c73ac42b37 fix(region): skip set lost name when purge deleted vm (#19752) 2024-03-20 18:20:04 +08:00
Zexi Li
6cac127db8 Merge pull request #19751 from zexi/automated-cherry-pick-of-#19750-upstream-master
Automated cherry pick of #19750: feat(cloudcommon): support extra hook for db model
2024-03-20 15:04:29 +08:00
Zexi Li
3212dd37ea feat(cloudcommon): support extra hook for db model 2024-03-20 12:31:17 +08:00
屈轩
2ef56c0c40 fix(climc): ksyun bill report options (#19749) 2024-03-20 10:10:45 +08:00
屈轩
e586d7759e fix(region): esxi vm desc sync (#19746) 2024-03-19 15:49:30 +08:00
Zexi Li
70402face1 Merge pull request #19738 from zexi/container-host-dir
feat(region,host): support host directory volume_mount for container
2024-03-19 10:08:55 +08:00
Zexi Li
eee4089007 Merge pull request #19744 from wanyaoqi/fix/container-capalites
fix(region): add container caps
2024-03-19 10:06:58 +08:00
wanyaoqi
538e4049b3 fix(region): add container caps 2024-03-18 23:36:25 +08:00
屈轩
af1e4a7d47 fix(region): support create vmware vm with desc (#19739) 2024-03-18 09:47:14 +08:00
屈轩
9a5df8760d fix(region): sync max priority project tag (#19736) 2024-03-15 19:10:30 +08:00
Zexi Li
b097740d52 feat(region,host): support host directory volume_mount for container 2024-03-15 17:38:56 +08:00
wanyaoqi
93b64fd553 fix(region,host): lvm storage misc fix
- add some lvm storage create check
- fix slvm storage image cache not correct

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-03-14 22:15:04 +08:00
wanyaoqi
fa6d12d7be fix(region): check normal type nic is null (#19729) 2024-03-14 18:03:04 +08:00
屈轩
0b11ee0281 fix(esxi-agent): create vmware vm with suitable version (#19725) 2024-03-14 15:54:08 +08:00
Zexi Li
053ef85af5 Merge pull request #19710 from zexi/container-caps
feat(climc,region,host): create redroid container
2024-03-14 10:42:37 +08:00
Zexi Li
749ec1849c feat(region,host,climc): support pod host random port mapping 2024-03-13 20:13:13 +08:00
Zexi Li
30b61bf566 Merge pull request #19723 from ioito/hotfix/qx-duplicate-zone-name
fix(region): avoid duplicate zone name
2024-03-13 20:11:52 +08:00
Zexi Li
7d4b55b2c6 Merge pull request #19712 from wanyaoqi/automated-cherry-pick-of-#19711-upstream-master
Automated cherry pick of #19711: fix(host): gpu probe check vendor is amd or nvidia
2024-03-13 20:06:06 +08:00
Zexi Li
762136176a Merge pull request #19714 from swordqiu/hotfix/qj-tag-filter-with-no-value-revisit
fix: tag filter with no value revisit
2024-03-13 20:04:38 +08:00
屈轩
24fc530a06 fix(region): filter disks by guest status (#19720) 2024-03-13 19:10:50 +08:00
Qu Xuan
ef3f59db7a fix(region): avoid duplicate zone name 2024-03-13 19:05:43 +08:00
屈轩
be15fec744 fix(region): avoid panic when network is nil (#19717) 2024-03-13 11:58:46 +08:00
Zexi Li
1bc14d251b feat(climc,region,host): support capabilities and privileged mode 2024-03-12 23:24:16 +08:00
Qiu Jian
006174bd2b fix: tag filter with no value revisit 2024-03-12 21:43:36 +08:00
wanyaoqi
9e6c166219 fix(host): gpu probe check vendor is amd or nvidia 2024-03-12 21:35:23 +08:00
Zexi Li
6313ce87a3 Support pod container (#19706)
* feat(region,scheduler,host): support pod and container

* feat(region,host): container nvidia gpu support

* fix(region,host): function parameters

---------

Co-authored-by: wanyaoqi <d3lx.yq@gmail.com>
2024-03-12 18:47:44 +08:00
屈轩
cf3d468814 fix(webconsole): sftp download utf8 filename (#19708) 2024-03-12 18:29:02 +08:00
Jian Qiu
96ba0ba916 fix: host-deploy options struct consistent with host options (#19694)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-12 13:35:28 +08:00
Zexi Li
a04eb0a4fd Merge pull request #19688 from swordqiu/hotfix/qj-auth-manager-singleton
fix: make authManager a singleton
2024-03-12 10:46:01 +08:00
屈轩
63c751111f fix(region): ipv6 cidr sync for network (#19702) 2024-03-11 17:52:24 +08:00
屈轩
20e7d080b9 fix(region): avoid update network dns panic (#19697) 2024-03-11 10:57:45 +08:00
屈轩
9be17470dc fix(webconsole): show link file info (#19691) 2024-03-11 09:43:43 +08:00
Qiu Jian
08b2cb4e36 fix: make authManager a singleton 2024-03-10 10:07:23 +08:00
Jian Qiu
b64c14376c fix: webconsole command log empty opstime (#19682)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-10 07:24:24 +08:00
Jian Qiu
ac22a8f210 fix: vpcagent always do full sync, disable incremental sync (#19628)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-10 07:23:16 +08:00
wanyaoqi
593c5711c1 fix(host): qga set network flush ipv4 address (#19672) 2024-03-10 07:22:27 +08:00
Jian Qiu
41f21ff45b fix: network address details compatible with dameng (#19686)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-10 07:21:59 +08:00
Jian Qiu
2920a156b7 fix: support db checksum algorithm of SHA256 (#19680)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-09 14:57:37 +08:00
屈轩
749e4b1074 fix(region): vendor update for qcloud nat sync (#19676) 2024-03-08 18:13:38 +08:00
屈轩
c21e6dadbb fix(webconsole): sftp return file mode info (#19674) 2024-03-08 13:43:41 +08:00
屈轩
f2c8355c15 fix(region): update y18n (#19670) 2024-03-08 13:43:26 +08:00
Zexi Li
b913e0aca3 Merge pull request #19668 from swordqiu/hotfix/qj-always-add-static-routes-master
fix: always add static routes for default nic master
2024-03-07 10:05:44 +08:00
Qiu Jian
006b57a618 fix: always add static routes for default nic 2024-03-06 19:52:43 +08:00
屈轩
4185ce95f9 fix(scheduler): skip network exit check (#19664) 2024-03-06 19:10:38 +08:00
屈轩
5b1f1b7255 fix(region): vendor update for sync azure network cidr (#19661) 2024-03-06 18:08:19 +08:00
屈轩
e3e71e950d fix(region): exit no longer affects managed network (#19658) 2024-03-06 16:59:48 +08:00
屈轩
340abc83b1 fix(webconsole): file mode (#19656) 2024-03-06 13:21:16 +08:00
Jian Qiu
e4b5bd9979 fix: network ip match recode to fix dameng INET_ATON support (#19654)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-06 03:08:17 +08:00
Jian Qiu
0d677954af fix: donot use insertOrUpdate for create joint resources (#19650)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-06 02:23:33 +08:00
wanyaoqi
2cee1adbd9 fix(host-deployer): support deploy encrypted disk (#19640) 2024-03-06 02:23:03 +08:00
wanyaoqi
023c365c60 fix(host): backup guest dirty shutdown (#19620)
backup guest dirty shutdown master request sync status,
slave request dirty start.
2024-03-06 02:21:49 +08:00
wanyaoqi
3e1e6a736b feat(region,host): support shared driver by lvmlockd (#19619) 2024-03-06 02:19:08 +08:00
屈轩
491c308424 fix(region): dissociate eip when vm deleted (#19646) 2024-03-05 18:35:47 +08:00
屈轩
8650dcfa5e fix(region): sync account project (#19643) 2024-03-05 17:18:16 +08:00
屈轩
e61bedc496 fix(region): compatible with v3.9 vm cdrom (#19636) 2024-03-05 15:56:51 +08:00
屈轩
b3a10d06b2 fix(cloudmon): support ctyun vm metric (#19634) 2024-03-05 11:58:45 +08:00
Zexi Li
ffa9eb592a Merge pull request #19631 from swordqiu/hotfix/qj-token-cache-informer-fail
fix: tokenCache newInformer fail
2024-03-05 10:29:42 +08:00
Qiu Jian
7bfd200e28 fix: tokenCache newInformer fail 2024-03-05 00:28:55 +08:00
屈轩
60ee033812 fix(region): vendor update for azure associate type (#19624) 2024-03-04 20:09:14 +08:00
Jian Qiu
29c76797f2 Hotfix/qj organization node label contains separator2 (#19609)
* fix: organization node label contains separator, round 2

* fix: hidden parent org nodes

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-04 18:14:29 +08:00
屈轩
08fafdce6c fix(region): 未开启三级权限允许云账号更改项目 (#19612) 2024-03-04 13:14:17 +08:00
Jian Qiu
46d603eece update vendor 20240303 (#19606)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-03-03 11:46:54 +08:00
gouqi11
43e5df853e fix(influxdb): support set timeout (#19593)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-03-03 10:47:29 +08:00
屈轩
b491e0e1d7 fix(region): raw query with delete-all options (#19603) 2024-03-01 19:36:32 +08:00
屈轩
58602af0aa fix(region): avoid sync huawei lb backend panic (#19589) 2024-03-01 10:41:30 +08:00
屈轩
a8f7733fc5 fix(region): ctyun api page size must le 50 (#19584) 2024-02-29 18:20:58 +08:00
屈轩
66d3a801db fix(region): add secgroup filter for rds and redis (#19582) 2024-02-29 17:01:57 +08:00
Jian Qiu
f57662868a fix: handle label separator in organization tag value (#19573)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-29 16:37:42 +08:00
Jian Qiu
e73ed9d081 feature: dameng database support (#19570)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-29 16:37:21 +08:00
屈轩
1987d2d31a fix(region): skip sync apsara expired time (#19579) 2024-02-29 16:08:10 +08:00
屈轩
7705556b00 fix(keystone): domain-list with delete-all options (#19576) 2024-02-29 16:06:11 +08:00
屈轩
0759020dfe fix(region): support cephfs (#19550) 2024-02-29 14:59:12 +08:00
屈轩
4a9d94d9e0 fix(region): support huawei public nat (#19564) 2024-02-29 14:41:04 +08:00
屈轩
8d254bcc80 fix(notify): add capability for notify config (#19568) 2024-02-28 17:51:32 +08:00
屈轩
bb7a05c63d fix(region): remove useless code (#19566) 2024-02-28 16:49:43 +08:00
屈轩
aee895b82e fix(keystone): optimized domain-list query (#19555) 2024-02-28 14:45:17 +08:00
wanyaoqi
c016dad7da Automated cherry pick of #19547: Fix/create from iso set os distro (#19548)
* fix(region): iso guest copy image props to metadata

* fix(region): always run host ping detect task
2024-02-28 14:16:36 +08:00
wanyaoqi
d504b76e06 Automated cherry pick of #19558: Fix/guest image live migrate (#19559)
* fix(host): slvm storage active on init

* fix(region): guest live migrate cache all of guestimage caches
2024-02-28 11:32:02 +08:00
Zexi Li
902749d87a Merge pull request #19562 from zexi/automated-cherry-pick-of-#19561-upstream-master
Automated cherry pick of #19561: fix(scheduler): unsued key
2024-02-28 11:00:05 +08:00
Zexi Li
7199877ebe fix(scheduler): unsued key 2024-02-28 10:26:31 +08:00
gouqi11
92ee483837 fix(monitor): add target for suggestRuleListInput (#19552)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-02-26 20:18:45 +08:00
wanyaoqi
45ca46e156 fix(region): update rescuing status to rescue (#19544) 2024-02-24 07:54:06 +08:00
wanyaoqi
039e806479 feat(host): disable guest hpet timer by default (#19534)
The HPET was turned off by default purely because of issues with time
drifting on Windows guests. (See nova commit ba3fd16605.)
2024-02-24 07:53:17 +08:00
wanyaoqi
5abea4946d fix(host): load guest desc hpet and video1 dev (#19530) 2024-02-24 07:51:36 +08:00
Jian Qiu
41376e6382 fix: support OpenCloudOS, OpenKylin, Alma, UOSDesktop (#19527)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-24 07:50:04 +08:00
屈轩
c3b5c7b88d fix(region): support secgroup ipv6 (#19541) 2024-02-23 16:57:02 +08:00
屈轩
022ff9e623 fix(keystone): support filter project by multi admin user (#19539) 2024-02-23 15:25:00 +08:00
屈轩
21d0c9d83e fix(keystone): support unset project admin user (#19537) 2024-02-23 15:08:17 +08:00
gouqi11
456e73a391 fix(util): fix excelutils set emptu cell (#19524)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-02-22 19:55:20 +08:00
屈轩
ddc73e5d88 fix(region): sync lb secgroup (#19521) 2024-02-22 18:14:02 +08:00
屈轩
e81d28bd8b fix(region): sync by external project with enable project sync (#19519) 2024-02-22 18:13:26 +08:00
屈轩
cf6eb4eb59 fix(region): refactor lb acl and cert (#19503) 2024-02-21 19:54:59 +08:00
屈轩
55e8d1a37c fix(region): sync empty security groups (#19515) 2024-02-21 16:26:52 +08:00
屈轩
6e056b40a1 fix(region): vendor update for qcloud nat status (#19512) 2024-02-20 16:00:07 +08:00
屈轩
aecd4b7cd3 fix(region): sync regional secgrouop (#19510) 2024-02-20 15:43:43 +08:00
Jian Qiu
db57b48a49 fix: filter organization nodes by policy tags (#19506)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-20 09:53:12 +08:00
Jian Qiu
4ff0c1c1eb fix: policy update description panic (#19508)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-20 09:28:32 +08:00
wanyaoqi
5c5d66fffe fix(host): script start guest donot force restart on monitor timeout (#19505) 2024-02-19 20:52:34 +08:00
屈轩
cc6eca5b90 fix(cloudproxy): cloudproxy service auth first (#19499) 2024-02-19 12:08:23 +08:00
wanyaoqi
e87a0b6cc3 feat(region,host): guest numa allocate (#19498) 2024-02-18 19:35:23 +08:00
Jian Qiu
e2963f9d34 fix: create params with require_ipv6 (#19491)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-18 10:35:06 +08:00
屈轩
3ea6d5018b fix(region): vendor update for openstack https support (#19493) 2024-02-18 10:22:35 +08:00
Jian Qiu
450a27b892 fix: invalid token request too frequent (#19489)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-17 19:00:32 +08:00
Jian Qiu
d880ff7b10 fix: organization sync panic on nil pointer of weight (#19487)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-12 21:08:55 +08:00
Jian Qiu
7bb232463b fix: project tag tree sql revise (#19484)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-11 10:47:21 +08:00
Jian Qiu
0635e9c53e fix: IModelManager add NewQuery to initialize query with params (#19481)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-10 18:04:04 +08:00
Jian Qiu
c61f8e65ad fix: sync error (#19413)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-10 16:35:32 +08:00
Jian Qiu
f65d67853a fix: avaialble address6 api timeout (#19479)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-10 16:30:22 +08:00
wanyaoqi
710d5ac2cc fix(region,host): rescue mode update initramfs, vnc login no passwd (#19478) 2024-02-10 16:29:05 +08:00
wanyaoqi
c36ba88ae8 fix(host-deployer): elfherader fd leak (#19476) 2024-02-08 14:11:34 +08:00
屈轩
6f902f1b39 fix(region): avoid panic when change-owner missing domain_id (#19471) 2024-02-08 10:51:22 +08:00
屈轩
ca30e50585 fix(region): add read only filter for account and provider (#19468) 2024-02-07 15:32:58 +08:00
屈轩
c0779d8511 fix(region): trim tag space (#19466) 2024-02-07 11:04:25 +08:00
Jian Qiu
c58970c888 fix: project tag value tree can return sum of any field (#19464)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-06 21:50:46 +08:00
wanyaoqi
8c2ecb44ed fix(host-deployer): xfs unlock panic (#19457) 2024-02-06 00:31:56 +08:00
Jian Qiu
81a12d1f16 feature: allow manager to preapre query context (#19451)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-05 20:06:40 +08:00
屈轩
7ad776ed5d fix(region): qcloud disks delete when vm deleted (#19452) 2024-02-05 17:54:47 +08:00
屈轩
dced4221c2 fix(climc): support set bill report for azure account (#19449) 2024-02-05 15:14:12 +08:00
屈轩
1cd886faae fix(region): cloudpods ipv6 sync (#19444) 2024-02-05 11:24:04 +08:00
屈轩
29b21e9938 fix(region): cloudpods deploy api (#19446) 2024-02-05 11:23:41 +08:00
Jian Qiu
c1fa60a7a7 fix: tenant cache sync deleted projects (#19440)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-05 08:44:47 +08:00
屈轩
a841372d1e fix(region): support set network tags (#19434) 2024-02-04 18:05:10 +08:00
屈轩
bde31db5b3 fix(region): avoid informer panic (#19430) 2024-02-04 16:28:54 +08:00
屈轩
fa78557d51 fix(region): avoid filesystem sync error (#19435) 2024-02-04 15:18:44 +08:00
屈轩
5c3c127a93 fix(region): auto set provider project id when change account project info (#19432) 2024-02-04 11:49:55 +08:00
gouqi11
f3faa152ca fix(scheduledtask): fix deletedResource task (#19424)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-02-04 10:42:48 +08:00
屈轩
0ee21d3ca4 fix(webconsole): sort file list (#19408) 2024-02-03 23:28:31 +08:00
Jian Qiu
2e4e2d3bef fix: fail to reset policy org_node_id to empty (#19425)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-03 23:19:42 +08:00
屈轩
69eaad8afe fix(region): auto create project by project mapping (#19406) 2024-02-02 17:36:52 +08:00
屈轩
f7bcf94501 fix(region): ipv6 free ip (#19417) 2024-02-02 17:15:05 +08:00
屈轩
a8babbda0e fix(region): support public ipv6 addr sync (#19419) 2024-02-02 17:14:02 +08:00
Zexi Li
b9a31f4243 Merge pull request #19423 from wanyaoqi/automated-cherry-pick-of-#19421-upstream-master
Automated cherry pick of #19421: fix(host): init from guest mem obj miss size
2024-02-02 16:53:49 +08:00
wanyaoqi
d1d79d3680 fix(host): init from guest mem obj miss size 2024-02-02 16:45:47 +08:00
Jian Qiu
18ae8cce2e fix: expand policy tags with org node tags (#19415)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-02 11:44:15 +08:00
gouqi11
14d10c121c fix(commom): setStatus with notify hook (#19405)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-02-01 20:44:40 +08:00
屈轩
45c9aa90e7 fix(region): ipv6 filter (#19410) 2024-02-01 18:52:43 +08:00
屈轩
d65aa0535b fix(keystone): optimized user list (#19403) 2024-02-01 16:43:08 +08:00
Jian Qiu
fe13dc9dd0 fix: allow binding organization ids to policy (#19396)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-01 10:58:38 +08:00
屈轩
3b7c0d9d4d fix(webconsole): support host ssh (#19386) 2024-02-01 10:58:11 +08:00
Jian Qiu
3ba0b815eb fix: sync unknown guest status when host ping (#19385)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-02-01 10:57:55 +08:00
屈轩
d6c4428763 fix(common): auto disable 3des cipher suites (#19391) 2024-02-01 10:56:55 +08:00
屈轩
7880074a66 fix(region): avoid panic (#19401) 2024-02-01 10:11:32 +08:00
屈轩
6baa4b7656 fix(region): vendor update for sync ipv6 (#19397) 2024-01-31 20:57:21 +08:00
屈轩
a8aef171c0 fix(region): cloudpods esxi disk create (#19389) 2024-01-31 17:30:27 +08:00
屈轩
5a18e691ba fix(region): support managed ipv6 (#19394) 2024-01-31 17:29:51 +08:00
Zexi Li
a24d76232d feat(dhcprelay): add Dockerfile (#19376) 2024-01-31 15:22:55 +08:00
屈轩
be1967fe5c fix(region): project mapping key match at end of list (#19380) 2024-01-31 15:05:07 +08:00
Jian Qiu
21e4ea5e4a fix: vmware change config with cpu sockets (#19374)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-31 15:04:35 +08:00
Zexi Li
05ad7150b2 fix(baremetal): admin nic is reset when added secondly (#19378) 2024-01-30 16:18:07 +08:00
屈轩
819ec0e27d fix(region): cancel pending delete (#19372) 2024-01-30 14:12:40 +08:00
Zexi Li
34a93ef6c7 Merge pull request #19368 from swordqiu/hotfix/qj-server-change-ip-recode
fix: server change ip addr recode
2024-01-30 10:23:45 +08:00
屈轩
674f23850e fix(region): vendor update for optimized aliyun rds backup sync (#19370) 2024-01-29 18:07:41 +08:00
Qiu Jian
a83fa7ed5a fix: server change ip addr recode 2024-01-29 17:07:20 +08:00
屈轩
4b73c9667c fix(webconsole): use common options (#19329) 2024-01-29 11:29:23 +08:00
Zexi Li
f33eb50797 Merge pull request #19363 from swordqiu/hotfix/qj-validate-role-policies-for-oidc-create-user
fix: validate policy violation when assign users for oidc IDP
2024-01-28 21:58:44 +08:00
Qiu Jian
37a25c3945 fix: validate policy violation when assign users for oidc IDP 2024-01-27 18:16:56 +08:00
Zexi Li
8569204cf4 fix(apigateway): ignore empty rows when registering baremetal host (#19355) 2024-01-27 18:16:31 +08:00
Zexi Li
69c69fb653 fix(climc): wire is required when using network-create (#19361) 2024-01-27 18:15:18 +08:00
wanyaoqi
e46f1babad fix(host-deployer): escape back quote (#19357) 2024-01-27 08:10:25 +08:00
Zexi Li
70bcc94c86 Merge pull request #19338 from swordqiu/hotfix/qj-resolve-local-domain
fix: not resolve local domain with dns records
2024-01-26 16:05:09 +08:00
Zexi Li
01131cc600 Merge pull request #19350 from wanyaoqi/automated-cherry-pick-of-#19347-upstream-master
Automated cherry pick of #19347: fix(host-deployer): check sshclient is nil on disconnect
2024-01-26 16:04:34 +08:00
wanyaoqi
f5e14d64c9 fix(host-deployer): check sshclient is nil on disconnect 2024-01-26 12:12:36 +08:00
屈轩
a4a1794c78 fix(region): sync resource owner with auto-create-project options (#19319) 2024-01-26 11:14:10 +08:00
Zexi Li
cd7b1f2bb2 Merge pull request #19343 from zexi/automated-cherry-pick-of-#19342-upstream-master
Automated cherry pick of #19342: optimized(scheduler): remove fillResidentTenants function loading data from db
2024-01-25 17:10:49 +08:00
Zexi Li
cb8359abd8 optimized(scheduler): remove fillResidentTenants function loading data from db 2024-01-25 17:06:39 +08:00
Zexi Li
519d4a0cd6 Merge pull request #19336 from zexi/automated-cherry-pick-of-#19334-upstream-master
Automated cherry pick of #19334: fix(baremetal): hardcode h3c ipmi lan channel to 1
2024-01-25 15:49:38 +08:00
Qiu Jian
31d7f9d10a fix: not resolve local domain with dns records 2024-01-25 15:38:31 +08:00
Jian Qiu
4838521075 fix: ipv6 secgroup support (#19332)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-25 13:25:36 +08:00
Zexi Li
ab50ed67a1 fix(baremetal): hardcode h3c ipmi lan channel to 1 2024-01-25 11:55:02 +08:00
Jian Qiu
db8263a347 Revert "hotfix: unit test copyOptions" (#19328) 2024-01-24 22:13:56 +08:00
Jian Qiu
2613b682aa hotfix: unit test copyOptions (#19312)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-24 18:59:45 +08:00
屈轩
8a1a9fde3e fix(region): gcp secrule update (#19323) 2024-01-24 17:16:51 +08:00
屈轩
481210d7fe fix(climc): optimized storagecache cmd (#19321) 2024-01-24 15:03:22 +08:00
Zexi Li
ed5d9ba4b4 Merge pull request #19315 from zexi/automated-cherry-pick-of-#19314-upstream-master
Automated cherry pick of #19314: fix(build): use telegraf-raid-plugin:release-1.6.5
2024-01-22 16:59:19 +08:00
Zexi Li
8f1b360104 fix(build): use telegraf-raid-plugin:release-1.6.5 2024-01-22 16:49:29 +08:00
Jian Qiu
d12cd7d342 fix(region): server change config input recode (#19299)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-22 11:33:02 +08:00
屈轩
f06cda7481 fix(region): avoid panic (#19310) 2024-01-19 19:31:10 +08:00
屈轩
ed75e9304e fix(region): auto encrypt options password (#19307) 2024-01-19 19:19:42 +08:00
屈轩
b41c0dd1ca fix(region): vendor update for aws image import (#19305) 2024-01-19 16:14:30 +08:00
屈轩
d126ffceb5 fix(region): eip sync with project (#19301) 2024-01-19 14:04:16 +08:00
gouqi11
fc3041fa49 feat(region): support notify for guest_status changed (#19297)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-19 10:24:03 +08:00
gouqi11
ff8b0c8de7 feat(notify): SupportReceiverGetContactTypeByRoleId (#19295)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-19 10:14:27 +08:00
屈轩
00173b753a fix(region): huawe redis spec code update (#19293) 2024-01-18 18:22:54 +08:00
屈轩
c8e01fc993 fix(region): check kvm vpc and security group relation (#19291) 2024-01-18 14:34:52 +08:00
屈轩
4221d20f99 fix(region): huawei bucket create with usable regions (#19289) 2024-01-18 11:19:25 +08:00
gouqi11
b4d4754323 fix(region): add public_cloud_provider list (#19286)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-18 10:48:51 +08:00
Jian Qiu
9ca7fb3bf8 fix: windows ipv6 support (#19279)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-17 19:47:25 +08:00
屈轩
847775cfb9 fix(climc): add bill report for volc account (#19283) 2024-01-17 14:51:12 +08:00
Jian Qiu
52906770bb fix: automatically refresh invalid admin token (#19272)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-17 00:27:49 +08:00
Jian Qiu
17adf2ca42 fix: dhcpv6 support in vpc network (#19270)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-17 00:27:21 +08:00
Jian Qiu
7c2de32b62 fix: try resolve tenant by project id first (#19276)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-16 22:13:53 +08:00
屈轩
fb6fa5f5c4 fix(region): vendor update for pve vm sync (#19265) 2024-01-16 15:34:44 +08:00
屈轩
4a7692b8d0 fix(region): esxi vm create with tags (#19262) 2024-01-16 14:25:50 +08:00
屈轩
39690fabed fix(region): dns record update with enabled params (#19260) 2024-01-15 19:47:10 +08:00
gouqi11
f83ee1d5de feat(notify): support project notify (#19242)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-15 19:34:57 +08:00
Zexi Li
8c885359fa Merge pull request #19257 from ioito/hotfix/qx-vendor-update-0115
fix(region): vendor update for aliyun security group rule create
2024-01-15 19:21:47 +08:00
ioito
24f534bf71 fix(region): vendor update for aliyun security group rule create 2024-01-15 19:10:38 +08:00
屈轩
93e2b3684f fix(region): avoid duplicate cachedimage insert (#19254) 2024-01-15 18:30:38 +08:00
Jian Qiu
c7d79f5d48 Feature/qj ipv6 support (#19249)
* feature: ipv6 support

* fix: ipv6 support more

* fix: update vendor for ipv6 support

* fix: allow enable ipv6 on existing guestnetwork

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-15 13:32:52 +08:00
wanyaoqi
b78db4e029 fix(host-deployer): add growpart resize partitions (#19252) 2024-01-15 12:14:51 +08:00
屈轩
a96158ee74 fix(region): huawei eip disassociate (#19243) 2024-01-12 19:31:58 +08:00
屈轩
441bb2ca2c fix(region): avoid duplicate project create (#19240) 2024-01-12 19:16:12 +08:00
屈轩
546e7bc379 fix(region): huawei disk refresh (#19237) 2024-01-12 15:53:25 +08:00
屈轩
d1ce2c03b2 fix(cloudmon): huawei metric pull (#19235) 2024-01-12 15:39:58 +08:00
屈轩
43b0609bac fix(region): vendor update for huawei rds create (#19231) 2024-01-11 19:04:24 +08:00
Jian Qiu
43d7668ee5 fix: no fetch owner scope when GetProperty (#19229)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-11 18:58:46 +08:00
wanyaoqi
851eb1d347 fix(host-deployer): add cmdline vsyscall=emulate on ramfs guest (#19224)
deploy fs on older system like centos 6, need emulate vsyscall.
otherwise will get error like:
    Code: Unable to access opcode bytes at 0xffffffffff6003d6.
2024-01-11 05:45:32 +08:00
wanyaoqi
bfa7a4ec5d feat(region,host): shared lvm storage (#19195) 2024-01-10 23:26:42 +08:00
Zexi Li
f988d3928b Merge pull request #19198 from wanyaoqi/automated-cherry-pick-of-#19196-upstream-master
Automated cherry pick of #19196: fix(host): host-agent register skip upload vf nics
2024-01-10 10:28:46 +08:00
Zexi Li
bd670e7165 Merge pull request #19217 from wanyaoqi/automated-cherry-pick-of-#19216-upstream-master
Automated cherry pick of #19216: Automated cherry pick of #19215: fix(host-deployer): deploy params has special char
2024-01-10 10:27:39 +08:00
Zexi Li
ecd9c7d92f Merge pull request #19213 from gouqi11/fixNotifyMissingTopForOperationSuccessed
fix(notify): fix host webhook err
2024-01-10 09:59:54 +08:00
wanyaoqi
708f7c18b8 fix(host-deployer): deploy params has special char 2024-01-09 23:08:08 +08:00
马鸿飞
2e90bca3ec fix(notify): add actionTranslate 2024-01-09 19:20:11 +08:00
屈轩
f46adc77cb fix(region): skip sync used ip addr (#19207) 2024-01-09 17:50:18 +08:00
屈轩
b6e870de5d fix(region): image project tags (#19210) 2024-01-09 17:49:53 +08:00
屈轩
3ca3a3fa63 fix(region): avoid gcp secgroup delete failed (#19205) 2024-01-09 16:59:39 +08:00
屈轩
11e13434b5 fix(region): skip clear secgroup when delete vm (#19199) 2024-01-09 16:59:12 +08:00
Zexi Li
a0531a6fa9 Merge pull request #19204 from zexi/readme-changelog-link
fix(README): wrong changelog links
2024-01-09 14:57:05 +08:00
Zexi Li
f747bf0187 fix(README): wrong changelog links 2024-01-09 14:55:31 +08:00
Zexi Li
a0060df591 Merge pull request #19203 from zexi/update-readme
fix(README): simplify content and remove deadlinks
2024-01-09 14:42:40 +08:00
Zexi Li
4b599f33be fix(README): simplify content and remove deadlinks 2024-01-09 12:37:36 +08:00
wanyaoqi
a4c0b4100c fix(host): host-agent register skip upload vf nics 2024-01-08 23:20:39 +08:00
屈轩
95b02b3da4 fix(region): access group rule purge (#19191) 2024-01-08 15:52:05 +08:00
屈轩
764f93bf76 fix(region): simplify db init (#19182) 2024-01-08 14:19:11 +08:00
屈轩
f7ec171dee fix(region): volcengine network range (#19187) 2024-01-08 11:35:04 +08:00
屈轩
4f8c883fc8 fix(region): support aliyun essd entry (#19184) 2024-01-08 11:18:03 +08:00
屈轩
c38d52bf5c fix(region): access group without cache (#19165) 2024-01-05 19:58:45 +08:00
gouqi11
36fdfcd8dc fix(notify): add missing topic (#19174)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-05 18:57:28 +08:00
马鸿飞
98ff5145c4 fix(notify): add missing topic 2024-01-05 16:27:14 +08:00
屈轩
939fe0e1a1 fix(region): vendor update for zstack secgroup rule (#19169) 2024-01-05 10:39:01 +08:00
Jian Qiu
9f099bb802 fix: vpc dhcp options string value should be double quoted (#19164)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-05 07:56:24 +08:00
gouqi11
cd1b0e9dfc fix(notify): host topic bug fix (#19167)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2024-01-04 19:21:00 +08:00
屈轩
41a942413b fix(region): add translate (#19137) 2024-01-02 16:49:18 +08:00
wanyaoqi
30c3ecff61 fix(host): host register set isinit false on hostId not null (#19155)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2024-01-02 14:01:03 +08:00
Jian Qiu
345a86f7c1 fix: qmp free port test (#19152)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2024-01-02 14:00:21 +08:00
wanyaoqi
ed79e40429 fix(region): ovs offload interface get ifname from isolated devices tlb (#19147)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2023-12-31 12:30:31 +08:00
Jian Qiu
141f46f35d fix: automatically reserve guest gateway IP (#19138)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-30 17:11:50 +08:00
Jian Qiu
33556cdf40 fix: deploy user ssh keypair for user account only (#19133)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-30 16:56:24 +08:00
wanyaoqi
d70dd2f541 feat(region,host,host-deployer): infiniband nic sriov support (#19128) 2023-12-30 16:56:11 +08:00
屈轩
4e2e491526 fix(region): user-date deploy by metadate (#19126) 2023-12-29 17:14:46 +08:00
屈轩
c905fef410 fix(region): vendor update for huawei project sync (#19139) 2023-12-29 17:09:36 +08:00
Zexi Li
58bc3c318f Merge pull request #19129 from swordqiu/hotfix/qj-avoid-megacli-hang-on-adpallinfo
fix: avoid megacli hang on adpallinfo
2023-12-29 16:37:01 +08:00
Qiu Jian
2d4872cad3 fix: avoid megacli hang on adpallinfo 2023-12-28 21:31:01 +08:00
gouqi11
c10cef4eae feat(notify): support notify for host (#19020)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-12-27 20:07:01 +08:00
am6737
f2cd8a7e2a feat(region): support custom user data in Google Cloud VM rebuild (#19124)
- ServerDeployInputBase结构体添加UserData字段用于部署虚拟机时获取用户自定义数据
- docs/swagger/swagger_compute.yaml中的ServerRebuildRootInput添加user_data字段
- RequestDeployGuestOnHost方法中添加rebuild重装系统获取user_data的逻辑
2023-12-27 18:44:13 +08:00
gouqi11
fe667b04b7 fix(monitor): fix alertRecord manager (#19116)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-12-27 17:31:10 +08:00
屈轩
6002deec6f fix(region): huawei subaccount (#19071) 2023-12-27 14:20:37 +08:00
屈轩
2294a47506 fix(region): vendor update for deploy vm struct params (#19113) 2023-12-27 11:33:33 +08:00
屈轩
ab94f3590a fix(climc): support set tencent cloud bill report (#19106) 2023-12-27 11:07:25 +08:00
wanyaoqi
d5b3acfc87 fix(region,host-deployer): qga os distribution format (#19110)
host-deployer fix xfs mount error

Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2023-12-26 20:15:26 +08:00
Jian Qiu
7f2ff35da4 fix: delete server will purge instance backups (#19096)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-26 15:45:08 +08:00
Jian Qiu
5de57897c2 Feature/qj support default interface (#19095)
* fix: support default gateway interface

* fix: default gateway 2

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-26 15:35:04 +08:00
wanyaoqi
ddde38aa43 feat(region,host): guest sync os info (#19100) 2023-12-26 12:49:29 +08:00
屈轩
a111617c05 fix(region): optimized host-list speed (#19093) 2023-12-26 11:04:11 +08:00
屈轩
0e4583c353 fix(region): esxi change config (#19089) 2023-12-25 14:36:18 +08:00
屈轩
5ed79e2c95 fix(region): change storage_size from int to int64 (#19085) 2023-12-22 18:36:11 +08:00
Zexi Li
d9190bc642 Merge pull request #19080 from ioito/hotfix/qx-vendor-update-volc-for-loop
fix(region): avoid for-loop sync volcengine disks
2023-12-22 17:32:33 +08:00
Zexi Li
f2f535985e Merge pull request #19084 from wanyaoqi/automated-cherry-pick-of-#19082-upstream-master
Automated cherry pick of #19082: fix(host-deployer): check executor is enabled on init qemu driver
2023-12-22 17:32:15 +08:00
wanyaoqi
01dc0e66ca fix(host-deployer): check executor is enabled on init qemu driver 2023-12-22 17:20:34 +08:00
ioito
7fcca14ca2 fix(region): avoid for-lool sync volcengine disks 2023-12-22 16:28:29 +08:00
屈轩
e240b2f8ea fix(region): optimized disk list (#19076) 2023-12-22 14:49:33 +08:00
屈轩
cca71781bb fix(region): add disk preallocation for guest info (#19074) 2023-12-22 10:35:53 +08:00
屈轩
2151def1b6 fix(region): remove debug sql query (#19072) 2023-12-21 20:50:38 +08:00
Zexi Li
5a02dfc7c0 feat(baremetal-agent): support using tftp to download kernel and initrd (#19064) 2023-12-21 00:50:48 +08:00
屈轩
4bfe55428f fix(region): refactor huawei api for support organization (#19067) 2023-12-20 19:26:50 +08:00
Zexi Li
bc454e809c Merge pull request #19057 from swordqiu/hotfix/qj-webconsole-open-forward-failure
fix: webconsole ssh open forward failure
2023-12-20 11:37:45 +08:00
屈轩
7ce13321dd fix(region): vendor update for volcengine network and aws dnsrecords sync (#19061) 2023-12-20 11:35:07 +08:00
Qiu Jian
2b58d6f666 fix: webconsole ssh open forward failure 2023-12-19 22:08:41 +08:00
屈轩
3f10e5adad fix(region): ignore empty certificate error for ssl sync (#19053) 2023-12-19 20:26:09 +08:00
Zexi Li
1ad385f483 Merge pull request #19051 from ioito/hotfix/qx-rds-vcpu-count
fix(region): avoid rds vcpu count is zero
2023-12-19 14:25:50 +08:00
屈轩
9c8c505bde fix(region): add log for skiped pending deleted vm (#19049) 2023-12-19 13:28:13 +08:00
ioito
3450620583 fix(region): avoid rds vcpu count is zero 2023-12-19 13:26:10 +08:00
Zexi Li
bc9b1013d0 Merge pull request #19046 from zhasm/hotfix/rex-update-ansible-base-docker-image
fix(docker): update dockerfile for ansible-base
2023-12-19 13:16:54 +08:00
Zhang Dongliang
d4ecbd8774 fix(docker): update dockerfile for ansible-base 2023-12-19 13:08:27 +08:00
屈轩
9814236935 fix(region): snapshot policy sync external id (#19042) 2023-12-18 19:14:07 +08:00
Zexi Li
f4e13247ca Merge pull request #19029 from swordqiu/hotfix/qj-add-dbinstance-lb-event-climc
fix: climc add lb-event and dbinstance-event
2023-12-18 17:27:15 +08:00
Zexi Li
93308afe64 Merge pull request #19036 from swordqiu/automated-cherry-pick-of-#19033-upstream-master
Automated cherry pick of #19033: fix: disable pvpanic dev
2023-12-18 17:27:02 +08:00
Zexi Li
192a2825ce Merge pull request #19034 from wanyaoqi/automated-cherry-pick-of-#19031-upstream-master
Automated cherry pick of #19031: fix(host-deployer): pass config files to deploy vm
2023-12-18 17:25:29 +08:00
Zexi Li
b6a1f9d97f Merge pull request #19039 from wanyaoqi/automated-cherry-pick-of-#19037-upstream-master
Automated cherry pick of #19037: fix(host): usb device hotplug
2023-12-18 17:23:18 +08:00
wanyaoqi
75f03384a9 fix(host): hot add usb device 2023-12-18 17:06:45 +08:00
wanyaoqi
bb3bc0768f fix(host): usb host device add device_id 2023-12-18 17:06:45 +08:00
Qiu Jian
0f62c76cba fix: disable pvpanic dev 2023-12-18 16:45:39 +08:00
wanyaoqi
499946f51c fix(host-deployer): pass config files to deploy vm 2023-12-18 16:43:58 +08:00
屈轩
ce7dc3bfaf fix(region): The latest api of Huawei cloud elb and eip is applicable (#19027) 2023-12-18 15:41:21 +08:00
Qiu Jian
d04a74bfd4 fix: climc add lb-event and dbinstance-event 2023-12-18 15:33:16 +08:00
gouqi11
ea5b0fd896 feat(region): add ip_addr for rds.GetShortDesc (#19021)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-12-16 16:39:23 +08:00
屈轩
9bb93aa7fa fix(region): do not clean up the running vm in the recycle bin (#19015) 2023-12-16 12:50:54 +08:00
Jian Qiu
7af3de39f4 fix: show update command at once (#19014)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-16 12:50:42 +08:00
Zexi Li
40b9fd99c3 Merge pull request #19012 from swordqiu/hotfix/qj-webconsole-display-info
fix: webconsole display information control
2023-12-16 10:10:30 +08:00
Zexi Li
2e7e80b402 Merge pull request #19011 from zexi/automated-cherry-pick-of-#19007-upstream-master
Automated cherry pick of #19007: fix(scheduler): reload cloudprovider's hosts when syncing finished
2023-12-16 10:06:17 +08:00
Qiu Jian
de508ff984 fix: webconsole display information control 2023-12-15 21:15:36 +08:00
Zexi Li
793a73c544 fix(scheduler): reload cloudprovider's hosts when syncing finished 2023-12-15 20:20:46 +08:00
屈轩
d478a8ac8d fix(region): refactor snapshot policy (#18996) 2023-12-15 17:07:56 +08:00
Zexi Li
6e9253b504 fix(cloudcommon): service config informer doesn't start watching (#19005) 2023-12-15 14:58:35 +08:00
Zexi Li
1a6c31db45 Merge pull request #18997 from swordqiu/hotfix/qj-webconsole-ssh-api
fix: refine webconsole ssh api
2023-12-15 11:50:36 +08:00
Zexi Li
dc10fae960 Merge pull request #19001 from wanyaoqi/automated-cherry-pick-of-#18999-upstream-master
Automated cherry pick of #18999: fix(host-deployer): udpate yunionos, reduce yunionos memsize
2023-12-15 11:50:22 +08:00
wanyaoqi
8293f86901 fix(host-deployer): udpate yunionos, reduce yunionos memsize 2023-12-15 11:41:41 +08:00
Qiu Jian
10265f3432 fix: refine webconsole ssh api 2023-12-15 10:39:23 +08:00
屈轩
efb2af95d4 fix(region): remove useless snapshot policy code (#18992) 2023-12-14 11:56:01 +08:00
屈轩
a26ac2b821 fix(region): avoid duplicate rule name for gcp (#18989) 2023-12-14 11:23:33 +08:00
wanyaoqi
f8ce36ffe6 feat(region,host): clvm support (#18979) 2023-12-14 09:41:41 +08:00
Zexi Li
f71fcf8881 Merge pull request #18985 from swordqiu/hotfix/qj-backup-storage-capcity-mb-optional
fix: backup storage capacity_mb field optional
2023-12-14 03:28:10 +08:00
屈轩
62767a337b fix(region): set status available for kvm secgroup rule after created (#18987) 2023-12-13 21:26:25 +08:00
屈轩
01a3a5014f fix(region): gen ssl api (#18974) 2023-12-13 19:52:42 +08:00
Qiu Jian
c8ecca833a fix: backup storage capacity_mb field optional 2023-12-13 19:50:38 +08:00
Zexi Li
d30fd31c61 Merge pull request #18982 from zexi/automated-cherry-pick-of-#18981-upstream-master
Automated cherry pick of #18981: fix(monitor): fetch measurements from victoriametrics
2023-12-13 19:47:22 +08:00
Zexi Li
ef1baa1565 fix(monitor): fetch measurements from victoriametrics 2023-12-13 19:01:22 +08:00
Zexi Li
1d0a8eba09 Merge pull request #18976 from zexi/automated-cherry-pick-of-#18975-upstream-master
Automated cherry pick of #18975: fix(monitor): consider whether the target host is in source host of m…
2023-12-13 13:38:16 +08:00
Zexi Li
ad3c442bf0 fix(monitor): consider whether the target host is in source host of mem balancer 2023-12-13 12:53:42 +08:00
Zexi Li
9270f3ee9b Merge pull request #18969 from ioito/hotfix/qx-vendor-update-gcp
fix(region): vendor update for gcp rebuild-root sys disk size and password login
2023-12-12 18:21:09 +08:00
ioito
e2a4ebb03e fix(region): vendor update for gcp rebuild-root sys disk size and password login 2023-12-12 17:21:30 +08:00
Zexi Li
9052d5e03d Merge pull request #18967 from wanyaoqi/automated-cherry-pick-of-#18965-upstream-master
Automated cherry pick of #18965: fix(host-deployer): run guest on host and ignore no config file
2023-12-12 15:19:07 +08:00
wanyaoqi
1e0c76bdb0 fix(host-deployer): run guest on host and ignore no config file
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2023-12-12 14:56:35 +08:00
Zexi Li
e8b5c4f1f0 Merge pull request #18951 from swordqiu/hotfix/qj-ignore-vm-virtual-ip-changes
fix: ignore vm virtual ip changes
2023-12-11 16:25:18 +08:00
Zexi Li
a59508ae97 Merge pull request #18956 from swordqiu/automated-cherry-pick-of-#18955-upstream-master
Automated cherry pick of #18955: fix: log metric collection action
2023-12-11 16:18:35 +08:00
Qiu Jian
9875d24ba0 fix: log metric collection action 2023-12-11 00:30:18 +08:00
Qiu Jian
5b133f2723 fix: ignore vm virtual ip changes 2023-12-10 12:16:52 +08:00
Jian Qiu
89b414adc1 fix: host add a local config file (#18932)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-08 21:26:19 +08:00
屈轩
aa088e6d9f fix(region): support volc balance and gcp api retry (#18946) 2023-12-08 17:56:37 +08:00
屈轩
c8020a3014 fix(region): optimized sync code (#18943) 2023-12-08 15:06:43 +08:00
Zexi Li
76353205fc Merge pull request #18941 from zexi/automated-cherry-pick-of-#18939-upstream-master
Automated cherry pick of #18939: fix(monitor): not add scope to query resource from region service
2023-12-08 12:42:07 +08:00
Zexi Li
be3dd3d939 fix(monitor): not add scope to query resource from region service 2023-12-08 12:30:53 +08:00
屈轩
8853aa50b1 fix(region): add ssl certificate mod (#18938) 2023-12-08 11:38:40 +08:00
Zexi Li
98cc44c63f Merge pull request #18927 from swordqiu/hotfix/qj-no-default-dns-servers
fix: no default fallback dns server
2023-12-08 10:46:57 +08:00
Zexi Li
95d94ac008 Merge pull request #18930 from zexi/automated-cherry-pick-of-#18926-upstream-master
Automated cherry pick of #18926: feat(monitor): make simple-query API adapting victoriametrics and add monitor-unifiedmonitor-query command
2023-12-08 10:46:20 +08:00
Zexi Li
928af12585 feat(climc): add monitor-unifiedmonitor-query command 2023-12-08 10:05:47 +08:00
Zexi Li
92b35fa44a fix(monitor): make simple-query API adapt to victoriametrics 2023-12-08 10:05:47 +08:00
Qiu Jian
41f77abfc7 fix: no default fallback dns server 2023-12-08 01:15:15 +08:00
Zexi Li
8fa8266009 Merge pull request #18922 from ioito/hotfix/qx-cloudpods-image
fix(region): cloudpods uefi and generate name
2023-12-07 16:40:48 +08:00
Zexi Li
5a2d3d3829 Merge pull request #18918 from wanyaoqi/automated-cherry-pick-of-#18917-upstream-master
Automated cherry pick of #18917: Automated cherry pick of #18916: Fix/host deployer
2023-12-07 16:40:25 +08:00
ioito
170b2abe5d fix(region): cloudpods uefi and generate name 2023-12-07 16:13:14 +08:00
wanyaoqi
c9f6484cd1 fix(host-deployer): disconnect fix and concurrence control 2023-12-07 16:06:35 +08:00
屈轩
258dca4f78 fix(webconsole): rdp 用户隔离上传文件 (#18920) 2023-12-07 15:22:10 +08:00
屈轩
526593a2c6 feat(webconsole): support sftp for ssh (#18915) 2023-12-07 14:54:10 +08:00
wanyaoqi
35e11967a4 fix:(host-deployer): arm guest add gic version 2023-12-07 10:39:56 +08:00
屈轩
51e2d49bb5 fix: guacd docker file mkdir required dir (#18912) 2023-12-06 17:03:24 +08:00
Zexi Li
d678596da9 Merge pull request #18910 from zexi/automated-cherry-pick-of-#18908-upstream-master
Automated cherry pick of #18908: fix(monitor): map interval to step
2023-12-06 16:16:34 +08:00
Zexi Li
5ebc867fc9 fix(monitor): map interval to step 2023-12-06 15:33:13 +08:00
Jian Qiu
f28c0e9fe2 fix: esxi hotadd cpu limit (#18892)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-06 15:31:03 +08:00
屈轩
d2506ccf10 fix(keystone): remove deleted project metadata (#18905) 2023-12-06 15:29:43 +08:00
屈轩
a9d7d41be3 fix(webconsole): optimized guacd error log (#18903) 2023-12-06 11:59:45 +08:00
Zexi Li
97c1c3ca7f Merge pull request #18898 from zexi/automated-cherry-pick-of-#18897-upstream-master
Automated cherry pick of #18897: fix(monitor): update vendor to support victoriametrics topk func
2023-12-05 18:23:26 +08:00
Zexi Li
0077cb288d fix(monitor): update vendor to support victoriametrics topk func 2023-12-05 18:02:43 +08:00
Jian Qiu
fce84fc413 fix: add index for token_cache_tbl to accelerate invalid token query (#18889)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-05 12:22:17 +08:00
Jian Qiu
168b7cde6f fix: clickhouse mapping table use the same name as origin (#18887)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-05 12:21:54 +08:00
Zexi Li
c51739ebb6 Merge pull request #18880 from ioito/hotfix/qx-cloudmon-sync
fix(region): avoid cloudmon no cloudprovider sync
2023-12-05 12:06:51 +08:00
Zexi Li
821eb41b99 Merge pull request #18882 from ioito/hotfix/qx-show-update-cmd
fix: show update oc cmd
2023-12-05 12:06:18 +08:00
ioito
0e487b2457 fix: show update oc cmd 2023-12-05 10:39:21 +08:00
ioito
0c7bf6989f fix(region): avoid cloudmon no cloudprovider sync 2023-12-05 10:03:10 +08:00
Jian Qiu
1b997dcb79 fix: mapping mysql tables into clickhouse with Engine MySQL (#18877)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-05 07:08:17 +08:00
wanyaoqi
0692c20341 fix(host-deployer): qemu deployer without kvm support (#18875) 2023-12-05 07:07:47 +08:00
wanyaoqi
1977a725f5 fix(region): add option control enable default dns server (#18873) 2023-12-04 17:02:20 +08:00
Zexi Li
482d034c97 Merge pull request #18867 from ioito/hotfix/qx-vendor-update-esxi-cpu-socket
fix(region): vendor update
2023-12-04 15:25:48 +08:00
Zexi Li
c646b3cca6 Merge pull request #18870 from zexi/automated-cherry-pick-of-#18780-upstream-master
Automated cherry pick of #18780: feat(host): use IsolatedDeviceModels as GPU whitelist
2023-12-04 15:24:54 +08:00
Zexi Li
a270a0652c feat(host): use IsolatedDeviceModels as GPU whitelist 2023-12-04 15:23:08 +08:00
ioito
082a705c01 fix(region): vendor update 2023-12-04 14:57:59 +08:00
Zexi Li
af4f1b3504 Merge pull request #18865 from wanyaoqi/automated-cherry-pick-of-#18864-upstream-master
Automated cherry pick of #18864: Automated cherry pick of #18863: fix(host-deployer,host): mv deploy driver option to common options
2023-12-04 14:35:30 +08:00
屈轩
1105454459 fix(region): vendor update (#18860) 2023-12-04 14:26:11 +08:00
wanyaoqi
3553fc983e fix(host-deployer,host): mv deploy driver option to common options 2023-12-04 14:23:18 +08:00
Zexi Li
0808bafad0 Merge pull request #18858 from wanyaoqi/automated-cherry-pick-of-#18857-upstream-master
Automated cherry pick of #18857: Manual cherrypick of #18856
2023-12-04 10:35:44 +08:00
wanyaoqi
c3743b57f3 fix(host-deployer): update base image and fix return errors 2023-12-04 01:54:58 +08:00
Jian Qiu
7355825e38 fix: reserve ping probed ip with expiration (#18854)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-03 22:27:14 +08:00
Jian Qiu
73558fb13e fix: force assign ip address when sync vm vnics (#18852)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-12-03 15:34:15 +08:00
Zexi Li
30c3016218 fix(baremetal): disable probe access mac by redfish driver (#18847) 2023-12-03 15:33:43 +08:00
Zexi Li
282e2e5fec Merge pull request #18843 from zexi/use-github-action-for-pr
feat(ci): use github action to check PR
2023-12-01 13:00:48 +08:00
Zexi Li
489791fef9 feat(ci): use github action to check PR 2023-12-01 12:30:48 +08:00
Jian Qiu
7a1ea2085c fix: server create instance backup parameters (#18839)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-30 20:19:07 +08:00
屈轩
32d6e782a1 fix(region): 增加配置项,支持标签不再同步至云上功能 (#18837) 2023-11-30 19:12:45 +08:00
屈轩
e01f01483c fix(webconsole): rdp stop (#18840) 2023-11-30 19:12:26 +08:00
Jian Qiu
7efec61f3d Hotfix/qj esxi sync ips support (#18831)
* fix: support esxi subips

* update vendor

---------

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-30 18:04:01 +08:00
wanyaoqi
1e33fcf328 fix(host): guest switch to backup (#18835) 2023-11-30 17:15:04 +08:00
wanyaoqi
b58cd52d30 Automated cherry pick of #18822: Automated cherry pick of #18821: Feat/deploy guest (#18823)
* feat(region): add guest rescue api && download initrd from baremetal tftp server && add baremetal agent ip finder & update pic address & support ip kernel config.

* feat(host-deployer): use qemu-kvm as default deploy dirver

---------

Co-authored-by: boironic@gmail.com <boironic@gmail.com>
2023-11-30 16:50:18 +08:00
屈轩
127711a965 fix(region): optional vcpu when change vm config (#18825) 2023-11-30 13:33:34 +08:00
屈轩
a5c5f4feb9 fix(region): skip sync meta if no public cloud register (#18827) 2023-11-30 13:33:01 +08:00
Jian Qiu
df71fdd3a8 fix: filter networks by host type (#18818)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-30 00:07:41 +08:00
屈轩
72c3d49b2b fix(webconsole): checke rdp password (#18816) 2023-11-29 19:07:37 +08:00
屈轩
e68fd8b574 fix(webconsole): rdp enable drive (#18805) 2023-11-29 19:07:02 +08:00
屈轩
7d9e941869 fix(region): vendor update (#18814) 2023-11-29 15:00:36 +08:00
屈轩
3bd3297632 fix(region): 只读账号增量更新标签 (#18811) 2023-11-29 14:53:41 +08:00
Jian Qiu
74420ecdb7 fix: generalized metadata getter (#18807)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-29 09:04:14 +08:00
屈轩
eb0faaec97 feat(webconsole): support rdp (#18755) 2023-11-28 10:47:04 +08:00
Zexi Li
963f310ca7 Merge pull request #18800 from swordqiu/hotfix/qj-get-property-with-customized-show
fix: customized show content of get-property
2023-11-28 10:09:17 +08:00
Qiu Jian
ed76beabec fix: customized show content of get-property 2023-11-28 07:37:20 +08:00
Zexi Li
d75ddd3bdc Merge pull request #18798 from zexi/automated-cherry-pick-of-#18797-upstream-master
Automated cherry pick of #18797: fix(monitor): register agent_nvidia_smi metrics
2023-11-27 19:32:19 +08:00
Zexi Li
db1bc181bd fix(monitor): register agent_nvidia_smi metrics 2023-11-27 19:13:39 +08:00
Zexi Li
71cad44ad9 Merge pull request #18795 from wanyaoqi/automated-cherry-pick-of-#18792-upstream-master
Automated cherry pick of #18792: Automated cherry pick of #18791: fix(region): alloc ovn_mapped_ip_addr on host post create
2023-11-27 19:07:29 +08:00
Zexi Li
8ee1e7c07c Merge pull request #18787 from swordqiu/hotfix/qj-cloud-account-update-aliyun-billing-scope
fix: cloud account update aliyun billing scope
2023-11-27 19:06:37 +08:00
屈轩
19b4400137 fix(region): revert os dist filter and sort (#18793) 2023-11-27 17:34:35 +08:00
wanyaoqi
5be641d123 fix(region): alloc ovn_mapped_ip_addr on host post create 2023-11-27 17:25:43 +08:00
Qiu Jian
11cd6ec3b0 fix: cloud account update aliyun billing scope 2023-11-27 01:24:40 +08:00
Zexi Li
26454fffdb Merge pull request #18786 from swordqiu/automated-cherry-pick-of-#18784-upstream-master
Automated cherry pick of #18784: feature: backup support object storage
2023-11-26 21:05:16 +08:00
Qiu Jian
33ac7b1fda fix: encrypt object storage secret 2023-11-26 20:47:44 +08:00
Qiu Jian
409a61dbd9 fix: update model api 2023-11-26 20:47:44 +08:00
Qiu Jian
6c15b55596 feature: backup support object storage 2023-11-26 20:47:43 +08:00
屈轩
c5e8856b42 fix(region): trim metadata key (#18775) 2023-11-24 22:18:00 +08:00
屈轩
4d7cbb93b2 fix(region): vm filter by os dist (#18777) 2023-11-24 20:06:01 +08:00
屈轩
e343ae3b5e fix(region): distinct os dist field (#18767) 2023-11-24 11:51:52 +08:00
屈轩
4e75760a3a fix(region): show guest gpu model (#18765) 2023-11-23 12:39:38 +08:00
Jian Qiu
a71b19ea17 fix: hot add mem check for esxi vm (#18762)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-23 12:21:12 +08:00
Zexi Li
51ecf0536f Merge pull request #18757 from swordqiu/hotfix/qj-hot-add-mem-for-esxi
fix: hot add mem check for esxi vm
2023-11-23 10:15:23 +08:00
Qiu Jian
db1f8c8124 fix: hot add mem check for esxi vm 2023-11-23 08:53:33 +08:00
Zexi Li
ba762a31fe feat(region): add nvidia_smi telegraf input plugin (#18754) 2023-11-23 00:19:46 +08:00
屈轩
29804817f1 fix(keystone): project clean (#18741) 2023-11-21 21:10:17 +08:00
Zexi Li
4848a48d0c Merge pull request #18747 from zexi/automated-cherry-pick-of-#18746-upstream-master
Automated cherry pick of #18746: fix(monitor): query multiple fileds from victoria-metrics
2023-11-21 18:07:52 +08:00
Zexi Li
b085e70957 fix(monitor): query multiple fileds from victoria-metrics 2023-11-21 17:45:44 +08:00
Zexi Li
6945b86ed4 Merge pull request #18743 from ioito/hotfix/qx-list-filter-field
fix(region): remove useless filter params
2023-11-21 17:16:38 +08:00
ioito
489b0e04d1 fix(region): remove useless filter params 2023-11-21 16:05:09 +08:00
屈轩
2e1c5fa844 fix(region): cpu socket (#18731) 2023-11-21 14:58:27 +08:00
Zexi Li
1d9a291fe9 Merge pull request #18739 from zexi/automated-cherry-pick-of-#18736-upstream-master
Automated cherry pick of #18736: feat(region,host,climc): aggregate server hardware information
2023-11-21 14:09:02 +08:00
Zexi Li
46a1061d7c feat(region,host,climc): aggregate server hardware information 2023-11-21 12:10:17 +08:00
gouqi11
91dac7f4a9 feat(common): log support rebilling (#18737)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-20 19:21:01 +08:00
Zexi Li
677e0f9a5a Merge pull request #18730 from zexi/update-issue-close-days
fix(github-action): set issue close inactive-day to 7
2023-11-20 11:00:08 +08:00
Zexi Li
5bc3a6fe3b fix(github-action): set issue close inactive-day to 7 2023-11-20 10:59:12 +08:00
屈轩
09af132d52 fix(region): vendor update for aliyun tags (#18727) 2023-11-17 16:30:20 +08:00
gouqi11
2309dfc27c fix(notify): fix webhook brand (#18723)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-17 15:37:08 +08:00
屈轩
7f3cc23f78 fix(region): redis cloudregion id (#18721) 2023-11-17 15:19:49 +08:00
Zexi Li
b6a703fdca Merge pull request #18719 from zexi/automated-cherry-pick-of-#18718-upstream-master
Automated cherry pick of #18718: fix(climc): bash completion is not working
2023-11-17 12:33:28 +08:00
Zexi Li
3066e65982 fix(climc): bash completion is not working 2023-11-17 12:03:02 +08:00
屈轩
b1d6a2d2c8 fix(region): vendor update (#18714) 2023-11-17 11:34:25 +08:00
屈轩
4fcec841a4 fix(region): vendor update (#18711) 2023-11-17 10:08:41 +08:00
gouqi11
30f8488238 fix(region): rds skip notImplementedErr (#18704)
* fix(region): rds skip notImplementedErr

* fix(region): aws redis set metadata status

---------

Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-16 17:20:26 +08:00
屈轩
26a2210d63 fix(region): vendor update (#18706) 2023-11-16 17:17:35 +08:00
gouqi11
002e1da54f update vendor (#18701)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-16 10:00:49 +08:00
gouqi11
0dbb094cd9 fix(region): fix db_dispatcher duplicate notify (#18698)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-15 17:02:39 +08:00
Jian Qiu
bd90a4427a fix: update lb cluster with patch params (#18695)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-15 08:57:06 +08:00
Jian Qiu
cd35933ffd fix: windows GPU vm should set hypervisor=off (#18690)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-15 08:56:33 +08:00
Jian Qiu
004ec64170 fix: make host dhcp lease options global (#18682)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-15 08:55:06 +08:00
Jian Qiu
cc89c353e9 fix: host set nil metadata (#18687)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-15 08:54:24 +08:00
Jian Qiu
f0caa12d88 fix: organization node weight not effective (#18693)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-15 08:54:03 +08:00
Zexi Li
d0f9fd4e11 feat(region,climc): add set-os-info api (#18678) 2023-11-14 22:59:45 +08:00
Zexi Li
e1c329974f Merge pull request #18671 from wanyaoqi/automated-cherry-pick-of-#18669-upstream-master
Automated cherry pick of #18669: fix(host): sync sriov nic bw on change config
2023-11-14 20:25:44 +08:00
屈轩
7cf461e8b7 feat(region): support oracle cloud (#18676) 2023-11-14 19:43:23 +08:00
gouqi11
f38441c251 fix(keystone): fix usage for projectNum (#18663)
* feat(region): support action to reBilling

* fix(keystone): fix keystone usage for projectNum

---------

Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-14 19:32:13 +08:00
Zexi Li
d0e8ec1d7e fix(host): setup routes from start to end (#18675) 2023-11-14 17:56:20 +08:00
wanyaoqi
13e8abbdc0 fix(host): sync sriov nic bw on change config 2023-11-14 16:39:03 +08:00
Zexi Li
421d903825 Merge pull request #18667 from wanyaoqi/automated-cherry-pick-of-#18665-upstream-master
Automated cherry pick of #18665: fix(regin): instance snapshot create guest fill os arch
2023-11-14 14:47:37 +08:00
Zexi Li
87b7bccaf5 Merge pull request #18661 from ioito/hotfix/qx-vm-order-by-os-dist
fix(region): order by os dist
2023-11-14 14:44:48 +08:00
wanyaoqi
da9188eef8 fix(regin): instance snapshot create guest fill os arch 2023-11-14 11:17:22 +08:00
ioito
123adc1a28 fix(region): order by os dist 2023-11-14 10:46:09 +08:00
Zexi Li
71b8f5b93e Merge pull request #18657 from zexi/automated-cherry-pick-of-#18655-upstream-master
Automated cherry pick of #18655: fix(host): catch init error
2023-11-13 21:12:51 +08:00
Zexi Li
22d5a01ff2 Merge pull request #18634 from testwill/fmt
chore: unnecessary use of fmt.Sprintf d
2023-11-13 20:44:41 +08:00
Zexi Li
22b2eabdc1 fix(host): catch init error 2023-11-13 20:40:39 +08:00
Zexi Li
d57764edac Merge pull request #18644 from swordqiu/hotfix/qj-gpu-class-codes
fix: extend gpu pci class codes
2023-11-13 19:19:26 +08:00
屈轩
7ddcafd0fa fix(yunionconf): allow disable bug report (#18653) 2023-11-13 19:03:54 +08:00
屈轩
f0b9b735c1 fix(region): vm gpu notes (#18651) 2023-11-13 18:15:33 +08:00
屈轩
bb3f8eba9f fix(region): esxi support preallocation vdisk (#18647) 2023-11-13 18:15:14 +08:00
Zexi Li
ee80ff489b Merge pull request #18641 from wanyaoqi/automated-cherry-pick-of-#18639-upstream-master
Automated cherry pick of #18639: fix(region,host): sriov nic hotplug and metrics fix
2023-11-13 17:02:50 +08:00
Zexi Li
4116a06cc2 Merge pull request #18633 from ioito/hotfix/qx-esxi-disk-storage
fix(region): esxi disk storage
2023-11-13 16:56:37 +08:00
Qiu Jian
66f53fa89e fix: extend gpu pci class codes 2023-11-13 16:19:02 +08:00
wanyaoqi
0c98109446 fix(region,host): sriov nic hotplug and metrics fix 2023-11-13 14:42:53 +08:00
Zexi Li
b0c80ca22f Merge pull request #18638 from wanyaoqi/automated-cherry-pick-of-#18636-upstream-master
Automated cherry pick of #18636: fix(region): change config check traffic limit params
2023-11-13 11:38:53 +08:00
wanyaoqi
dc2a1a8279 fix(region): change config check traffic limit params 2023-11-13 11:22:40 +08:00
guoguangwu
e4b396e870 chore: unnecessary use of fmt.Sprintf d
Signed-off-by: guoguangwu <guoguangwu@magic-shield.com>
2023-11-12 21:08:23 +08:00
ioito
5d3a00a539 fix(region): esxi disk storage 2023-11-10 19:06:27 +08:00
Zexi Li
42d64e8562 Merge pull request #18631 from ioito/hotfix/qx-project-tags-cloudmon
fix(cloudmon): collect metric with project tags
2023-11-10 16:45:33 +08:00
Zexi Li
c5c57cdd20 Merge pull request #18625 from swordqiu/hotfix/qj-cloud-provider-external-id
fix: cloudprovider external id
2023-11-10 16:40:09 +08:00
ioito
7560dae53b fix(cloudmon): collect metric with project tags 2023-11-10 16:33:11 +08:00
屈轩
ca29c4d441 fix(region): vendor update (#18629) 2023-11-10 16:09:45 +08:00
Zexi Li
ed05401e1d Merge pull request #18617 from zexi/automated-cherry-pick-of-#18545-upstream-master
Automated cherry pick of #18545: feat(monitor,region,host,cloudmon): support VictoriaMetrics as TSDB backend
2023-11-10 16:05:51 +08:00
屈轩
f52e78a64d fix(common): support report bug (#18626) 2023-11-10 15:46:07 +08:00
Zexi Li
9a9414452b feat(monitor,region,host,cloudmon): support VictoriaMetrics as TSDB backend 2023-11-10 15:36:02 +08:00
Qiu Jian
404b26d8b1 fix: cloudprovider external id 2023-11-10 12:06:39 +08:00
屈轩
6621e3f15f fix(region): vendor update (#18622) 2023-11-10 12:00:27 +08:00
屈轩
d3f273e58b fix(region): qcloud secgroup rule priority (#18620) 2023-11-10 11:54:54 +08:00
Lptnyy
2c3d5213ba feat(region): qcloud&aliyun&huawei add sslcertificate resource sync (#18570)
* feat(region): qcloud&aliyun&huawei add sslcertificate resource sync

* fix(region): move syncSslcert from syncPublicCloudProviderInfo to SyncCloudproviderResources
2023-11-10 11:54:30 +08:00
Zexi Li
3ca9dc0f51 Merge pull request #18618 from gouqi11/fixKeystoneProjectUsage
fix(keystone): fix usage empty projectTags
2023-11-09 16:09:38 +08:00
马鸿飞
6412887fce fix(keystone): fix usage empty projectTags 2023-11-09 15:31:07 +08:00
Zexi Li
0d66ffcaf6 Merge pull request #18613 from ioito/hotfix/qx-pve-iso
fix(region): pve cdrom with host info
2023-11-09 12:18:12 +08:00
ioito
9c58a8f644 fix(region): pve cdrom with host info 2023-11-09 12:04:13 +08:00
屈轩
540a63afb7 fix(region): avoid panic when sync aliyun redis (#18606) 2023-11-08 20:56:25 +08:00
gouqi11
4a7e55b77e feat(usage): support project count (#18608)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-08 20:36:32 +08:00
屈轩
c790883c29 fix(webconsole): pve vnc support (#18603) 2023-11-08 19:35:06 +08:00
Zexi Li
478e1844c9 fix(host): ignore error when add bridge ip address route (#18600) 2023-11-08 17:39:54 +08:00
屈轩
20f62a1881 fix(region): clean invalid skus (#18594) 2023-11-07 21:16:41 +08:00
屈轩
c8b0d6f9f5 fix(region): vendor update (#18590) 2023-11-07 20:36:59 +08:00
Zexi Li
e2969ee45c Merge pull request #18584 from wanyaoqi/fix/host-deployer-connect-lock
fix(host-deployer): use sync.lock on nbd connect/disconnect
2023-11-07 15:40:13 +08:00
wanyaoqi
b1ef71f82c fix(host-deployer): use sync.lock on nbd connect/disconnect 2023-11-07 15:28:20 +08:00
wanyaoqi
d5292e37f2 Automated cherry pick of #18580: fix(host): sync guest machine type on live migrate (#18582)
* fix(host): sync guest machine type on live migrate

* fix(host): checkout real anonymous pci devs on ensure pci address
2023-11-07 09:45:54 +08:00
wanyaoqi
e5549057d6 fix(host-deployer): detach nbd device do not block main thread (#18578) 2023-11-07 07:22:26 +08:00
Zexi Li
f1c71a1253 Merge pull request #18573 from wanyaoqi/automated-cherry-pick-of-#18571-upstream-master
Automated cherry pick of #18571: fix(host): live migrate ensure disk storate type
2023-11-06 16:48:07 +08:00
wanyaoqi
f313d13bbf fix(host): live migrate ensure disk storate type 2023-11-06 14:46:54 +08:00
Zexi Li
44b6c497c2 Merge pull request #18565 from swordqiu/hotfix/qj-qemu-disk-add-serial
fix: qemu disk set serial as disk_id
2023-11-05 11:44:48 +08:00
Qiu Jian
0f5b2b2943 fix: qemu disk set serial as disk_id 2023-11-04 18:49:31 +08:00
Zexi Li
bae538599b Merge pull request #18559 from swordqiu/hotfix/qj-fail-migrate-interface-routes
fix: host fail to migrate interface routes
2023-11-04 18:28:08 +08:00
Qiu Jian
fde1982505 fix: host fail to migrate interface routes 2023-11-03 23:58:01 +08:00
屈轩
424ba87f59 fix(region): volcengine monitor (#18557) 2023-11-03 13:56:42 +08:00
wanyaoqi
3025b19c1e fix(region,host): support traffic limit in change config (#18555) 2023-11-03 10:10:32 +08:00
Zexi Li
3013a0de76 Merge pull request #18549 from ioito/hotfix/qx-esxi-resize-disk-online
fix(region): esxi vm resize disk online
2023-11-02 15:02:14 +08:00
Zexi Li
8e81bf4fd0 Merge pull request #18548 from wanyaoqi/automated-cherry-pick-of-#18546-upstream-master
Automated cherry pick of #18546: fix(host-deployer): clean nbd mount on host-deployer start
2023-11-02 15:01:32 +08:00
ioito
d2a482f375 fix(region): esxi vm resize disk online 2023-11-02 11:22:53 +08:00
wanyaoqi
78080ff321 fix(host-deployer): clean nbd mount on host-deployer start 2023-11-01 21:26:25 +08:00
屈轩
b29db95fbc fix(region): volc bucket storage class (#18543) 2023-11-01 20:00:53 +08:00
屈轩
80f2d22b7e fix(region): vendor update (#18540) 2023-11-01 19:13:36 +08:00
屈轩
96a5eab116 fix(region): vendor update (#18538) 2023-11-01 18:52:04 +08:00
屈轩
d8ef417c88 fix(region): vendor update (#18534) 2023-11-01 17:48:05 +08:00
gouqi11
00856a756a update vendor (#18532)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-11-01 15:41:43 +08:00
Zexi Li
1f40dbc6c6 Merge pull request #18531 from wanyaoqi/automated-cherry-pick-of-#18529-upstream-master
Automated cherry pick of #18529: fix(host): live migrate pass disk num queues
2023-11-01 14:58:22 +08:00
wanyaoqi
d5690158f3 fix(host): live migrate pass disk num queues 2023-11-01 14:49:12 +08:00
Zexi Li
e2497ad587 Merge pull request #18524 from ioito/hotfix/qx-eip-sync-log
fix(region): skip vm eip not found error log
2023-11-01 10:13:37 +08:00
Zexi Li
4c4a2306cf Merge pull request #18522 from ioito/hotfix/qx-volc-misc-fix
fix(region): volcengine vm save image
2023-11-01 10:12:48 +08:00
Jian Qiu
4e9828ee15 fix: xfs zerofree (experimental) (#18501)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-11-01 09:41:07 +08:00
ioito
0760e19439 fix(region): skip vm eip not found error log 2023-10-31 20:42:41 +08:00
ioito
47e4ee44c4 fix(region): volcengine vm save image 2023-10-31 20:37:29 +08:00
屈轩
0528f3939f fix(region): vendor update (#18513) 2023-10-31 20:23:59 +08:00
Zexi Li
98e98c2f05 Merge pull request #18517 from wanyaoqi/automated-cherry-pick-of-#18515-upstream-master
Automated cherry pick of #18515: fix(host): detect blk dev numqueues and nics(no id) pci addresses
2023-10-31 20:17:53 +08:00
Zexi Li
25e3b5b881 Merge pull request #18518 from wanyaoqi/fix/local-disk-max-size
fix(region): reduce local disk max size to 10T
2023-10-31 19:51:08 +08:00
wanyaoqi
653b596444 fix(region): reduce local disk max size to 10T 2023-10-31 19:35:59 +08:00
Zexi Li
6bbd9270c2 Merge pull request #18503 from swordqiu/hotfix/qj-dhcp-hostname
fix: dhcp hostname not compatible with some os
2023-10-31 19:28:41 +08:00
Zexi Li
23962ec0b3 Merge pull request #18498 from zexi/automated-cherry-pick-of-#18497-upstream-master
Automated cherry pick of #18497: feat(apigateway): report running env
2023-10-31 19:27:55 +08:00
Zexi Li
86bcba9c37 Merge pull request #18511 from gouqi11/fixScheduletaskTime
fix(scheduledtask): supportCycleType week and month
2023-10-31 19:27:26 +08:00
wanyaoqi
ba4437434b fix(host): detect blk dev numqueues and nics(no id) pci addresses 2023-10-31 19:20:17 +08:00
屈轩
396ec36d16 fix(keystone): validate time_zone input (#18505) 2023-10-31 18:41:21 +08:00
马鸿飞
7b0a577585 fix(scheduledtask): supportCycleType week and month 2023-10-31 17:23:38 +08:00
Qiu Jian
dec9b9cb2f fix: dhcp hostname not compatible with some os 2023-10-31 11:59:29 +08:00
Zexi Li
311a7386f5 Merge pull request #18494 from ioito/hotfix/qx-vendor-update-10302008
fix(region): vendor update
2023-10-30 20:39:29 +08:00
Zexi Li
76aa71acad Merge pull request #18478 from swordqiu/hotfix/qj-scheduler-ping-pong-mime
fix: scheduler ping/pong response mime
2023-10-30 20:37:17 +08:00
Zexi Li
a76893e69c feat(apigateway): report running env 2023-10-30 20:32:32 +08:00
ioito
aa2d4d7b93 fix(region): vendor update 2023-10-30 20:08:16 +08:00
屈轩
ab366a5f04 fix(region): vendor update (#18492) 2023-10-30 17:03:33 +08:00
屈轩
95eee0b539 fix(region): qcloud security group rule priority (#18488) 2023-10-30 17:03:11 +08:00
屈轩
413e60c32a fix(region): avoid hostname has '-' suffix (#18485) 2023-10-30 17:02:20 +08:00
屈轩
1858a2983f fix(region): gpu spec (#18482) 2023-10-30 14:39:01 +08:00
屈轩
c0f1e64f29 fix(region): kvm secgroup filter (#18476) 2023-10-30 13:55:15 +08:00
Qiu Jian
03f3226360 fix: scheduler ping/pong response mime 2023-10-30 13:12:59 +08:00
Zexi Li
a0ae83f854 Merge pull request #18456 from ioito/hotfix/qx-gpu-log
fix(region): add gpu log
2023-10-30 10:04:56 +08:00
Zexi Li
a627933f3c Merge pull request #18472 from ioito/hotfix/qx-secgroup-rule-priority-check
fix(region): security group rule priority validate
2023-10-30 10:03:25 +08:00
Zexi Li
3cb6a4dffc Merge pull request #17671 from IRONICBo/feature/implement-vm-rescue
[WIP]feat(region): add guest rescue api
2023-10-29 20:42:09 +08:00
屈轩
ec7099c782 fix(region): kvm server cnt (#18469) 2023-10-27 19:39:08 +08:00
ioito
995a8e059b fix(region): security group rule priority validate 2023-10-27 19:35:11 +08:00
Bo
74b6a20387 Merge branch 'master' into feature/implement-vm-rescue 2023-10-27 19:29:02 +08:00
Bo
16377e5ac1 feat(region): add guest rescue api && download initrd from baremetal tftp server && add baremetal agent ip finder & update pic address & support ip kernel config. 2023-10-27 19:19:52 +08:00
屈轩
9781e70874 fix(region): vendor update (#18466) 2023-10-27 16:39:48 +08:00
屈轩
615ef32d46 fix(region): vendor update (#18464) 2023-10-27 16:07:53 +08:00
屈轩
908a43cbd8 fix(region): aliyun cloud_auto enable burst (#18460) 2023-10-27 15:18:31 +08:00
Zexi Li
e29e4c9070 Merge pull request #18442 from swordqiu/hotfix/qj-support-rocky-linux
fix: support rocky linux guestfs
2023-10-27 10:03:47 +08:00
Zexi Li
f62ea03bce Merge pull request #18448 from ioito/hotfix/qx-esxi-vm-delete
fix(region): 避免esxi vm没有被真正删除
2023-10-27 10:02:57 +08:00
屈轩
00f1f52002 fix(region): remove useless code (#18454) 2023-10-26 18:34:52 +08:00
ioito
0f87f3638d fix(region): add gpu log 2023-10-26 18:03:07 +08:00
屈轩
ce83f8a4b6 fix(region): security group rule update (#18451) 2023-10-26 17:57:53 +08:00
ioito
0da45a1813 fix(region): 避免esxi vm没有被真正删除 2023-10-26 14:45:34 +08:00
Zexi Li
a38ef1f05e Merge pull request #18445 from ioito/hotfix/qx-vendor-update-1026
fix(region): fix #18397 esxi vm set tags
2023-10-26 12:11:38 +08:00
ioito
503f1db671 fix(region): fix #18397 esxi vm set tags 2023-10-26 11:39:58 +08:00
屈轩
aeff5ea923 fix(region): vendor update (#18440) 2023-10-26 11:23:19 +08:00
Zexi Li
266fd3eea7 Merge pull request #18416 from swordqiu/hotfix/qj-auto-sync-esxi-host-status
fix: auto sync esxi host status periodically
2023-10-26 10:08:38 +08:00
Zexi Li
32e230a478 Merge pull request #18437 from wanyaoqi/automated-cherry-pick-of-#18436-upstream-master
Automated cherry pick of #18436: Automated cherry pick of #18435: Fix/misc fix 20231025
2023-10-26 10:08:08 +08:00
Zexi Li
4f5285c349 Merge pull request #18434 from ioito/hotfix/qx-clean-scheduler
Hotfix/qx clean scheduler
2023-10-26 10:06:16 +08:00
Qiu Jian
2841d6ed69 fix: support rocky linux guestfs 2023-10-26 06:43:28 +08:00
wanyaoqi
fdbbb96474 fix(region): guest start check vcpu is enough 2023-10-25 23:56:06 +08:00
wanyaoqi
1431accd84 fix(host): skip isolated device probe on kvm not support 2023-10-25 23:56:06 +08:00
wanyaoqi
78462ffecf fix(region): rebuild root update guest bios 2023-10-25 23:56:06 +08:00
ioito
9a2a192b38 fix(region): 避免频繁清理调度器缓存 2023-10-25 21:15:40 +08:00
gouqi11
fcae8612e5 fix(region): fix cloudaccount sync projectMapping (#18424)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-10-25 20:53:43 +08:00
gouqi11
da63874dc9 feat(cloudmon): support lbMetric for MetricTypeDriver (#18421)
Co-authored-by: 马鸿飞 <mahongfei@yunion.cn>
2023-10-25 20:37:57 +08:00
屈轩
5cd628517a fix(region): vendor update (#18428) 2023-10-25 19:24:32 +08:00
屈轩
d728a2bef3 fix(region): vendor update (#18425) 2023-10-25 18:24:57 +08:00
屈轩
025b5fc289 fix(region): secgroup rule fix (#18414) 2023-10-25 17:49:44 +08:00
Zexi Li
22608b4b9d Merge pull request #18420 from wanyaoqi/automated-cherry-pick-of-#18418-upstream-master
Automated cherry pick of #18418: fix(host): live migrate misc fix
2023-10-25 10:21:00 +08:00
wanyaoqi
5aeaebd9dc fix(host): live migrate misc fix 2023-10-25 01:59:32 +08:00
Zexi Li
989c83291b feat(climc): always try to print id and name firstly (#18411) 2023-10-24 21:48:46 +08:00
Qiu Jian
5e418d57c2 fix: auto sync esxi host status periodically 2023-10-24 21:47:05 +08:00
Zexi Li
523b8da96b Merge pull request #18385 from swordqiu/hotfix/qj-brand-revisit
fix: capabilities brand revisit
2023-10-24 20:01:39 +08:00
Zexi Li
a465074eb5 Merge pull request #18408 from ioito/hotfix/qx-k8s-brand
fix(region): kube cluster brand
2023-10-24 19:50:05 +08:00
ioito
036c08f4ba fix(region): kube cluster brand 2023-10-24 18:49:47 +08:00
Zexi Li
017730a5e8 Merge pull request #18396 from gouqi11/supportDirectNotificationSending
feat(notify): Allow direct notification sending
2023-10-24 15:38:54 +08:00
马鸿飞
0cd8ae2ed6 feat(notify): Allow direct notification sending 2023-10-24 15:21:00 +08:00
Zexi Li
193eba81e7 Merge pull request #18405 from zexi/automated-cherry-pick-of-#18403-upstream-master
Automated cherry pick of #18403: fix(scheduler): fetch host storages directly
2023-10-24 14:37:38 +08:00
Zexi Li
80ff0dcf3f fix(scheduler): fetch host storages directly 2023-10-24 14:28:15 +08:00
Zexi Li
63ef9ebdf4 Merge pull request #18400 from ioito/hotfix/qx-aws-eip-api
fix(region): aws eip not found error
2023-10-24 14:23:31 +08:00
ioito
179d0d4487 fix(region): aws eip not found error 2023-10-24 13:23:49 +08:00
Zexi Li
ee2ea6c8c7 Merge pull request #18393 from wanyaoqi/fix/deploy-qga-according-hypervisor
fix(host-deployer): deploy qga conf according hypervisor
2023-10-23 11:43:15 +08:00
Zexi Li
7b75f46c87 Merge pull request #18388 from wanyaoqi/automated-cherry-pick-of-#18384-upstream-master
Automated cherry pick of #18384: Automated cherry pick of #18383: fix(region,host): live migrate disk driver determines the migration mode
2023-10-23 11:18:11 +08:00
Zexi Li
d59f6e6e4c Merge pull request #18389 from ioito/hotfix/qx-baremetal-usage
fix(apigateway): baremetal usage
2023-10-23 11:16:58 +08:00
wanyaoqi
d5d0c54961 fix(host-deployer): deploy qga conf according hypervisor 2023-10-23 10:42:03 +08:00
ioito
a58b4b9b81 fix(apigateway): baremetal usage 2023-10-23 10:37:50 +08:00
Zexi Li
57ab1e652b Merge pull request #18161 from gouqi11/supportCycleHourForScheduledTask
feat(scheduledTask): support cycle_hour
2023-10-23 10:31:16 +08:00
Jian Qiu
2798bfc8fa fix: allow vmware network associate with multiple wires (#18318)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-23 10:20:15 +08:00
wanyaoqi
02f124ffa3 fix(region,host): live migrate disk driver determines the migration mode 2023-10-23 10:13:29 +08:00
Qiu Jian
7be94e37e4 fix: capabilities brand revisit 2023-10-23 10:07:09 +08:00
Jian Qiu
6a93723d8d fix: vpcagent sync error (#18381)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-23 09:27:23 +08:00
wanyaoqi
0223f9ba44 feat(region,host): cloudpods guest convert to kvm guest (#18377) 2023-10-23 09:25:41 +08:00
Zexi Li
d7b355d3f4 fix(scheduler): improve scheduler prefer and avoid tags strategy (#18372) 2023-10-20 20:46:01 +08:00
Zexi Li
88dd684a99 Merge pull request #18365 from swordqiu/hotfix/qj-auto-convert-missing-subformats
fix: auto convert missing subformat images
2023-10-20 12:28:17 +08:00
Zexi Li
7e6c6e68f4 Merge pull request #18362 from swordqiu/hotfix/qj-fail-fetch-admin-ssh-keypair
fix: fail to fetch admin ssh keypair
2023-10-20 10:35:12 +08:00
Qiu Jian
4e67db060a fix: auto convert missing subformat images 2023-10-20 10:20:38 +08:00
Qiu Jian
2d30f1bcf0 fix: fail to fetch admin ssh keypair 2023-10-20 05:41:32 +08:00
Zexi Li
6cf6cd8d6e Merge pull request #18360 from ioito/hotfix/qx-aws-lb-panic
fix(region): aws lb sync panic
2023-10-19 20:34:06 +08:00
ioito
85da2b198c fix(region): aws lb sync panic 2023-10-19 20:13:49 +08:00
Jian Qiu
f4d8afef46 fix: allow vmware network associate with multiple wires (#18318)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-19 09:15:30 +08:00
wanyaoqi
1d99d8edc5 fix(host-deployer): change netdev prefix to "en" on nics has different driver (#18331)
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
2023-10-18 20:41:05 +08:00
Jian Qiu
bb7de01d8c fix: missing project mapping body (#18352)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-18 20:39:47 +08:00
屈轩
71644db668 fix: docgengo (#18350) 2023-10-18 06:18:53 -05:00
LyndonKong
9fff0bef22 feature: add support for for VolcEngine (#18348) 2023-10-18 05:50:08 -05:00
Zexi Li
9dddc1b58d Merge pull request #18342 from swordqiu/hotfix/qj-unrecognize-anolis-os
fix: unable to recognize anolis os
2023-10-18 15:00:21 +08:00
屈轩
c8a60bec2e fix(climc): 避免climc交互模式下--help自动退出 (#18338) 2023-10-17 20:58:36 -05:00
Qiu Jian
4ef2db8f12 fix: unable to recognize anolis os 2023-10-18 01:53:18 +08:00
屈轩
3961c28168 fix(region): standardization stage name (#18299) 2023-10-18 01:26:27 +08:00
Zexi Li
111fc16f94 Merge pull request #18325 from wanyaoqi/fix/isolated_device_predicate
fix(scheduler): isolated device predicate miss sriov nic
2023-10-17 11:50:54 +08:00
wanyaoqi
8d0875f99a fix(scheduler): isolated device predicate miss sriov nic 2023-10-16 16:21:00 +08:00
Zexi Li
746fff5fb9 Merge pull request #18320 from gouqi11/supportHostNotify
fix(notify): fix role subscriber groupTimes
2023-10-16 16:04:27 +08:00
马鸿飞
7c35ea11d1 fix(notify): fix role subscriber groupTimes 2023-10-16 11:28:52 +08:00
屈轩
de0b2ae67c fix(common): distinguish system and user log by is_system_account (#18316) 2023-10-15 20:57:56 -05:00
Zexi Li
61f01b5290 Merge pull request #18315 from zexi/readme-stale-links
fix(README): stale image links
2023-10-13 19:09:47 +08:00
Zexi Li
c2951fe21d fix(README): stale image links 2023-10-13 19:08:51 +08:00
屈轩
c59a9ac5b7 fix(common): remove service default policy (#17334) 2023-10-13 14:00:48 +08:00
屈轩
8320cf5078 fix(region): show network details with dns (#18288) 2023-10-13 07:43:32 +08:00
屈轩
f5303d35c9 fix(keystone): policy result (#18284) 2023-10-13 07:30:19 +08:00
Jian Qiu
8025610b80 fix: update vendor for edito retry (#18308)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-13 07:28:49 +08:00
Jian Qiu
31511a6a69 fix: climc server-logininfo action (#18295)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-12 20:18:47 +08:00
屈轩
b7cdfd38a9 fix(region): classify invalid access key error (#18304) 2023-10-12 20:17:38 +08:00
屈轩
6dcf4c7faa fix(region): avoid ctyun signature verification failed (#18301) 2023-10-12 19:05:59 +08:00
屈轩
478df09d11 fix(region): remove ctyun useless env paramenter (#18292) 2023-10-12 17:41:01 +08:00
屈轩
7511e28f42 fix(region): aws userdata error fix (#18278) 2023-10-12 17:27:43 +08:00
Jian Qiu
328dd886c6 fix: update vendor 20231012 for sqlchemy (#18281)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-12 16:56:27 +08:00
屈轩
226688d3db fix(region): history usage (#18216) 2023-10-12 16:30:44 +08:00
Zexi Li
21d126882f Merge pull request #18267 from gouqi11/supportHostNotify
feat(notify): support db_dispatcher notify
2023-10-12 15:47:34 +08:00
马鸿飞
2d7766dc4c feat(notify): support db_dispatcher notify 2023-10-12 15:30:00 +08:00
Zexi Li
5bf9a44f8f Merge pull request #18275 from ioito/hotfix/qx-webconsole-sshkeypair
fix(region): use project sshkeypair to ssh vm
2023-10-12 14:59:35 +08:00
wanyaoqi
57a517c98d fix(host): check qga connect is closed (#18271) 2023-10-12 14:48:53 +08:00
ioito
4c2a4d0fb2 fix(region): use project sshkeypair to ssh vm 2023-10-12 14:23:17 +08:00
Zexi Li
990307c3bf Merge pull request #18264 from ioito/hotfix/qx-dns-cname-check
fix(region): dns record cname check
2023-10-11 18:09:19 +08:00
Zexi Li
6d4fb67c18 Merge pull request #18255 from zexi/automated-cherry-pick-of-#18254-upstream-master
Automated cherry pick of #18254: feat(region): filter server ip_addrs by REGEXP
2023-10-11 17:19:13 +08:00
屈轩
e84e1117da fix(region): wait vm deleted (#18261) 2023-10-11 17:18:56 +08:00
ioito
75840f53f1 fix(region): dns record cname check 2023-10-11 17:11:33 +08:00
Zexi Li
bdc7491172 Merge pull request #18250 from swordqiu/hotfix/qj-guest-start-params-revisit
fix: guest start params revisit
2023-10-11 17:10:57 +08:00
Zexi Li
250095d287 feat(region): filter server ip_addrs by REGEXP 2023-10-11 17:03:35 +08:00
屈轩
3ba9aa38b6 fix: vendor update (#18257) 2023-10-11 16:22:15 +08:00
Qiu Jian
ef226e2365 fix: guest start params revisit 2023-10-11 05:39:58 +08:00
Zexi Li
4263f9833b Merge pull request #18247 from zexi/automated-cherry-pick-of-#18246-upstream-master
Automated cherry pick of #18246: fix(monitor): select host that isn't in source hosts as target
2023-10-10 19:58:17 +08:00
Zexi Li
1d35456e71 fix(monitor): select host that isn't in source hosts as target 2023-10-10 19:49:27 +08:00
Jian Qiu
b5b951a8fd fix: allow specify desktop linux os that not allow root login (#18243)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-09 18:37:45 +08:00
wanyaoqi
9718572053 fix(host): host sysinfo metadata double quota (#18239) 2023-10-09 18:36:32 +08:00
wanyaoqi
ad31e95899 fix(host-deployer): deploy qga conf ensure /etc/sysconfig dir (#18235) 2023-10-09 12:36:24 +08:00
Jian Qiu
12451b1313 fix: handle old style auth token (#18232)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-09 12:30:08 +08:00
Jian Qiu
48df02efdc fix: unauthorized error should return 401 (#18229)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-08 21:54:05 +08:00
Jian Qiu
8c115ed012 fix: missing invalid token response (#18226)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-08 18:27:45 +08:00
Jian Qiu
8530152079 fix: shorten keystone token (#18222)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-08 11:20:28 +08:00
Zexi Li
93d801097d Merge pull request #18219 from gouqi11/supportPolicyForBucket
feat: support policy and cors for bucket
2023-10-07 17:56:21 +08:00
马鸿飞
afa6f40741 feat: support policy and cors for bucket 2023-10-07 17:41:07 +08:00
Zexi Li
ed7d42dc0c Merge pull request #18210 from ioito/hotfix/qx-vendor-update-1007
fix(region): vendor update
2023-10-07 13:17:15 +08:00
Zexi Li
ad89b0b92c Merge pull request #18207 from wanyaoqi/feat/detect-target-image-by-cloudaccount
feat(region,glance): from cloudaccount to enable vmdk target format
2023-10-07 13:15:55 +08:00
ioito
f9eb9bf022 fix(region): vendor update 2023-10-07 10:56:21 +08:00
wanyaoqi
63b7d9f58e feat(region,glance): from cloudaccount to enable vmdk target format 2023-10-07 09:40:22 +08:00
Jian Qiu
0f0e3a2e79 fix: async refresh revoked tokens (#18204)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-06 13:45:07 +08:00
Zexi Li
871030f7d7 Merge pull request #18199 from swordqiu/feature/qj-invalidate-token
feature: invalidate auth token
2023-10-05 19:22:13 +08:00
Qiu Jian
400977c27f feature: invalidate auth token 2023-10-05 03:31:24 +08:00
Zexi Li
39f7c87632 Merge pull request #18183 from swordqiu/feature/qj-suse-guest-support
feature: SUSE guest support
2023-10-04 00:38:05 +08:00
Zexi Li
921b8d93c0 Merge pull request #18198 from zexi/issue-notify-feishu
feat(actions): add issue notification
2023-10-04 00:29:05 +08:00
Zexi Li
34b1e430aa feat(actions): add issue notification 2023-10-04 00:24:31 +08:00
Zexi Li
4946751930 Merge pull request #18196 from zexi/action-issue-close
fix(actions): if not contains
2023-10-03 13:45:51 +08:00
Zexi Li
f606f089c1 fix(actions): if not contains 2023-10-03 13:44:48 +08:00
Zexi Li
993159b8b5 Merge pull request #18195 from zexi/action-issue-close
fix(actions): remove state labels when close issue hasn't stale label
2023-10-03 13:40:19 +08:00
Zexi Li
f051d8b88c fix(actions): remove state labels when close issue hasn't stale label 2023-10-03 13:39:43 +08:00
Zexi Li
9b95d477b4 Merge pull request #18194 from zexi/action-keep-state
fix(actions): support /keep-state command
2023-10-03 13:12:19 +08:00
Zexi Li
2dfd917410 fix(actions): support /keep-state command 2023-10-03 13:11:25 +08:00
Zexi Li
63509a10ad Merge pull request #18193 from zexi/action-announcement-issue
fix(actions): not mark stale label to announcement type issues
2023-10-03 12:04:59 +08:00
Zexi Li
0d2a332ed0 fix(actions): not mark stale label to announcement type issues 2023-10-03 12:03:10 +08:00
Zexi Li
d4b722ec2d Merge pull request #18192 from zexi/action-remove-stale
fix(actions): remove stale label if issue is updated
2023-10-03 11:24:13 +08:00
Zexi Li
669fc5ad74 fix(actions): remove stale label if issue is updated 2023-10-03 11:23:00 +08:00
Zexi Li
7e0b43bb13 Merge pull request #18191 from zexi/issue-helper
feat(actions): add issue actions
2023-10-02 19:35:38 +08:00
Zexi Li
280a2cff8e feat(actions): add issue actions 2023-10-02 19:34:11 +08:00
Qiu Jian
8f249b8a71 feature: SUSE guest support 2023-10-02 00:33:18 +08:00
Jian Qiu
63d6435e51 fix: rebuild root support deploy params (#18187)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-02 00:16:07 +08:00
Jian Qiu
df4649ccdd fix: host nics api (#18184)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-01 23:40:22 +08:00
Jian Qiu
3c650da60e fix: add apis for logininfo (#18180)
Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2023-10-01 23:39:50 +08:00
Zexi Li
0b8f28b684 Merge pull request #18162 from swordqiu/hotfix/qj-purge-disk-fail-get-master-host
fix: fail purge disk due to getMastHost failure
2023-09-27 22:52:20 +08:00
Zexi Li
c9475543ee Merge pull request #18170 from zexi/automated-cherry-pick-of-#18167-upstream-master
Automated cherry pick of #18167: fix(scheduler): some joint resources are not synced
2023-09-27 22:51:54 +08:00
Zexi Li
d44a408273 Merge pull request #18176 from zexi/update-issue
fix(misc): change days-before-issue-close to 7
2023-09-27 22:08:08 +08:00
Zexi Li
448c10c3d1 fix(misc): change days-before-issue-close to 7 2023-09-27 22:07:17 +08:00
Zexi Li
af3a13e08e Merge pull request #18175 from opslinux/bugfix/implement-readme
fix: readme
2023-09-27 21:59:00 +08:00
Zexi Li
14016ddccc Merge pull request #18174 from yunionio/zexi-patch-1
Update issues.yml
2023-09-27 17:55:40 +08:00
Zexi Li
806681c5e2 Update issues.yml 2023-09-27 17:55:27 +08:00
fei4.xiao
58bbdc49f6 fix: readme 2023-09-27 17:54:55 +08:00
Zexi Li
50c29af8d5 Merge pull request #18173 from zexi/issues-action
feat(misc): close inactive issues
2023-09-27 17:50:35 +08:00
Zexi Li
1dd6eeeae5 feat(misc): close inactive issues 2023-09-27 17:49:25 +08:00
Zexi Li
4cb5003e92 Merge pull request #18072 from hoganlxj/patch-1
fix(climc): delete the backup machine from the offline host
2023-09-27 17:10:46 +08:00
Zexi Li
b30d21b110 fix(scheduler): some joint resources are not synced 2023-09-27 16:54:49 +08:00
Qiu Jian
57a585149f fix: fail purge disk due to getMastHost failure 2023-09-27 14:28:48 +08:00
屈轩
6485f99763 fix(region): change project log detail (#18153) 2023-09-26 17:58:36 +08:00
Zexi Li
a9ce12e559 Merge pull request #18159 from wanyaoqi/automated-cherry-pick-of-#18156-upstream-master
Automated cherry pick of #18156: fix(region): remove ansible restart network on guest sync
2023-09-26 17:44:47 +08:00
wanyaoqi
4bbd498cf6 fix(region): remove ansible restart network on guest sync 2023-09-26 15:48:08 +08:00
Zexi Li
d13c6bd52e Merge pull request #18145 from ioito/hotfix/qx-aliyun-lb-health-check
fix(region): aliyun health check tls error
2023-09-25 16:53:40 +08:00
屈轩
d0038e14c4 fix(region): avoid panic after created vm (#18141) 2023-09-25 15:12:30 +08:00
ioito
4b4edbd571 fix(region): aliyun health check tls error 2023-09-25 15:09:56 +08:00
Zexi Li
16a74ac9b8 Merge pull request #18136 from ioito/hotfix/qx-ctx-unlock
fix(region): account ctx unlock
2023-09-22 16:49:46 +08:00
Zexi Li
7e4d6933c7 Merge pull request #18114 from ioito/hotfix/qx-network-error
fix(region): network update detail error
2023-09-22 16:48:17 +08:00
ioito
af423d529c fix(region): account ctx unlock 2023-09-22 16:21:57 +08:00
屈轩
cb16d935fb fix(region): aws disk type (#18132) 2023-09-22 14:17:20 +08:00
Zexi Li
7c627459e5 Merge pull request #18126 from zexi/hide-agent-status
fix(region): hide agent status
2023-09-22 10:44:14 +08:00
Zexi Li
f2531552e4 fix(region): hide agent status 2023-09-22 10:31:10 +08:00
ioito
b6d3b8e237 fix(region): network update detail error 2023-09-22 10:10:43 +08:00
Zexi Li
53f96bc921 Merge pull request #18124 from swordqiu/hotfix/qj-tenant-cache-convert-ids-utf8-error
fix: charset mismatch in tenant cache convert_ids
2023-09-22 07:37:58 +08:00
Qiu Jian
2606a9831a fix: charset mismatch in tenant cache convert_ids 2023-09-22 00:55:29 +08:00
Zexi Li
58b296884b Merge pull request #18096 from wanyaoqi/fix/backup-guest-prelaunch
Fix/backup guest prelaunch
2023-09-21 22:43:45 +08:00
Zexi Li
8ae6a7e67d Merge pull request #18091 from wanyaoqi/fix/insert-iso-name-not-correct
fix(host): insert iso name not correct
2023-09-21 22:41:54 +08:00
Zexi Li
df80c0e9ed Merge pull request #18080 from wanyaoqi/fix/host-delete-validate
Fix/host delete validate
2023-09-21 22:41:16 +08:00
Zexi Li
d710057616 Merge pull request #18065 from wanyaoqi/fix/cancel-migrate
fix(region,host): cancel migrate sync guest status
2023-09-21 22:40:15 +08:00
Zexi Li
89584711a8 Merge pull request #18076 from wanyaoqi/fix/guest-save-image
fix(region,host): guest save image restart not work
2023-09-21 22:38:57 +08:00
Zexi Li
bb53d8f9ae Merge pull request #17858 from 62374520/feature/implement-useQgaSetNetwork
feat(region,host,host-deployer): add qga set network
2023-09-21 20:56:10 +08:00
Zexi Li
dcca48f6fd Merge pull request #18073 from wanyaoqi/feat/host-list-filter-by-host-storage-type
feat(region): host list filter by host storage type
2023-09-21 20:54:45 +08:00
屈轩
373184c175 fix(esxi-agent): vmware hostname (#18121) 2023-09-21 20:50:11 +08:00
屈轩
ae1272f269 fix(region): cloudpods userdata (#18117) 2023-09-21 20:49:22 +08:00
屈轩
dd358e9f50 fix(region): avoid deadlock for delete account (#18099) 2023-09-21 14:56:16 +08:00
屈轩
1b7ed75430 fix(region): fix #18106 remove change chonfig stop charing restrict (#18107) 2023-09-21 14:55:09 +08:00
屈轩
38a2621c2f fix(region): guest vnc error (#18102) 2023-09-21 14:54:26 +08:00
屈轩
2348186da8 fix(region): server sku cpu arch filter (#18110) 2023-09-21 14:52:56 +08:00
wanyaoqi
40e2f60a26 fix(host): avoid panic on host record not init 2023-09-21 11:03:38 +08:00
wanyaoqi
4b2682e353 fix(host): cancel backup guest prelaunch 2023-09-20 22:25:01 +08:00
wanyaoqi
ed777b452f fix(host): insert iso name not correct 2023-09-20 21:21:29 +08:00
屈轩
afc09054b2 fix(region): kube cluster version (#18083) 2023-09-20 20:18:01 +08:00
屈轩
e26e0ec997 fix(region): vendor update (#18086) 2023-09-20 20:17:13 +08:00
wanyaoqi
1e6a1a8e9d feat(region): host list filter by host storage type 2023-09-20 19:33:26 +08:00
hoganlxj
96a9790f71 Update clean_host.sh 2023-09-20 18:18:05 +08:00
chentianxiang
4fd11f2900 feat(region,host,host-deployer):use qga set network 2023-09-20 16:25:09 +08:00
wanyaoqi
db5363d617 fix(region,host): guest save image restart not work 2023-09-20 14:45:58 +08:00
wanyaoqi
4de6df8343 fix(region): validate is reserve all cpus 2023-09-20 10:01:34 +08:00
wanyaoqi
f5cbba1b61 fix(region): host delete validate backup guests 2023-09-20 10:01:34 +08:00
wanyaoqi
7ebff96fe0 fix(region,host): cancel migrate sync guest status 2023-09-20 00:13:31 +08:00
4612 changed files with 532979 additions and 165439 deletions

View File

@@ -7,7 +7,7 @@ jobs:
requires:
- check
docker:
- image: yunion/centos-build:go-1.18.3-0
- image: yunion/centos-build:go-1.21.10-0
environment:
ONECLOUD_CI_BUILD: "1"

38
.github/workflows/ci-pr-build-test.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Building and test for PR
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Install check tools
shell: bash
run: |
set -o xtrace
git clone --branch yun --depth 4 https://github.com/yousong/tools && cd tools
go build ./cmd/goimports && sudo cp goimports /usr/bin/ && cd .. && rm -rf tools
git clone --depth 4 https://github.com/yousong/y18n && cd y18n
go build . && sudo cp y18n /usr/bin && cd .. && rm -rf y18n
- name: Test and build
shell: bash
run: |
set -o xtrace
export GO111MODULE=on
make -j3 check
make test
targets="$(find cmd -mindepth 1 -maxdepth 1 -type d | grep -v cmd/host-image | grep -v torrent)"
echo $targets | tr ' ' '\n'
make $targets
ls -lh _output/bin

View File

@@ -22,7 +22,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -24,7 +24,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -20,7 +20,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-go@v4
with:
go-version: '1.18'
go-version: '1.21'
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

View File

@@ -0,0 +1,17 @@
name: Issue Check Inactive
on:
schedule:
- cron: "0 0 * * *"
jobs:
issue-check-inactive:
runs-on: ubuntu-latest
steps:
- name: check-inactive
uses: actions-cool/issues-helper@v2
with:
actions: 'check-inactive'
inactive-label: 'stale'
inactive-day: 30
exclude-labels: 'announcement'

View File

@@ -0,0 +1,20 @@
name: Issue Close Require
on:
schedule:
- cron: "0 1 * * *"
jobs:
issue-close-require:
runs-on: ubuntu-latest
steps:
- name: need reproduce
uses: actions-cool/issues-helper@v2
with:
actions: 'close-issues'
labels: 'stale,state/awaiting user feedback'
inactive-day: 7
body: |
If you do not provide feedback for more than 37 days, we will close the issue and you can either reopen it or submit a new issue.
您超过 37 天未反馈信息,我们将关闭该 issue如有需求您可以重新打开或者提交新的 issue。

16
.github/workflows/issue-close.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Issue Close Check
on:
issues:
types: [closed]
jobs:
issue-closed-remove-labels:
runs-on: ubuntu-latest
if: "!contains(github.event.issue.labels.*.name, 'stale')"
steps:
- name: Remove statle labels when issue that hasn't stale label is closed
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'state/awaiting processing,state/awaiting user feedback'

38
.github/workflows/issue-comment.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
on:
issue_comment:
types: [created]
name: Add issues workflow labels
jobs:
add-label-if-is-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require handle label
uses: actions-cool/issues-helper@v2
with:
actions: 'add-labels'
labels: 'state/awaiting processing'
- name: Remove require reply label
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'state/awaiting user feedback,stale'
add-label-if-not-author:
runs-on: ubuntu-latest
if: (github.event.issue.user.id != github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open') && (!contains(github.event.comment.body, '/keep-state'))
steps:
- name: Add require replay label
uses: actions-cool/issues-helper@v2
with:
actions: 'add-labels'
labels: 'state/awaiting user feedback'
- name: Remove require handle label
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'state/awaiting processing,stale'

17
.github/workflows/issue-notify.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
on:
issue_comment:
types: [created]
jobs:
notify-author-comment:
runs-on: ubuntu-latest
if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request
# find context from: https://docs.github.com/en/webhooks/webhook-events-and-payloads#issue_comment
steps:
- name: feishu notify
uses: zexi/action-issues-notify@v1
with:
url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}
issue_title: "${{ github.event.comment.user.login }} 回复了 issue: ${{ github.event.issue.title }}"
issue_body: "${{ tojson(github.event.comment.body) }}"
issue_link_url: "${{github.event.comment.html_url}}"

33
.github/workflows/issue-open.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Issue Open Check
on:
issues:
types: [opened, reopened]
jobs:
issue-open-add-labels:
runs-on: ubuntu-latest
steps:
- name: Add labels
uses: actions-cool/issues-helper@v2
if: ${{ !github.event.comment.pull_request.pull_request }}
with:
actions: 'add-labels'
labels: 'state/awaiting processing'
- name: Remove require reply label
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
labels: 'state/awaiting user feedback,stale'
notify-author-comment:
runs-on: ubuntu-latest
steps:
- name: feishu notify
uses: zexi/action-issues-notify@v1
with:
url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}
issue_title: "${{ github.event.issue.user.login }} 提交了 issue: ${{ github.event.issue.title }}"
issue_body: "${{ tojson(github.event.issue.body) }}"
issue_link_url: "${{github.event.issue.html_url}}"

View File

@@ -18,7 +18,7 @@ You may answer issues at Github and help those who encounter issues when using C
## Contribute codes
You are welcome to contribute codes to Cloudpods. Please refers to [CONTRIBUTING](https://www.cloudpods.org/en/docs/contribute/contrib/) for more details on how to contribute codes to Cloudpods.
You are welcome to contribute codes to Cloudpods. Please refers to [CONTRIBUTING](https://www.cloudpods.org/en/docs/development/contrib/) for more details on how to contribute codes to Cloudpods.
### Fix Issues
@@ -29,8 +29,8 @@ You may help solve bugs by submiting patches.
You may help improve the codes of Cloudpods, including:
* Develop new features for Cloudpods
* Recode some part of Cloudpods so as to make the code easier to be understood, or less error-prone, or more efficient
* Develop new [features for Cloudpods](https://github.com/yunionio/cloudpods/issues?q=is%3Aopen+is%3Aissue+label%3Afeature).
* Recode some part of Cloudpods so as to make the code easier to be understood, or less error-prone, or more efficient.
## Documentation

View File

@@ -18,7 +18,7 @@ Cloudpods是一款开源的基础设施管理工具软件运行场景复杂
## 贡献代码
我们非常欢迎和感谢开发者向项目提交代码PR流程细节请查看 [CONTRIBUTING](https://www.cloudpods.org/zh/docs/contribute/contrib/).
我们非常欢迎和感谢开发者向项目提交代码PR流程细节请查看 [CONTRIBUTING](https://www.cloudpods.org/docs/development/contrib/).
### 修复BUG
@@ -27,8 +27,8 @@ Cloudpods是一款开源的基础设施管理工具软件运行场景复杂
### 开发新的功能特性
不仅仅是修复BUG您也可以通过提交代码以改进Cloudpods包括但不限于
* 开发新的功能特性,您可以在[Cloudpods Roadmap](https://www.cloudpods.org/zh/docs/roadmap/)找到Cloudpods的功能规划
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效
* 开发新的功能特性,您可以在[feature issues](https://github.com/yunionio/cloudpods/issues?q=is%3Aopen+is%3Aissue+label%3Afeature)查找需要的功能
* 重构代码,使得代码更加简洁易读,更加低健壮,或者执行起来更加高效
## 文档

View File

@@ -81,7 +81,7 @@ gencopyright:
@bash scripts/gencopyright.sh pkg cmd
test:
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage')
@go test $(GO_BUILD_FLAGS) $(shell go list ./... | egrep -v 'host-image|hostimage|torrent')
vet:
go vet ./...
@@ -89,11 +89,14 @@ vet:
# cmd/esxi-agent: prepare_dir
# CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/fetcherfs: prepare_dir
CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/host: prepare_dir
CGO_ENABLED=1 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/host-image: prepare_dir
CGO_ENABLED=1 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
cmd/%: prepare_dir
$(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
CGO_ENABLED=0 $(GO_BUILD) -o $(BIN_DIR)/$(shell basename $@) $(REPO_PREFIX)/$@
rpm/%: cmd/%
$(BUILD_SCRIPT) $*
@@ -282,7 +285,7 @@ dep:
@echo "$$depDeprecated"
@$(MAKE) mod
RELEASE_BRANCH:=master
RELEASE_BRANCH:=release/3.12
GOPROXY ?= direct
mod:
@@ -349,7 +352,7 @@ image:
.PHONY: image
image-telegraf-raid-plugin:
VERSION=release-1.6.4 ARCH=all make image telegraf-raid-plugin
VERSION=release-1.6.5 ARCH=all make image telegraf-raid-plugin
%:
@:

View File

@@ -8,8 +8,8 @@ endif
ModBaseName:=$(notdir $(ModName))
DockerImageRegistry?=registry.cn-beijing.aliyuncs.com
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:3.16.0-go-1.18.2-0
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:go-1.18.3-0
DockerImageAlpineBuild?=$(DockerImageRegistry)/yunionio/alpine-build:3.19.0-go-1.21.10-0
DockerImageCentOSBuild?=$(DockerImageRegistry)/yunionio/centos-build:go-1.21.10-0
EnvIf=$(if $($(1)),$(1)=$($(1)))

View File

@@ -6,7 +6,7 @@
## Cloudpods是什么?
<img src="https://www.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的云平台也就是一个“云上之云”。Cloudpods不仅可以管理本地的虚拟机和物理机资源还可以管理多个云平台和云账号。Cloudpods隐藏了这些异构基础设施资源的数据模型和API的差异对外暴露了一套统一的API允许用户就像用一个云一样地访问多云。从而大大降低了访问多云的复杂度提升了管理多云的效率。
@@ -21,184 +21,7 @@ Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的
## 功能
### 概览 & UI 展示
<details>
<summary>管理多云资源的功能可以管理大多数的主流云包括私有云例如OpenStack以及公有云例如AWSAzureGCP阿里云华为云和腾讯云等</summary>
<ul>
<li>
<p>云帐号纳管</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudselect.png" alt="multi cloud management">
</li>
<li>
<p>云帐号列表</p>
<img src="https://i.imgur.com/Q0LipfI.png" alt="cloud account list">
</li>
<li>
<p>公有云虚拟机列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/publicvmlist.png">
</li>
</ul>
</details>
<details>
<summary>
一个可以管理海量KVM虚拟机的轻量级私有云
</summary>
<ul>
<li>
<p>虚拟机列表</p>
<img src="https://i.imgur.com/DbkRUoo.png">
</li>
<li>
<p>虚拟机创建页面</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm1.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm2.png">
</li>
<li>
<p>虚拟机可通过 VNC 或者 SSH 登录</p>
<img src="https://i.imgur.com/m0rkeQ3.png">
</li>
<li>
<p>宿主机列表</p>
<img src="https://imgur.com/i509t5a.png">
</li>
<li>
<p>镜像模板列表</p>
<img src="https://imgur.com/UVFLGi2.png">
</li>
<li>
<p>VPC列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
</li>
<li>
<p>二层网络列表(经典网络)</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/wirelist.png">
</li>
<li>
<p>IP子网列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/ipsubnetlist.png">
</li>
<li>
<p>弹性公网IP列表VPC网络</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
</li>
<li>
<p>LB列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/lblist.png">
</li>
</ul>
</details>
<details>
<summary>
一个能进行物理机全生命周期管理的裸机云
</summary>
<ul>
<li>
<p>物理机列表</p>
<img src="https://i.imgur.com/Jz8b5nC.png">
</li>
<li>
<p>物理机纳管</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addphysicalmachine.png">
</li>
<li>
<p>安装操作系统</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createbaremetal.png">
</li>
<li>支持 ARM64 的物理机服务器</li>
</ul>
</details>
<details>
<summary>一套完整的多租户认证和访问控制体系</summary>
<ul>
<li>
<p>支持本地sql、LDAP 等认证源</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/idplist.png">
</li>
<li>
<p>多租户系统,包括域,项目,组,用户,角色和权限等</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/domainlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/projectlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/grouplist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/userlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/rolelist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/policylist.png">
</li>
</ul>
</details>
<details>
<summary>
实现了VMware vSphere虚拟化集群的自助服务和自动化
</summary>
<ul>
<li>
<p>添加VMware云账号</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmware.png">
</li>
<li>
<p>VMware云账号列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarelist.png">
</li>
<li>
<p>自动创建二层网络</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarewirelist.png">
</li>
<li>
<p>自动创建IP子网</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwareipsubnetlist.png">
</li>
<li>
<p>新建VMware虚拟机</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm1.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm2.png">
</li>
</ul>
</details>
<details>
<summary>
允许以统一的联邦身份访问各个云平台的原生控制台的SSO
</summary>
<ul>
<li>
<p>为云账号开启免密登录(以阿里云为例)</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/enablecloudsso.png">
</li>
<li>
<p>将Cloudpods平台用户添加为免密登录用户</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addsamluser.png">
</li>
<li>
<p>多云统一登录入口</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudssoentry.png">
</li>
<li>
<p>多云统一登录-免密登录用户列表</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudsamluser.png">
</li>
<li>
<p>Cloudpods平台用户免密登录阿里云</p>
</li>
</ul>
</details>
<details>
<summary>
一套功能丰富、统一一致的RESTAPI和模型访问以上的云资源和功能
</summary>
</details>
<details>
<summary>
自动将镜像转换为不同云平台需要的格式的多云镜像服务
</summary>
</details>
请访问[产品介绍](https://www.cloudpods.org/docs/introduction/)页面了解详细信息。
### 支持的云平台
@@ -239,7 +62,7 @@ Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的
## 安装部署
- [All in One 安装](https://www.cloudpods.org/zh/docs/quickstart/allinone/):在 CentOS 7 或 Debian 10 等发行版里搭建全功能 Cloudpods 服务,可以快速体验**内置私有云**和**多云管理**的功能。
- [All in One 安装](https://www.cloudpods.org/zh/docs/quickstart/allinone-converge/):在 CentOS 7 或 Debian 10 等发行版里搭建全功能 Cloudpods 服务,可以快速体验**内置私有云**和**多云管理**的功能。
- [Kubernetes Helm 安装](https://www.cloudpods.org/zh/docs/quickstart/k8s/):在已有 Kubernetes 集群上通过 Helm 部署一套 Cloudpods CMP 服务,可以体验**多云管理**的功能。
- [Docker Compose 安装](https://www.cloudpods.org/zh/docs/quickstart/docker-compose/):通过 Docker Compose 部署 Cloudpods CMP 服务,可以迅速体验**多云管理**的功能。
- [高可用安装](https://www.cloudpods.org/zh/docs/setup/ha-ce/):在生产环境中使用高可用的方式部署 Cloudpods 服务,包括**内置私有云**和**多云管理**的功能。
@@ -256,23 +79,11 @@ Cloudpods是一个开源的Golang实现的云原生的融合多云/混合云的
## 联系我们
您可以通过如下方式联系我们:
* [服务订阅](https://www.yunion.cn/subscription/index.html)
* 哔哩哔哩: [Cloudpods](https://space.bilibili.com/3493131737631540/)
* 微信: 请扫描如下二维码联系我们
<img src="https://www.cloudpods.org/images/contact_me_qr_20230321.png" alt="WeChat QRCode">
请查看[联系我们](https://www.cloudpods.org/docs/contact/)。
## 版本历史
访问[Cloudpods Changelog](https://www.cloudpods.org/zh/docs/changelog/).
## 开发规划
请访问[Cloudpods Roadmap](https://www.cloudpods.org/zh/docs/roadmap/).
查看[发布日志](https://www.cloudpods.org/docs/release-notes/)和[Changelog](https://www.cloudpods.org/docs/development/changelog/)
## 贡献

201
README.md
View File

@@ -8,7 +8,7 @@
## What is Cloudpods?
<img src="https://www.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
<img src="https://v1.cloudpods.org/images/cloudpods_logo_green.png" alt="Cloudpods" height="100">
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is *a cloud on clouds*. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.
@@ -23,186 +23,7 @@ Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform deve
## Features
### Summary & UI
<details>
<summary>
Multi-cloud management that is able to manage a wide range of cloud providers, including private cloud, such as OpenStack, and public clouds, such as AWS, Azure, Google Cloud, Alibaba Cloud, Tencent Cloud, Huawei Cloud, etc.
</summary>
<ul>
<li>
<p>Cloud account create form</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudselect.png" alt="multi cloud management">
</li>
<li>
<p>Cloud accounts list</p>
<img src="https://i.imgur.com/Q0LipfI.png" alt="cloud account list">
</li>
<li>
<p>Multi public cloud VM list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/publicvmlist.png">
</li>
</ul>
</details>
<details>
<summary>
A light-weight private cloud that manages KVM hypervisor in scale
</summary>
<ul>
<li>
<p>VM instances list</p>
<img src="https://i.imgur.com/DbkRUoo.png">
</li>
<li>
<p>Create VM instance form</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm1.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createkvmvm2.png">
</li>
<li>
<p>VNC and SSH login page</p>
<img src="https://i.imgur.com/m0rkeQ3.png">
</li>
<li>
<p>Host list</p>
<img src="https://imgur.com/i509t5a.png">
</li>
<li>
<p>Image template list</p>
<img src="https://imgur.com/UVFLGi2.png">
</li>
<li>
<p>VPC list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
</li>
<li>
<p>Wire list (Classic Network)</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/wirelist.png">
</li>
<li>
<p>IPsubnet list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/ipsubnetlist.png">
</li>
<li>
<p>Eip list (VPC Network)</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vpclist.png">
</li>
<li>
<p>LB list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/lblist.png">
</li>
</ul>
</details>
<details>
<summary>
A BareMetal cloud that automates the full life-cycle management of baremetal physical machines
</summary>
<ul>
<li>
<p>BareMetal list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/physicalmachinelist.png">
</li>
<li>
<p>Baremetal Management</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addphysicalmachine.png">
</li>
<li>
<p>Create OS on BareMetal</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createbaremetal.png">
</li>
<li>ARM64 baremetal supported</li>
</ul>
</details>
<details>
<summary>
A complete multi-tenancy RBAC-enabled IAM (identity and access management) system
</summary>
<ul>
<li>
<p>sql, LDAP supported</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/idplist.png">
</li>
<li>
<p>Multi-tenancy system, include domain, project, group, user, role, policy</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/domainlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/projectlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/grouplist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/userlist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/rolelist.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/policylist.png">
</ul>
</details>
<details>
<summary>
VMware vSphere management that enables self-service and automation
</summary>
<ul>
<li>
<p>Add VMware account</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmware.png">
</li>
<li>
<p>VMware account list</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarelist.png">
</li>
<li>
<p>Automatic creation of wire</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwarewirelist.png">
</li>
<li>
<p>Automatic creation of ipsubnet</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/vmwareipsubnetlist.png">
</li>
<li>
<p>Create a VMware VM instance</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm1.png">
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/createvmwarevm2.png">
</li>
</ul>
</details>
<details>
<summary>
Cloud SSO that allows accessing native webconsole of cloud providers with unified federated identities
</summary>
<ul>
<li>
<p>Enable the SSO login function of the cloud account (aliyun as an example)</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/enablecloudsso.png">
</li>
<li>
<p>create saml users</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/addsamluser.png">
</li>
<li>
<p>Cloud SSO entry</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudssoentry.png">
</li>
<li>
<p>Cloud SSO - SSO login user</p>
<img src="https://www.cloudpods.org/zh/docs/introduce/ui/images/cloudsamluser.png">
</li>
<li>
<p>Sign in to the public cloud platform with SSO</p>
</li>
</ul>
</details>
<details>
<summary>
One set of feature-rich APIs to access a wide range of resources from cloud providers above with consistent models and APIs
</summary>
</details>
<details>
<summary>
Multi-cloud image management system that automates image conversion between different cloud providers
</summary>
</details>
See [Introduction](https://www.cloudpods.org/docs/introduction/) for details.
### Supported cloud providers
@@ -243,7 +64,7 @@ Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform deve
## Getting started
- [All in One Installation](https://www.cloudpods.org/zh/docs/quickstart/allinone/)Building a full-featured Cloudpods service on linux distributions such as CentOS 7 or Debian 10 allows for a quick experience of the **built-in private cloud** and **multi-cloud management** features.
- [All in One Installation](https://www.cloudpods.org/zh/docs/quickstart/allinone-converge/)Building a full-featured Cloudpods service on linux distributions such as CentOS 7 or Debian 10 allows for a quick experience of the **built-in private cloud** and **multi-cloud management** features.
- [Kubernetes Helm Installation](https://www.cloudpods.org/zh/docs/quickstart/k8s/)Deploying the Cloudpods CMP service on an existing Kubernetes cluster using Helm and experience the **multi-cloud management** feature.
- [Docker Compose Installation](https://www.cloudpods.org/zh/docs/quickstart/docker-compose/)Deploying the Cloudpods CMP service using Docker Compose and quickly experience the **multi-cloud management** feature.
- [High availability installation](https://www.cloudpods.org/zh/docs/setup/ha-ce/)Deploying Cloudpods services in a highly available manner for production environments, including **built-in private cloud** and **multi-cloud management** features.
@@ -261,23 +82,11 @@ Please check this [issue](https://github.com/yunionio/cloudpods/issues/11427) fo
## Contact
You may contact us by:
* [Subscription](https://www.yunion.cn/subscription/index.html)
* Bilibili: [Cloudpods](https://space.bilibili.com/3493131737631540/)
* WeChat: please scan the following QRCode to contact us
<img src="https://www.cloudpods.org/images/contact_me_qr_20230321.png" alt="WeChat QRCode">
See [Contact Us](https://www.cloudpods.org/en/docs/contact/) for details.
## Changelog
See [Cloudpods Changelog](https://www.cloudpods.org/en/docs/changelog/) for details.
## Roadmap
See [Cloudpods Roadmap](https://www.cloudpods.org/en/docs/roadmap/) for details.
See [Relase Notes](https://www.cloudpods.org/en/docs/release-notes/) and [Changelog](https://www.cloudpods.org/en/docs/development/changelog/) for details.
## Contribution

View File

@@ -1,8 +1,21 @@
export PATH=/opt/yunion/bin:$PATH
if [ -f /etc/profile.d/bash_completion.sh ]; then
source /etc/profile.d/bash_completion.sh
fi
test -f /etc/yunion/rcadmin && source /etc/yunion/rcadmin
if [ -n "$OS_AUTH_TOKEN" ]; then
test -n "$OS_USERNAME" && unset OS_USERNAME
test -n "$OS_PASSWORD" && unset OS_PASSWORD
test -n "$OS_DOMAIN_NAME" && unset OS_DOMAIN_NAME
test -n "$OS_ACCESS_KEY" && unset OS_ACCESS_KEY
test -n "$OS_SECRET_KEY" && unset OS_SECRET_KEY
fi
source <(climc --completion bash)
source <(kubectl completion bash)
echo "Welcome to Cloud Shell :-) You may execute climc and other command tools in this shell."
echo "Please exec 'climc' to get started"

View File

@@ -47,6 +47,11 @@ do
climc server-purge $i > /dev/null
done
for i in $(climc server-list --admin --limit 2048 --system --filter "backup_host_id.equals($HOSTID)" | egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' | awk '{print $2}')
do
climc server-delete-backup $i > /dev/null
done
echo "3. Clean disks on $HOSTNAME($HOSTID)"
for storageid in $(climc host-storage-list --host $HOSTID --show-emulated | egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' | awk '{print $4}')

View File

@@ -0,0 +1,35 @@
<?xml version="1.0"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://www.volcengine.com/">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIDJjCCAg6gAwIBAgIUF3lH8/cdlQeyPBqt066RFnt3cI4wDQYJKoZIhvcNAQELBQAwJTEjMCEGA1UEAxMadXJuOnZvbGNlbmdpbmU6d2Vic2VydmljZXMwHhcNMjMwODA4MDIzNzI4WhcNMzMwODIxMTYwMDAwWjAlMSMwIQYDVQQDExp1cm46dm9sY2VuZ2luZTp3ZWJzZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPZ+nhODpFTe+A8PbuZYA5XDQ04WckV1A5U90tKaaUX5uKLUYfDtFA1TwMO/qG87LU/0Pxs4FhgZJkUOeBHkyYzzXZQvtfsJ9frcKkcTjX/WF4XJyitXCULSjhcclMS3gOqeI/Mo3P90KutfhNli/mAHQJaRsuPFG4ZwBusbUo8i5sqBqt/Sg8JapH7DjEU2mN1165o59gavPGSByPeEuu28EkivVFcI7Jox5ztwgMrOYY+pYP9GeSurzpyLq3CfvvahTsAJjuHDHTTnYNcq/I3VOap/y4cOU6vgxcQvBmgb+CBvGldjn0em3BIn5meQwuB6jfQ7kqBaO1PRD1nhDTMCAwEAAaNOMEwwSgYIKwYBBQUHAQEEPjA8MDoGCCsGAQUFBzABhi5odHRwOi8vbmV4dXMtcHJvZHVjdGlvbi5ieXRlZGFuY2UubmV0L3BjYS9vY3NwMA0GCSqGSIb3DQEBCwUAA4IBAQBxySDr9TPJxRN+otrFDaV8HSeFKUUSO3+r8bEVAXmS+xUsdUOZbaf2r/g+eKrW58dpn+iBWTAAKug9Jwe5KVGqB7G5r2r6k/eI5dvv5r/Fr5T7NppRCXKQTQiAhrrVlqttsagPztJ6LmVAcm4sh4Ckx99FgibQCbT/zui+c6IUyEQcVIwtmoPANl3K2Yn85t+G+Cu9xxXY0JPlZcUHntHg0R0PUWc3LuzLXnff7JWEzPyhMUBLpQk5BltxuD5cTGCA6WafJuBTAqkt48VN0MFTP5c5m3PJFz8Ro1GLY8hw1uhUEx28DKBkQSGpkZNx0oJXETIDpSBfD0dHWBvZQPd0</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>
<AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://signin.volcengine.com/saml/sso"/>
<AttributeConsumingService index="1">
<ServiceName xml:lang="en">Volcengine Single Sign-On</ServiceName>
<RequestedAttribute isRequired="true" Name="https://www.volcengine.com/SAML/Attributes/Identity" FriendlyName="Identity"/>
<RequestedAttribute isRequired="true" Name="https://www.volcengine.com/SAML/Attributes/SessionName" FriendlyName="SessionName"/>
<RequestedAttribute isRequired="false" Name="https://www.volcengine.com/SAML/Attributes/SessionDuration" FriendlyName="SessionDuration"/>
</AttributeConsumingService>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Volcengine, Inc.</OrganizationName>
<OrganizationDisplayName xml:lang="en">Volcengine</OrganizationDisplayName>
<OrganizationURL xml:lang="en">https://www.volcengine.com</OrganizationURL>
</Organization>
</EntityDescriptor>

View File

@@ -1,7 +1,7 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/ansibleserver-base:v1.1.1
# install playbook and telegraf install pkg
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.4.0 /opt/yunion/playbook /opt/yunion/playbook
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.4.0 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.2 /opt/yunion/playbook /opt/yunion/playbook
COPY --from=registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.5.2 /opt/yunion/ansible-install-pkg /opt/yunion/ansible-install-pkg
ADD ./_output/alpine-build/bin/ansibleserver /opt/yunion/bin/ansibleserver

View File

@@ -9,12 +9,20 @@ RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /e
# openssh-client, for ansible ssh connection
# git, ca-certificates, for fetching ansible roles
RUN set -x \
&& apk update \
&& apk add openssh-client \
&& apk add sshpass \
&& apk add ansible \
&& apk add py3-pip \
&& apk add tzdata git ca-certificates \
&& rm -rf /var/cache/apk/*
&& apk update \
&& apk add openssh-client \
&& apk add sshpass \
&& apk add py3-pip \
&& apk add tzdata git ca-certificates
RUN pip3 install pywinrm
RUN apk add --no-cache openssh openssl curl rsync pv mariadb-client
RUN apk add --no-cache --virtual .build-dependencies \
libffi-dev openssl-dev python3-dev build-base py-setuptools rust cargo mariadb-dev
# ansible should be installed
# after setuptools and wheel
RUN pip3 install -U pip setuptools wheel \
&& pip3 install paramiko mysqlclient pywinrm \
&& pip3 install 'ansible<=9.0.0' \
&& apk del --no-network .build-dependencies \
&& rm -rf /root/.cache /root/.cargo /var/cache/apk/*

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20230812.0
FROM registry.cn-beijing.aliyuncs.com/yunionio/baremetal-base:v0.3.9-20231219.0
MAINTAINER "Zexi Li <lizexi@yunionyun.com>"

View File

@@ -1,7 +1,7 @@
#FROM --platform=linux/amd64 registry.cn-beijing.aliyuncs.com/yunionio/centos-build:1.1-4 as build
#RUN yum install -y https://iso.yunion.cn/vm-images/baremetal-pxerom-1.1.0-21092209.x86_64.rpm
#RUN yum install -y http://192.168.23.50:8083/baremetal-pxerom-1.1.0-21092209.x86_64.rpm
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunionos:v0.1.8-20230812.0 as yunionos
FROM registry.cn-beijing.aliyuncs.com/yunionio/yunionos:v3.10.8-20231215.0 as yunionos
FROM centos:8 as grub-stage

View File

@@ -0,0 +1,6 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.3.5-1
ADD ./_output/alpine-build/bin/dhcprelay /opt/yunion/bin/dhcprelay
ENV PATH $PATH:/opt/yunion/bin
WORKDIR /opt/yunion/bin

View File

@@ -1,3 +1,5 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/file-repo:v0.4.0 as file-repo
FROM registry.cn-beijing.aliyuncs.com/yunionio/onecloud-base:v0.2
MAINTAINER "Rain Zheng <zhengyu@yunion.com>"
@@ -11,12 +13,13 @@ RUN set -x \
# install default playbook and install pkg
Run mkdir -p /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~be742cbf-0.x86_64.rpm -P /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~be742cbf-0.aarch64.rpm -P /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf_1.19.2-yn~be742cbf-0_arm64.deb -P /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf_1.19.2-yn~be742cbf-0_amd64.deb -P /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~be742cbf_windows_amd64.zip -P /opt/yunion/ansible-install-pkg
Run wget https://yunioniso.oss-cn-beijing.aliyuncs.com/rpms/telegraf/telegraf-1.19.2-yn~be742cbf_windows_i386.zip -P /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf-0.x86_64.rpm /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf-0.aarch64.rpm /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf_1.19.2-yn~be742cbf-0_arm64.deb /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf_1.19.2-yn~be742cbf-0_amd64.deb /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf_windows_amd64.zip /opt/yunion/ansible-install-pkg
COPY --from=file-repo /opt/yunion/ansible-install-pkg/telegraf-1.19.2-yn~be742cbf_windows_i386.zip /opt/yunion/ansible-install-pkg
Run mkdir -p /opt/yunion/playbook
Run mkdir /opt/yunion/playbook/monitor-agent

View File

@@ -0,0 +1,214 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
#
# Dockerfile for guacamole-server
#
# The Alpine Linux image that should be used as the basis for the guacd image
ARG ALPINE_BASE_IMAGE=latest
FROM alpine:${ALPINE_BASE_IMAGE} AS builder
ARG TARGETPLATFORM
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
# Install build dependencies
RUN apk add --no-cache \
autoconf \
automake \
build-base \
cairo-dev \
cmake \
cunit-dev \
git \
grep \
libjpeg-turbo-dev \
libpng-dev \
libtool \
libwebp-dev \
make \
openssl1.1-compat-dev \
pango-dev \
pulseaudio-dev \
util-linux-dev
# Copy source to container for sake of build
ARG BUILD_DIR=/tmp/guacamole-server
ARG GUAC_VER=1.5.3
RUN git clone --branch=${GUAC_VER} https://github.com/apache/guacamole-server.git /tmp/guacamole-server
#
# Base directory for installed build artifacts.
#
# NOTE: Due to limitations of the Docker image build process, this value is
# duplicated in an ARG in the second stage of the build.
#
ARG PREFIX_DIR=/opt/guacamole
#
# Automatically select the latest versions of each core protocol support
# library (these can be overridden at build time if a specific version is
# needed)
#
ARG WITH_FREERDP='2(\.\d+)+'
ARG WITH_LIBSSH2='libssh2-\d+(\.\d+)+'
ARG WITH_LIBTELNET='\d+(\.\d+)+'
ARG WITH_LIBVNCCLIENT='LibVNCServer-\d+(\.\d+)+'
ARG WITH_LIBWEBSOCKETS='v\d+(\.\d+)+'
#
# Default build options for each core protocol support library, as well as
# guacamole-server itself (these can be overridden at build time if different
# options are needed)
#
ARG FREERDP_OPTS="\
-DBUILTIN_CHANNELS=OFF \
-DCHANNEL_URBDRC=OFF \
-DWITH_ALSA=OFF \
-DWITH_CAIRO=ON \
-DWITH_CHANNELS=ON \
-DWITH_CLIENT=ON \
-DWITH_CUPS=OFF \
-DWITH_DIRECTFB=OFF \
-DWITH_FFMPEG=OFF \
-DWITH_GSM=OFF \
-DWITH_GSSAPI=OFF \
-DWITH_IPP=OFF \
-DWITH_JPEG=ON \
-DWITH_LIBSYSTEMD=OFF \
-DWITH_MANPAGES=OFF \
-DWITH_OPENH264=OFF \
-DWITH_OPENSSL=ON \
-DWITH_OSS=OFF \
-DWITH_PCSC=OFF \
-DWITH_PULSE=OFF \
-DWITH_SERVER=OFF \
-DWITH_SERVER_INTERFACE=OFF \
-DWITH_SHADOW_MAC=OFF \
-DWITH_SHADOW_X11=OFF \
-DWITH_SSE2=ON \
-DWITH_WAYLAND=OFF \
-DWITH_X11=OFF \
-DWITH_X264=OFF \
-DWITH_XCURSOR=ON \
-DWITH_XEXT=ON \
-DWITH_XI=OFF \
-DWITH_XINERAMA=OFF \
-DWITH_XKBFILE=ON \
-DWITH_XRENDER=OFF \
-DWITH_XTEST=OFF \
-DWITH_XV=OFF \
-DWITH_ZLIB=ON"
ARG GUACAMOLE_SERVER_OPTS="\
--disable-guaclog"
ARG LIBSSH2_OPTS="\
-DBUILD_EXAMPLES=OFF \
-DBUILD_SHARED_LIBS=ON"
ARG LIBTELNET_OPTS="\
--disable-static \
--disable-util"
ARG LIBVNCCLIENT_OPTS=""
ARG LIBWEBSOCKETS_OPTS="\
-DDISABLE_WERROR=ON \
-DLWS_WITHOUT_SERVER=ON \
-DLWS_WITHOUT_TESTAPPS=ON \
-DLWS_WITHOUT_TEST_CLIENT=ON \
-DLWS_WITHOUT_TEST_PING=ON \
-DLWS_WITHOUT_TEST_SERVER=ON \
-DLWS_WITHOUT_TEST_SERVER_EXTPOLL=ON \
-DLWS_WITH_STATIC=OFF"
# Build guacamole-server and its core protocol library dependencies
RUN echo "$TARGETPLATFORM"
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; \
then FREERDP_OPTS="${FREERDP_OPTS} -DWITH_SSE2=ON" && echo "SSE2 active"; \
else FREERDP_OPTS="${FREERDP_OPTS} -DWITH_SSE2=OFF" && echo "SSE2 disabled"; \
fi && ${BUILD_DIR}/src/guacd-docker/bin/build-all.sh
# Record the packages of all runtime library dependencies
RUN ${BUILD_DIR}/src/guacd-docker/bin/list-dependencies.sh \
${PREFIX_DIR}/sbin/guacd \
${PREFIX_DIR}/lib/libguac-client-*.so \
${PREFIX_DIR}/lib/freerdp2/*guac*.so \
> ${PREFIX_DIR}/DEPENDENCIES
# Use same Alpine version as the base for the runtime image
FROM alpine:${ALPINE_BASE_IMAGE}
RUN sed -i 's!https://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories
#
# Base directory for installed build artifacts. See also the
# CMD directive at the end of this build stage.
#
# NOTE: Due to limitations of the Docker image build process, this value is
# duplicated in an ARG in the first stage of the build.
#
ARG PREFIX_DIR=/opt/guacamole
# Runtime environment
ENV LC_ALL=C.UTF-8
ENV LD_LIBRARY_PATH=${PREFIX_DIR}/lib
ENV GUACD_LOG_LEVEL=info
# Copy build artifacts into this stage
COPY --from=builder ${PREFIX_DIR} ${PREFIX_DIR}
# Bring runtime environment up to date and install runtime dependencies
RUN apk add --no-cache \
ca-certificates \
ghostscript \
netcat-openbsd \
shadow \
terminus-font \
ttf-dejavu \
ttf-liberation \
util-linux-login && \
xargs apk add --no-cache < ${PREFIX_DIR}/DEPENDENCIES
# Checks the operating status every 5 minutes with a timeout of 5 seconds
HEALTHCHECK --interval=5m --timeout=5s CMD nc -z 127.0.0.1 4822 || exit 1
# Create a new user guacd
ARG UID=1000
ARG GID=1000
RUN groupadd --gid $GID guacd
RUN useradd --system --create-home --shell /sbin/nologin --uid $UID --gid $GID guacd
RUN mkdir -p /opt/cloudpods
RUN chown -R guacd:guacd /opt/cloudpods
# Run with user guacd
USER guacd
# Expose the default listener port
EXPOSE 4822
# Start guacd, listening on port 0.0.0.0:4822
#
# Note the path here MUST correspond to the value specified in the
# PREFIX_DIR build argument.
#
CMD /opt/guacamole/sbin/guacd -b 0.0.0.0 -L $GUACD_LOG_LEVEL -f

View File

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

View File

@@ -15,7 +15,7 @@ onecloud-base:
onecloud-base-3-15-4:
$(DOCKER_BUILDX)/onecloud-base:$(ONECLOUD_BASE_VERSION_3-15-4) -f ./Dockerfile.onecloud-base-3-15-4 .
ANSIBLESERVER_BASE = v1.1.1
ANSIBLESERVER_BASE = v1.1.2
ansibleserver-base:
$(DOCKER_BUILDX)/ansibleserver-base:$(ANSIBLESERVER_BASE) -f ./Dockerfile.ansibleserver-base .
@@ -30,7 +30,7 @@ WEBCONSOLE_BASE_VERSION = 20230731.2
webconsole-base:
$(DOCKER_BUILDX)/webconsole-base:$(WEBCONSOLE_BASE_VERSION) -f ./Dockerfile.webconsole-base .
BAREMETAL_BASE_VERSION = v0.3.9-20230812.0
BAREMETAL_BASE_VERSION = v0.3.9-20231219.1
baremetal-base:
$(DOCKER_BUILDX)/baremetal-base:$(BAREMETAL_BASE_VERSION) -f ./Dockerfile.baremetal-base .
@@ -44,7 +44,7 @@ GLANCE_BASE_VERSION = v0.0.1
glance-base:
$(DOCKER_BUILDX)/glance-base:$(GLANCE_BASE_VERSION) -f ./Dockerfile.glance-base .
FILE_REPO_VERSION = v0.3.3
FILE_REPO_VERSION = v0.5.2
file-repo:
$(DOCKER_BUILDX)/file-repo:$(FILE_REPO_VERSION) -f ./Dockerfile.file-repo .
@@ -64,3 +64,13 @@ host-image:
LBAGENT_BASE_VERSION = v0.0.3
lbagent-base:
$(DOCKER_BUILDX)/lbagent-base:$(LBAGENT_BASE_VERSION) -f ./Dockerfile.lbagent-base .
GUACD_VERSION=1.5.3
guacd:
docker buildx build --platform linux/arm64 --push \
-t registry.cn-beijing.aliyuncs.com/yunionio/guacd:$(GUACD_VERSION)-arm64 -f ./Dockerfile.guacd .
docker buildx build --platform linux/amd64 --push \
-t registry.cn-beijing.aliyuncs.com/yunionio/guacd:$(GUACD_VERSION)-amd64 -f ./Dockerfile.guacd .
docker buildx imagetools create -t registry.cn-beijing.aliyuncs.com/yunionio/guacd:$(GUACD_VERSION) \
registry.cn-beijing.aliyuncs.com/yunionio/guacd:$(GUACD_VERSION)-amd64 \
registry.cn-beijing.aliyuncs.com/yunionio/guacd:$(GUACD_VERSION)-arm64

View File

@@ -1,4 +1,4 @@
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.16.0-go-1.18.2-0 as build
FROM registry.cn-beijing.aliyuncs.com/yunionio/alpine-build:3.19.0-go-1.21.10-0 as build
ARG TARGETPLATFORM
ARG BUILDPLATFORM
RUN mkdir -p /root/go/src/yunion.io/x/onecloud

View File

@@ -3,7 +3,7 @@
触发时间: {{.start_time}}
报警级别: {{.level}}
触发条件: {{.description | unescaped}}
资源数量:{{len .matches}}
报警数量:{{len .matches}}
资源名称:{{.resource_name}}
详情地址: {{.web_url}}

View File

@@ -108,6 +108,7 @@
<td>名称</td>
<td>IP</td>
<td>平台</td>
<td>指标</td>
<td>触发值</td>
</tr>
</thead>
@@ -124,7 +125,8 @@
<td>
{{ index .tags "brand" }}
</td>
<td>{{$Matche.value_str}}</td>
<td>{{ $Matche.metric }}</td>
<td>{{ $Matche.value_str }}</td>
</tr>
{{end}}
</tbody>

View File

@@ -3,7 +3,7 @@ AlertName: {{.name}}
Time: {{.start_time}}
Level: {{.level}}
TriggerCondition: {{.description | unescaped}}
ResourceCount: {{len .matches}}
AlertCount: {{len .matches}}
ResourceName: {{.resource_name}}
WebUrl: {{.web_url}}

View File

@@ -108,6 +108,7 @@
<td>Name</td>
<td>IP</td>
<td>Brand</td>
<td>Metric</td>
<td>Trigger value</td>
</tr>
</thead>
@@ -124,7 +125,8 @@
<td>
{{ index .tags "brand" }}
</td>
<td>{{$Matche.value_str}}</td>
<td>{{ $Matche.metric }}</td>
<td>{{ $Matche.value_str }}</td>
</tr>
{{end}}
</tbody>

View File

@@ -35,4 +35,5 @@ func init() {
cmd.Perform("set-users", &cloudid.CloudgroupUserOptions{})
cmd.Perform("public", &cloudid.CloudgroupPublicOptions{})
cmd.Perform("private", &cloudid.CloudgroupIdOptions{})
cmd.Get("saml", &cloudid.CloudgroupIdOptions{})
}

View File

@@ -1,29 +0,0 @@
// 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 cloudid
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/cloudid"
"yunion.io/x/onecloud/pkg/mcclient/options/cloudid"
)
func init() {
cmd := shell.NewResourceCmd(&modules.Cloudgroupcaches).WithKeyword("cloud-group-cache")
cmd.List(&cloudid.CloudgroupcacheListOptions{})
cmd.Show(&cloudid.CloudgroupcacheIdOption{})
cmd.Delete(&cloudid.CloudgroupcacheIdOption{})
cmd.Perform("syncstatus", &cloudid.CloudgroupcacheIdOption{})
}

View File

@@ -25,5 +25,4 @@ func init() {
cmd.List(&cloudid.CloudroleListOptions{})
cmd.Delete(&cloudid.CloudroleIdOptions{})
cmd.Show(&cloudid.CloudroleIdOptions{})
cmd.Perform("purge", &cloudid.CloudroleIdOptions{})
}

View File

@@ -30,14 +30,13 @@ func init() {
cmd.Show(&cloudid.ClouduserIdOption{})
cmd.Custom(shell.CustomActionGet, "login-info", &cloudid.ClouduserIdOption{})
cmd.Delete(&cloudid.ClouduserIdOption{})
cmd.Perform("sync", &cloudid.ClouduserSyncOptions{})
cmd.Perform("syncstatus", &cloudid.ClouduserIdOption{})
cmd.Perform("attach-policy", &cloudid.ClouduserPolicyOptions{})
cmd.Perform("detach-policy", &cloudid.ClouduserPolicyOptions{})
cmd.Perform("change-owner", &cloudid.ClouduserChangeOwnerOptions{})
cmd.Perform("reset-password", &cloudid.ClouduserResetPasswordOptions{})
cmd.Perform("cloud-user-join-group", &cloudid.ClouduserGroupOptions{})
cmd.Perform("cloud-user-leave-group", &cloudid.ClouduserGroupOptions{})
cmd.Perform("join-group", &cloudid.ClouduserGroupOptions{})
cmd.Perform("leave-group", &cloudid.ClouduserGroupOptions{})
cmd.GetWithCustomShow("access-keys", func(result jsonutils.JSONObject) {
ret := modulebase.JSON2ListResult(result)
shell.PrintList(ret, nil)

View File

@@ -25,6 +25,6 @@ func init() {
cmd := shell.NewResourceCmd(&modules.AccessGroups).WithKeyword("access-group")
cmd.List(&compute.AccessGroupListOptions{})
cmd.Delete(&options.BaseIdOptions{})
cmd.Create(&options.BaseCreateOptions{})
cmd.Create(&compute.AccessGroupCreateOptions{})
cmd.Perform("syncstatus", &options.BaseIdOptions{})
}

View File

@@ -25,6 +25,10 @@ func init() {
cmd.List(&compute.AppListOptions{})
cmd.Show(&compute.AppIdOptions{})
cmd.Perform("syncstatus", &compute.AppIdOptions{})
cmd.Get("hybird-connections", &compute.AppIdOptions{})
cmd.Get("certificates", &compute.AppIdOptions{})
cmd.Get("backups", &compute.AppIdOptions{})
cmd.Get("custom-domains", &compute.AppIdOptions{})
cmd1 := shell.NewResourceCmd(&modules.AppEnvironments)
cmd1.List(&compute.AppEnvironmentListOptions{})

View File

@@ -26,6 +26,7 @@ func init() {
bsCmd.List(&compute.BackupStorageListOptions{})
bsCmd.Show(&compute.BackupStorageIdOptions{})
bsCmd.Create(&compute.BackupStorageCreateOptions{})
bsCmd.Update(&compute.BackupStorageUpdateOptions{})
bsCmd.Delete(&compute.BackupStorageIdOptions{})
bsCmd.Perform("public", &options.BasePublicOptions{})
bsCmd.Perform("private", &options.BaseIdOptions{})
@@ -49,4 +50,10 @@ func init() {
ibCmd.Create(&compute.InstanceBackupManagerCreateFromPackageOptions{})
ibCmd.Perform("syncstatus", &compute.DiskBackupSyncstatusOptions{})
ibCmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
hbsCmd := shell.NewJointCmd(&modules.HostBackupstorages)
hbsCmd.List(&compute.HostBackupStorageListOptions{})
hbsCmd.Show(&compute.HostBackupStorageJoinOptions{})
hbsCmd.Attach(&compute.HostBackupStorageJoinOptions{})
hbsCmd.Detach(&compute.HostBackupStorageJoinOptions{})
}

View File

@@ -0,0 +1,50 @@
// 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/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
baremetalmodules "yunion.io/x/onecloud/pkg/mcclient/modules/compute/baremetal"
baremetaloptions "yunion.io/x/onecloud/pkg/mcclient/options/compute/baremetal"
)
func init() {
cmd := shell.NewResourceCmd(&baremetalmodules.BaremetalProfiles)
cmd.List(new(baremetaloptions.BaremetalProfileListOptions))
cmd.Show(new(baremetaloptions.BaremetalProfileIdOptions))
cmd.Delete(new(baremetaloptions.BaremetalProfileIdOptions))
type BaremetalProfileMatchOpts struct {
OEMNAME string
MODEL string
}
R(&BaremetalProfileMatchOpts{}, "baremetal-profile-match", "find match baremetal profile by oemname and model", func(s *mcclient.ClientSession, args *BaremetalProfileMatchOpts) error {
specs, err := baremetalmodules.BaremetalProfiles.GetMatchProfiles(s, args.OEMNAME, args.MODEL)
if err != nil {
return errors.Wrap(err, "GetMatchProfiles")
}
listResults := printutils.ListResult{}
for _, spec := range specs {
listResults.Data = append(listResults.Data, jsonutils.Marshal(spec))
}
printList(&listResults, nil)
return nil
})
}

View File

@@ -15,62 +15,17 @@
package compute
import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
opts "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type CachedImageListOptions struct {
options.BaseListOptions
ImageType string `help:"image type" choices:"system|customized|shared|market"`
Region string `help:"show images cached at cloud region"`
Zone string `help:"show images cached at zone"`
HostSchedtagId string `help:"filter cached image with host schedtag"`
Valid *bool `help:"valid cachedimage"`
}
R(&CachedImageListOptions{}, "cached-image-list", "List cached images", func(s *mcclient.ClientSession, args *CachedImageListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.Cachedimages.List(s, params)
if err != nil {
return err
}
printList(result, modules.Cachedimages.GetColumns(s))
return nil
})
type CachedImageShowOptions struct {
ID string `help:"ID or Name of the cached image to show"`
}
R(&CachedImageShowOptions{}, "cached-image-show", "Show cached image details", func(s *mcclient.ClientSession, args *CachedImageShowOptions) error {
result, err := modules.Cachedimages.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&CachedImageShowOptions{}, "cached-image-refresh", "Refresh cached image details", func(s *mcclient.ClientSession, args *CachedImageShowOptions) error {
result, err := modules.Cachedimages.PerformAction(s, args.ID, "refresh", nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type CachedImageDeleteOptions struct {
ID []string `help:"ID or Name of the cached image to show"`
}
R(&CachedImageDeleteOptions{}, "cached-image-delete", "Remove cached image information", func(s *mcclient.ClientSession, args *CachedImageDeleteOptions) error {
results := modules.Cachedimages.BatchDelete(s, args.ID, nil)
printBatchResults(results, modules.Cachedimages.GetColumns(s))
return nil
})
cmd := shell.NewResourceCmd(&modules.Cachedimages).WithKeyword("cached-image")
cmd.List(&options.CachedImageListOptions{})
cmd.Show(&opts.BaseIdOptions{})
cmd.PerformClass("cache-image", &options.CachedImageCacheImageOptions{})
cmd.Perform("refresh", &opts.BaseIdOptions{})
cmd.BatchDelete(&opts.BaseIdsOptions{})
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -41,6 +41,7 @@ func init() {
cmd.CreateWithKeyword("create-hcs", &options.SHCSAccountCreateOptions{})
cmd.CreateWithKeyword("create-hcsop", &options.SHcsOpCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-ucloud", &options.SUcloudCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-volcengine", &options.SVolcengineCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-zstack", &options.SZStackCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-s3", &options.SS3CloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-ceph", &options.SCephCloudAccountCreateOptions{})
@@ -59,6 +60,8 @@ func init() {
cmd.CreateWithKeyword("create-baidu", &options.SBaiduCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-cucloud", &options.SCucloudCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-qingcloud", &options.SQingCloudCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-oracle", &options.SOracleCloudAccountCreateOptions{})
cmd.CreateWithKeyword("create-cephfs", &options.SCephFSCloudAccountCreateOptions{})
cmd.UpdateWithKeyword("update-vmware", &options.SVMwareCloudAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-aliyun", &options.SAliyunCloudAccountUpdateOptions{})
@@ -71,6 +74,7 @@ func init() {
cmd.UpdateWithKeyword("update-hcso", &options.SHCSOAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-hcs", &options.SHCSAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-ucloud", &options.SUcloudCloudAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-volcengine", &options.SVolcengineCloudAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-zstack", &options.SZStackCloudAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-s3", &options.SS3CloudAccountUpdateOptions{})
cmd.UpdateWithKeyword("update-ctyun", &options.SCtyunCloudAccountUpdateOptions{})
@@ -99,6 +103,7 @@ func init() {
cmd.PerformWithKeyword("update-credential-hcso", "update-credential", &options.SHCSOAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-hcs", "update-credential", &options.SHCSOAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-ucloud", "update-credential", &options.SUcloudCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-volcengine", "update-credential", &options.SVolcengineCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-zstack", "update-credential", &options.SZStackCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-s3", "update-credential", &options.SS3CloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("update-credential-ctyun", "update-credential", &options.SCtyunCloudAccountUpdateCredentialOptions{})
@@ -122,6 +127,7 @@ func init() {
cmd.PerformWithKeyword("test-connectivity-openstack", "test-connectivity", &options.SOpenStackCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-huawei", "test-connectivity", &options.SHuaweiCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-ucloud", "test-connectivity", &options.SUcloudCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-volcengine", "test-connectivity", &options.SVolcengineCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-zstack", "test-connectivity", &options.SZStackCloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-s3", "test-connectivity", &options.SS3CloudAccountUpdateCredentialOptions{})
cmd.PerformWithKeyword("test-connectivity-ctyun", "test-connectivity", &options.SCtyunCloudAccountUpdateCredentialOptions{})
@@ -145,5 +151,4 @@ func init() {
cmd.Get("change-owner-candidate-domains", &options.SCloudAccountIdOptions{})
cmd.Get("enrollment-accounts", &options.SCloudAccountIdOptions{})
cmd.Get("balance", &options.SCloudAccountIdOptions{})
cmd.Get("saml", &options.SCloudAccountIdOptions{})
}

View File

@@ -38,7 +38,7 @@ func init() {
Usable *bool `help:"List regions where networks are usable"`
UsableVpc *bool `help:"List regions where VPC are usable"`
Service string `help:"List regions which service has available skus" choices:"dbinstances|servers"`
Service string `help:"List regions which service has available skus" choices:"dbinstances|servers|elasticcaches"`
City string `help:"List regions in the specified city"`

View File

@@ -0,0 +1,112 @@
// 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 (
"fmt"
"io/ioutil"
"os"
"os/exec"
"github.com/ghodss/yaml"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/onecloud/cmd/climc/shell"
computeapi "yunion.io/x/onecloud/pkg/apis/compute"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.Containers)
cmd.Create(new(options.ContainerCreateOptions))
cmd.List(new(options.ContainerListOptions))
cmd.Show(new(options.ContainerShowOptions))
cmd.BatchDelete(new(options.ContainerDeleteOptions))
cmd.BatchPerform("stop", new(options.ContainerStopOptions))
cmd.BatchPerform("start", new(options.ContainerStartOptions))
cmd.BatchPerform("syncstatus", new(options.ContainerIdsOptions))
type UpdateSpecOptions struct {
ID string `help:"ID or name of server" json:"-"`
}
R(&UpdateSpecOptions{}, "container-update-spec", "Update spec of a container", func(s *mcclient.ClientSession, opts *UpdateSpecOptions) error {
result, err := modules.Containers.Get(s, opts.ID, nil)
if err != nil {
return errors.Wrap(err, "get container id")
}
yamlBytes := result.YAMLString()
tempfile, err := ioutil.TempFile("", fmt.Sprintf("container-%s*.yaml", opts.ID))
if err != nil {
return err
}
defer os.Remove(tempfile.Name())
if _, err := tempfile.Write([]byte(yamlBytes)); err != nil {
return err
}
if err := tempfile.Close(); err != nil {
return err
}
cmd := exec.Command("vim", tempfile.Name())
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil {
return err
}
content, err := ioutil.ReadFile(tempfile.Name())
if err != nil {
return err
}
jsonBytes, err := yaml.YAMLToJSON(content)
if err != nil {
return err
}
body, err := jsonutils.Parse(jsonBytes)
if err != nil {
return err
}
if _, err := modules.Containers.Update(s, opts.ID, body); err != nil {
return errors.Wrap(err, "update spec")
}
return nil
})
type SetSpecOptions struct {
ID string `help:"ID or name of server" json:"-"`
EnableSimulateCpu bool `help:"Enable simulating /sys/devices/system/cpu directory"`
}
R(&SetSpecOptions{}, "container-set-spec", "Set spec of a container", func(s *mcclient.ClientSession, opts *SetSpecOptions) error {
result, err := modules.Containers.Get(s, opts.ID, nil)
if err != nil {
return errors.Wrap(err, "get container id")
}
spec := new(computeapi.ContainerSpec)
if err := result.Unmarshal(spec, "spec"); err != nil {
return errors.Wrap(err, "unmarshal to spec")
}
spec.SimulateCpu = opts.EnableSimulateCpu
result.(*jsonutils.JSONDict).Set("spec", jsonutils.Marshal(spec))
if _, err := modules.Containers.Update(s, opts.ID, result); err != nil {
return errors.Wrap(err, "update spec")
}
return nil
})
}

View File

@@ -17,13 +17,14 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.DBInstanceAccounts).WithKeyword("dbinstance-account")
cmd.List(&options.DBInstanceAccountListOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Show(&options.DBInstanceAccountIdOptions{})
cmd.Delete(&options.DBInstanceAccountIdOptions{})
}

View File

@@ -17,13 +17,14 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.DBInstanceDatabases).WithKeyword("dbinstance-database")
cmd.List(&options.DBInstanceDatabaseListOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Delete(&options.DBInstanceDatabaseIdOptions{})
cmd.Show(&options.DBInstanceDatabaseIdOptions{})
cmd.Create(&options.DBInstanceDatabaseCreateOptions{})

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -41,46 +41,10 @@ import (
func init() {
cmd := shell.NewResourceCmd(&modules.Disks)
cmd.List(&compute_options.DiskListOptions{})
cmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
type DiskListOptions struct {
options.BaseListOptions
Unused *bool `help:"Show unused disks"`
Share *bool `help:"Show Share storage disks"`
Local *bool `help:"Show Local storage disks"`
Guest string `help:"Guest ID or name"`
GuestStatus string `help:"Guest Status"`
OrderByServer string `help:"Order By Server"`
Storage string `help:"Storage ID or name"`
Type string `help:"Disk type" choices:"sys|data|swap|volume"`
CloudType string `help:"Public cloud or private cloud" choices:"Public|Private"`
OrderByGuestCount string `help:"Order By Guest Count"`
BillingType string `help:"billing type" choices:"postpaid|prepaid"`
SnapshotpolicyId string `help:"snapshotpolicy id"`
}
R(&DiskListOptions{}, "disk-list", "List virtual disks", func(s *mcclient.ClientSession, opts *DiskListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
if len(opts.CloudType) > 0 {
if opts.CloudType == "Public" {
params.Add(jsonutils.JSONTrue, "public_cloud")
} else if opts.CloudType == "Private" {
params.Add(jsonutils.JSONTrue, "private_cloud")
}
}
result, err := modules.Disks.List(s, params)
if err != nil {
return err
}
printList(result, modules.Disks.GetColumns(s))
return nil
})
cmd.Perform("rebuild", &options.ResourceIdOptions{})
cmd.Perform("migrate", &compute_options.DiskMigrateOptions{})
type DiskDetailOptions struct {
ID string `help:"ID or Name of disk"`
@@ -172,7 +136,7 @@ func init() {
Desc string `help:"Description" metavar:"DESCRIPTION"`
AutoDelete string `help:"enable/disable auto delete of disk" choices:"enable|disable"`
AutoSnapshot string `help:"enable/disable auto snapshot of disk" choices:"enable|disable"`
DiskType string `help:"Disk type" choices:"data|volume"`
DiskType string `help:"Disk type" choices:"data|volume|sys"`
IsSsd *bool `help:"mark disk as ssd" negative:"no-is-ssd"`
}
R(&DiskUpdateOptions{}, "disk-update", "Update property of a virtual disk", func(s *mcclient.ClientSession, args *DiskUpdateOptions) error {

View File

@@ -22,6 +22,7 @@ import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
@@ -32,6 +33,8 @@ func init() {
cmd.ClassShow(&compute.DnsZoneCapabilitiesOptions{})
cmd.Delete(&compute.SDnsZoneIdOptions{})
cmd.Create(&compute.DnsZoneCreateOptions{})
cmd.Perform("public", &options.BasePublicOptions{})
cmd.Perform("private", &options.BaseIdOptions{})
cmd.Perform("syncstatus", &compute.SDnsZoneIdOptions{})
cmd.Perform("purge", &compute.SDnsZoneIdOptions{})
cmd.Perform("add-vpcs", &compute.DnsZoneAddVpcsOptions{})

View File

@@ -41,7 +41,7 @@ func init() {
cmd.PerformWithKeyword("disable-auth", "update-auth-mode", &compute.ElasticCacheDisableAuthOptions{})
type ElasticCacheAccountResetPasswordOptions struct {
options.ElasticCacheIdOptions
compute.ElasticCacheIdOptions
PASSWORD string `help:"elastic cache account password."`
}
@@ -77,7 +77,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAccountCreateOptions{}, "elastic-cache-account-create", "Create elastisc cache account", func(s *mcclient.ClientSession, opts *options.ElasticCacheAccountCreateOptions) error {
R(&compute.ElasticCacheAccountCreateOptions{}, "elastic-cache-account-create", "Create elastisc cache account", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAccountCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -92,7 +92,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-account-delete", "Delete elastisc cache account", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-account-delete", "Delete elastisc cache account", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheAccount.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -102,7 +102,7 @@ func init() {
return nil
})
R(&options.ElasticCacheBackupCreateOptions{}, "elastic-cache-backup-create", "Create elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheBackupCreateOptions) error {
R(&compute.ElasticCacheBackupCreateOptions{}, "elastic-cache-backup-create", "Create elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheBackupCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -132,7 +132,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-backup-delete", "Delete elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-backup-delete", "Delete elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheBackup.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -142,7 +142,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-backup-restore", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-backup-restore", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheBackup.PerformAction(s, opts.ID, "restore-instance", nil)
if err != nil {
return err
@@ -152,7 +152,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAclCreateOptions{}, "elastic-cache-acl-create", "Create elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheAclCreateOptions) error {
R(&compute.ElasticCacheAclCreateOptions{}, "elastic-cache-acl-create", "Create elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAclCreateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -167,7 +167,7 @@ func init() {
return nil
})
R(&options.ElasticCacheIdOptions{}, "elastic-cache-acl-delete", "Delete elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheIdOptions) error {
R(&compute.ElasticCacheIdOptions{}, "elastic-cache-acl-delete", "Delete elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheIdOptions) error {
result, err := modules.ElasticCacheAcl.Delete(s, opts.ID, nil)
if err != nil {
return err
@@ -192,7 +192,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAclUpdateOptions{}, "elastic-cache-acl-update", "Update elastisc cache acl", func(s *mcclient.ClientSession, opts *options.ElasticCacheAclUpdateOptions) error {
R(&compute.ElasticCacheAclUpdateOptions{}, "elastic-cache-acl-update", "Update elastisc cache acl", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAclUpdateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -223,7 +223,7 @@ func init() {
return nil
})
R(&options.ElasticCacheParameterUpdateOptions{}, "elastic-cache-parameter-update", "Update elastisc cache parameter", func(s *mcclient.ClientSession, opts *options.ElasticCacheParameterUpdateOptions) error {
R(&compute.ElasticCacheParameterUpdateOptions{}, "elastic-cache-parameter-update", "Update elastisc cache parameter", func(s *mcclient.ClientSession, opts *compute.ElasticCacheParameterUpdateOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
@@ -293,7 +293,7 @@ func init() {
return nil
})
R(&options.ElasticCacheRemoteUpdateOptions{}, "elastic-cache-remote-update", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *options.ElasticCacheRemoteUpdateOptions) error {
R(&compute.ElasticCacheRemoteUpdateOptions{}, "elastic-cache-remote-update", "Restore elastisc cache backup", func(s *mcclient.ClientSession, opts *compute.ElasticCacheRemoteUpdateOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
@@ -307,7 +307,7 @@ func init() {
return nil
})
R(&options.ElasticCacheAutoRenewOptions{}, "elastic-cache-auto-renew", "Set elastisc cache auto renew", func(s *mcclient.ClientSession, opts *options.ElasticCacheAutoRenewOptions) error {
R(&compute.ElasticCacheAutoRenewOptions{}, "elastic-cache-auto-renew", "Set elastisc cache auto renew", func(s *mcclient.ClientSession, opts *compute.ElasticCacheAutoRenewOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
@@ -321,7 +321,7 @@ func init() {
return nil
})
R(&options.ElasticCacheRenewOptions{}, "elastic-cache-renew", "Renew elastisc cache", func(s *mcclient.ClientSession, opts *options.ElasticCacheRenewOptions) error {
R(&compute.ElasticCacheRenewOptions{}, "elastic-cache-renew", "Renew elastisc cache", func(s *mcclient.ClientSession, opts *compute.ElasticCacheRenewOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err

View File

@@ -23,6 +23,7 @@ import (
"yunion.io/x/log"
"yunion.io/x/pkg/errors"
"yunion.io/x/pkg/util/httputils"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
@@ -36,7 +37,6 @@ import (
func init() {
cmd := shell.NewResourceCmd(&modules.Hosts)
cmd.List(&compute.HostListOptions{})
cmd.Show(&options.BaseShowOptions{})
cmd.GetMetadata(&options.BaseIdOptions{})
cmd.GetProperty(&compute.HostStatusStatisticsOptions{})
@@ -53,6 +53,8 @@ func init() {
cmd.Perform("probe-isolated-devices", &options.BaseIdOptions{})
cmd.Perform("class-metadata", &options.ResourceMetadataOptions{})
cmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
cmd.PerformClass("validate-ipmi", &compute.HostValidateIPMI{})
cmd.Perform("set-commit-bound", &compute.HostSetCommitBoundOptions{})
cmd.BatchPerform("enable", &options.BaseIdsOptions{})
cmd.BatchPerform("disable", &options.BaseIdsOptions{})
@@ -69,13 +71,54 @@ func init() {
cmd.Get("vnc", &options.BaseIdOptions{})
cmd.Get("app-options", &options.BaseIdOptions{})
cmd.Get("tap-config", &options.BaseIdOptions{})
cmd.GetWithCustomShow("nics", func(data jsonutils.JSONObject) {
results := printutils.ListResult{}
err := data.Unmarshal(&results)
if err == nil {
printutils.PrintJSONList(&results, []string{
"mac",
"vlan_id",
"interface",
"bridge",
"ip_addr",
"net",
"wire",
})
} else {
fmt.Println("error", err)
}
}, &options.BaseIdOptions{})
R(&compute.HostShowOptions{}, "host-show", "Show details of a host", func(s *mcclient.ClientSession, args *compute.HostShowOptions) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := modules.Hosts.Get(s, args.ID, params)
if err != nil {
return err
}
resultDict := result.(*jsonutils.JSONDict)
if !args.ShowAll {
if !args.ShowMetadata {
print("ShowMetadata\n")
resultDict.Remove("metadata")
}
if !args.ShowNicInfo {
print("ShowMetadata\n")
resultDict.Remove("nic_info")
}
if !args.ShowSysInfo {
print("ShowSysInfo\n")
resultDict.Remove("sys_info")
}
}
printObject(resultDict)
return nil
})
R(&options.BaseIdOptions{}, "host-logininfo", "Get SSH login information of a host", func(s *mcclient.ClientSession, args *options.BaseIdOptions) error {
srvid, e := modules.Hosts.GetId(s, args.ID, nil)
if e != nil {
return e
}
i, e := modules.Hosts.GetLoginInfo(s, srvid, nil)
i, e := modules.Hosts.PerformAction(s, args.ID, "login-info", nil)
if e != nil {
return e
}
@@ -159,17 +202,16 @@ func init() {
})
type HostUpdateOptions struct {
ID string `help:"ID or Name of Host"`
Name string `help:"New name of the host"`
Desc string `help:"New Description of the host"`
CpuCommitBound float64 `help:"CPU overcommit upper bound at this host"`
MemoryCommitBound float64 `help:"Memory overcommit upper bound at this host"`
MemoryReserved string `help:"Memory reserved"`
CpuReserved int64 `help:"CPU reserved"`
HostType string `help:"Change host type, CAUTION!!!!" choices:"hypervisor|kubelet|esxi|baremetal"`
ID string `help:"ID or Name of Host"`
Name string `help:"New name of the host"`
Desc string `help:"New Description of the host"`
MemoryReserved string `help:"Memory reserved"`
CpuReserved int64 `help:"CPU reserved"`
HostType string `help:"Change host type, CAUTION!!!!" choices:"hypervisor|kubelet|esxi|baremetal"`
// AccessIp string `help:"Change access ip, CAUTION!!!!"`
AccessMac string `help:"Change baremetal access MAC, CAUTION!!!!"`
Uuid string `help:"Change baremetal UUID, CAUTION!!!!"`
AccessMac string `help:"Change baremetal access MAC, CAUTION!!!!"`
Uuid string `help:"Change baremetal UUID, CAUTION!!!!"`
EnableNumaAllocate string `help:"Host enable numa allocate" choices:"True|False"`
IpmiUsername string `help:"IPMI user"`
IpmiPassword string `help:"IPMI password"`
@@ -187,12 +229,6 @@ func init() {
if len(args.Desc) > 0 {
params.Add(jsonutils.NewString(args.Desc), "description")
}
if args.CpuCommitBound > 0.0 {
params.Add(jsonutils.NewFloat64(args.CpuCommitBound), "cpu_cmtbound")
}
if args.MemoryCommitBound > 0.0 {
params.Add(jsonutils.NewFloat64(args.MemoryCommitBound), "mem_cmtbound")
}
if len(args.MemoryReserved) > 0 {
params.Add(jsonutils.NewString(args.MemoryReserved), "mem_reserved")
}
@@ -220,6 +256,13 @@ func init() {
if len(args.Sn) > 0 {
params.Add(jsonutils.NewString(args.Sn), "sn")
}
if len(args.EnableNumaAllocate) > 0 {
enableNumaAllocate := false
if args.EnableNumaAllocate == "True" {
enableNumaAllocate = true
}
params.Add(jsonutils.NewBool(enableNumaAllocate), "enable_numa_allocate")
}
if params.Size() == 0 {
return fmt.Errorf("Not data to update")
}
@@ -576,14 +619,10 @@ func init() {
Port int `help:"SSH service port" default:"22"`
}
R(&HostSSHLoginOptions{}, "host-ssh", "SSH login of a host", func(s *mcclient.ClientSession, args *HostSSHLoginOptions) error {
srvid, e := modules.Hosts.GetId(s, args.ID, nil)
if e != nil {
return e
}
i, e := modules.Hosts.GetLoginInfo(s, srvid, nil)
i, e := modules.Hosts.PerformAction(s, args.ID, "login-info", nil)
privateKey := ""
if e != nil {
if httputils.ErrorCode(e) == 404 || e.Error() == "ciphertext too short" {
if httputils.ErrorCode(e) == 404 || strings.Contains(e.Error(), "ciphertext too short") {
var err error
privateKey, err = modules.Sshkeypairs.FetchPrivateKeyBySession(context.Background(), s)
if err != nil {

View File

@@ -15,8 +15,13 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
@@ -26,4 +31,71 @@ func init() {
cmd.Create(new(options.IsolatedDeviceModelCreateOptions))
cmd.Update(new(options.IsolatedDeviceModelUpdateOptions))
cmd.Delete(new(options.IsolatedDeviceIdsOptions))
cmd.Perform("set-hardware-info", new(options.IsolatedDeviceModelSetHardwareInfoOptions))
cmd.Get("hardware-info", new(options.IsolatedDeviceIdsOptions))
type HostIsolatedDeviceModelListOptions struct {
baseoptions.BaseListOptions
Host string `help:"ID or Name of Host"`
IsolatedDeviceModel string `help:"ID or Name of Isolated device model"`
}
R(&HostIsolatedDeviceModelListOptions{}, "host-isolated-device-model-list",
"List host Isolated device model pairs", func(s *mcclient.ClientSession, args *HostIsolatedDeviceModelListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
var result *printutils.ListResult
var err error
if len(args.Host) > 0 {
result, err = modules.HostIsolatedDeviceModels.ListDescendent(s, args.Host, params)
} else if len(args.IsolatedDeviceModel) > 0 {
result, err = modules.HostIsolatedDeviceModels.ListDescendent2(s, args.IsolatedDeviceModel, params)
} else {
result, err = modules.HostIsolatedDeviceModels.List(s, params)
}
if err != nil {
return err
}
printList(result, modules.HostIsolatedDeviceModels.GetColumns(s))
return nil
})
type HostIsolatedDeviceModelDetailOptions struct {
HOST string `help:"ID or Name of Host"`
IsolatedDeviceModel string `help:"ID or Name of Isolated device model"`
}
R(&HostIsolatedDeviceModelDetailOptions{}, "host-isolated-device-model-show", "Show host isolated-device-model details", func(s *mcclient.ClientSession, args *HostIsolatedDeviceModelDetailOptions) error {
result, err := modules.HostIsolatedDeviceModels.Get(s, args.HOST, args.IsolatedDeviceModel, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&HostIsolatedDeviceModelDetailOptions{}, "host-isolated-device-model-detach", "Detach a isolated-device-model from a host", func(s *mcclient.ClientSession, args *HostIsolatedDeviceModelDetailOptions) error {
result, err := modules.HostIsolatedDeviceModels.Detach(s, args.HOST, args.IsolatedDeviceModel, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&HostIsolatedDeviceModelDetailOptions{}, "host-isolated-device-model-attach", "Attach a isolated-device-model to a host", func(s *mcclient.ClientSession, args *HostIsolatedDeviceModelDetailOptions) error {
params := jsonutils.NewDict()
result, err := modules.HostIsolatedDeviceModels.Attach(s, args.HOST, args.IsolatedDeviceModel, params)
if err != nil {
return err
}
printObject(result)
return nil
})
}

View File

@@ -15,90 +15,15 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type DeviceListOptions struct {
options.BaseListOptions
Unused bool `help:"Only show unused devices"`
Gpu bool `help:"Only show gpu devices"`
Host string `help:"Host ID or Name"`
Region string `help:"Cloudregion ID or Name"`
Zone string `help:"Zone ID or Name"`
Server string `help:"Server ID or Name"`
}
R(&DeviceListOptions{}, "isolated-device-list", "List isolated devices like GPU", func(s *mcclient.ClientSession, args *DeviceListOptions) error {
var params *jsonutils.JSONDict
{
var err error
params, err = args.BaseListOptions.Params()
if err != nil {
return err
}
}
if len(args.Host) > 0 {
params.Add(jsonutils.NewString(args.Host), "host")
}
if args.Unused {
params.Add(jsonutils.JSONTrue, "unused")
}
if args.Gpu {
params.Add(jsonutils.JSONTrue, "gpu")
}
if len(args.Region) > 0 {
params.Add(jsonutils.NewString(args.Region), "region")
}
if args.Zone != "" {
params.Add(jsonutils.NewString(args.Zone), "zone")
}
if args.Server != "" {
params.Add(jsonutils.NewString(args.Server), "guest_id")
}
result, err := modules.IsolatedDevices.List(s, params)
if err != nil {
return err
}
printList(result, modules.IsolatedDevices.GetColumns(s))
return nil
})
type DeviceShowOptions struct {
ID string `help:"ID of the isolated device"`
}
R(&DeviceShowOptions{}, "isolated-device-show", "Show isolated device details", func(s *mcclient.ClientSession, args *DeviceShowOptions) error {
result, err := modules.IsolatedDevices.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type DeviceDeleteOptions struct {
IDS []string `help:"IDs of the isolated device"`
}
R(&DeviceDeleteOptions{}, "isolated-device-delete", "Delete a isolated device", func(s *mcclient.ClientSession, args *DeviceDeleteOptions) error {
result := modules.IsolatedDevices.BatchDelete(s, args.IDS, nil)
printBatchResults(result, modules.IsolatedDevices.GetColumns(s))
return nil
})
type DeviceUpdateOptions struct {
ID []string `help:"ID of the isolated device" json:"-"`
ReservedCpu *int `help:"reserved cpu for isolated device"`
ReservedMem *int `help:"reserved mem for isolated device"`
ReservedStorage *int `help:"reserved storage for isolated device"`
DevType string `help:"Device type" choices:"GPU-HPC|GPU-VGA"`
}
R(&DeviceUpdateOptions{}, "isolated-device-update", "Update a isolated device", func(s *mcclient.ClientSession, args *DeviceUpdateOptions) error {
res := modules.IsolatedDevices.BatchUpdate(s, args.ID, jsonutils.Marshal(args))
printBatchResults(res, modules.IsolatedDevices.GetColumns(s))
return nil
})
cmd := shell.NewResourceCmd(&modules.IsolatedDevices)
cmd.List(&compute.DeviceListOptions{})
cmd.Update(&compute.DeviceUpdateOptions{})
cmd.Show(&compute.DeviceShowOptions{})
cmd.BatchDelete(&compute.DeviceDeleteOptions{})
}

View File

@@ -15,144 +15,21 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
lbAclConvert := func(jd *jsonutils.JSONDict) error {
jaeso, err := jd.Get("acl_entries")
if err != nil {
return err
}
aclEntries := options.AclEntries{}
err = jaeso.Unmarshal(&aclEntries)
if err != nil {
return err
}
aclTextLines := aclEntries.String()
jd.Set("acl_entries", jsonutils.NewString(aclTextLines))
return nil
}
printLbAcl := func(jsonObj jsonutils.JSONObject) {
jd, ok := jsonObj.(*jsonutils.JSONDict)
if !ok {
printObject(jsonObj)
return
}
err := lbAclConvert(jd)
if err != nil {
printObject(jsonObj)
return
}
printObject(jd)
}
printLbAclList := func(list *printutils.ListResult, columns []string) {
data := list.Data
for _, jsonObj := range data {
jd := jsonObj.(*jsonutils.JSONDict)
err := lbAclConvert(jd)
if err != nil {
printList(list, columns)
return
}
}
printList(list, columns)
}
R(&options.LoadbalancerAclCreateOptions{}, "lbacl-create", "Create lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbacl, err := modules.LoadbalancerAcls.Create(s, params)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclGetOptions{}, "lbacl-show", "Show lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclGetOptions) error {
lbacl, err := modules.LoadbalancerAcls.Get(s, opts.ID, nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclListOptions{}, "lbacl-list", "List lbacls", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclListOptions) error {
params, err := baseoptions.ListStructToParams(opts)
if err != nil {
return err
}
result, err := modules.LoadbalancerAcls.List(s, params)
if err != nil {
return err
}
printLbAclList(result, modules.LoadbalancerAcls.GetColumns(s))
return nil
})
R(&options.LoadbalancerAclUpdateOptions{}, "lbacl-update", "Update lbacls", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclUpdateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbacl, err := modules.LoadbalancerAcls.Update(s, opts.ID, params)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclDeleteOptions{}, "lbacl-purge", "Purge lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclDeleteOptions) error {
lbacl, err := modules.LoadbalancerAcls.PerformAction(s, opts.ID, "purge", nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclDeleteOptions{}, "lbacl-delete", "Show lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclDeleteOptions) error {
lbacl, err := modules.LoadbalancerAcls.Delete(s, opts.ID, nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclActionPatchOptions{}, "lbacl-patch", "Patch lbacls", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclActionPatchOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbacl, err := modules.LoadbalancerAcls.PerformAction(s, opts.ID, "patch", params)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclPublicOptions{}, "lbacl-public", "Public lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclPublicOptions) error {
params := jsonutils.Marshal(opts)
lbacl, err := modules.LoadbalancerAcls.PerformAction(s, opts.ID, "public", params)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclPrivateOptions{}, "lbacl-private", "Private lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclPrivateOptions) error {
lbacl, err := modules.LoadbalancerAcls.PerformAction(s, opts.ID, "private", nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
cmd := shell.NewResourceCmd(&modules.LoadbalancerAcls).WithKeyword("lbacl")
cmd.List(&options.LoadbalancerAclListOptions{})
cmd.Show(&options.LoadbalancerAclIdOptions{})
cmd.Create(&options.LoadbalancerAclCreateOptions{})
cmd.Delete(&options.LoadbalancerAclIdOptions{})
cmd.Update(&options.LoadbalancerAclUpdateOptions{})
cmd.Perform("purge", &options.LoadbalancerAclIdOptions{})
cmd.Perform("syncstatus", &options.LoadbalancerAclIdOptions{})
cmd.Perform("private", &options.LoadbalancerAclIdOptions{})
cmd.Perform("public", &options.LoadbalancerAclPublicOptions{})
cmd.Perform("patch", &options.LoadbalancerAclActionPatchOptions{})
}

View File

@@ -1,121 +0,0 @@
// 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/jsonutils"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
lbAclConvert := func(jd *jsonutils.JSONDict) error {
jaeso, err := jd.Get("acl_entries")
if err != nil {
return err
}
aclEntries := options.AclEntries{}
err = jaeso.Unmarshal(&aclEntries)
if err != nil {
return err
}
aclTextLines := aclEntries.String()
jd.Set("acl_entries", jsonutils.NewString(aclTextLines))
return nil
}
printLbAcl := func(jsonObj jsonutils.JSONObject) {
jd, ok := jsonObj.(*jsonutils.JSONDict)
if !ok {
printObject(jsonObj)
return
}
err := lbAclConvert(jd)
if err != nil {
printObject(jsonObj)
return
}
printObject(jd)
}
printLbAclList := func(list *printutils.ListResult, columns []string) {
data := list.Data
for _, jsonObj := range data {
jd := jsonObj.(*jsonutils.JSONDict)
err := lbAclConvert(jd)
if err != nil {
printList(list, columns)
return
}
}
printList(list, columns)
}
R(&options.LoadbalancerAclGetOptions{}, "lbacl-cache-show", "Show cached lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclGetOptions) error {
lbacl, err := modules.LoadbalancerCachedAcls.Get(s, opts.ID, nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.CachedLoadbalancerAclListOptions{}, "lbacl-cache-list", "List cached lbacls", func(s *mcclient.ClientSession, opts *options.CachedLoadbalancerAclListOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
result, err := modules.LoadbalancerCachedAcls.List(s, params)
if err != nil {
return err
}
printLbAclList(result, modules.LoadbalancerCachedAcls.GetColumns(s))
return nil
})
R(&options.LoadbalancerCachedAclCreateOptions{}, "lbacl-cache-create", "Create cached lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerCachedAclCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbacl, err := modules.LoadbalancerCachedAcls.Create(s, params)
if err != nil {
return err
}
printObject(lbacl)
return nil
})
R(&options.LoadbalancerAclDeleteOptions{}, "lbacl-cache-purge", "Purge cached lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclDeleteOptions) error {
lbacl, err := modules.LoadbalancerCachedAcls.PerformAction(s, opts.ID, "purge", nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
R(&options.LoadbalancerAclDeleteOptions{}, "lbacl-cache-delete", "Delete cached lbacl", func(s *mcclient.ClientSession, opts *options.LoadbalancerAclDeleteOptions) error {
lbacl, err := modules.LoadbalancerCachedAcls.Delete(s, opts.ID, nil)
if err != nil {
return err
}
printLbAcl(lbacl)
return nil
})
}

View File

@@ -1,77 +0,0 @@
// 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/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
R(&options.LoadbalancerCertificateGetOptions{}, "lbcert-cache-show", "Show cached lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateGetOptions) error {
lbcert, err := modules.LoadbalancerCachedCertificates.Get(s, opts.ID, nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCachedCertificateListOptions{}, "lbcert-cache-list", "List cached lbcerts", func(s *mcclient.ClientSession, opts *options.LoadbalancerCachedCertificateListOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
result, err := modules.LoadbalancerCachedCertificates.List(s, params)
if err != nil {
return err
}
printList(result, modules.LoadbalancerCachedCertificates.GetColumns(s))
return nil
})
R(&options.LoadbalancerCachedCertificateCreateOptions{}, "lbcert-cache-create", "Create cached lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCachedCertificateCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbcert, err := modules.LoadbalancerCachedCertificates.Create(s, params)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificateDeleteOptions{}, "lbcert-cache-delete", "Delete cached lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateDeleteOptions) error {
lbcert, err := modules.LoadbalancerCachedCertificates.Delete(s, opts.ID, nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificateDeleteOptions{}, "lbcert-cache-purge", "Purge cached lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateDeleteOptions) error {
lbcert, err := modules.LoadbalancerCachedCertificates.PerformAction(s, opts.ID, "purge", nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
}

View File

@@ -15,81 +15,19 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
R(&options.LoadbalancerCertificateCreateOptions{}, "lbcert-create", "Create lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbcert, err := modules.LoadbalancerCertificates.Create(s, params)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificateGetOptions{}, "lbcert-show", "Show lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateGetOptions) error {
lbcert, err := modules.LoadbalancerCertificates.Get(s, opts.ID, nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificateListOptions{}, "lbcert-list", "List lbcerts", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateListOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
result, err := modules.LoadbalancerCertificates.List(s, params)
if err != nil {
return err
}
printList(result, modules.LoadbalancerCertificates.GetColumns(s))
return nil
})
R(&options.LoadbalancerCertificateUpdateOptions{}, "lbcert-update", "Update lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateUpdateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
lbcert, err := modules.LoadbalancerCertificates.Update(s, opts.ID, params)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificateDeleteOptions{}, "lbcert-delete", "Delete lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificateDeleteOptions) error {
lbcert, err := modules.LoadbalancerCertificates.Delete(s, opts.ID, nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificatePublicOptions{}, "lbcert-public", "Public lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificatePublicOptions) error {
params := jsonutils.Marshal(opts)
lbcert, err := modules.LoadbalancerCertificates.PerformAction(s, opts.ID, "public", params)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
R(&options.LoadbalancerCertificatePrivateOptions{}, "lbcert-private", "Private lbcert", func(s *mcclient.ClientSession, opts *options.LoadbalancerCertificatePrivateOptions) error {
lbcert, err := modules.LoadbalancerCertificates.PerformAction(s, opts.ID, "private", nil)
if err != nil {
return err
}
printObject(lbcert)
return nil
})
cmd := shell.NewResourceCmd(&modules.LoadbalancerCertificates).WithKeyword("lbcert")
cmd.Create(&options.LoadbalancerCertificateCreateOptions{})
cmd.Show(&options.LoadbalancerCertificateIdOptions{})
cmd.Delete(&options.LoadbalancerCertificateIdOptions{})
cmd.List(&options.LoadbalancerCertificateListOptions{})
cmd.Update(&options.LoadbalancerCertificateUpdateOptions{})
cmd.Perform("public", &options.LoadbalancerCertificatePublicOptions{})
cmd.Perform("private", &options.LoadbalancerCertificateIdOptions{})
cmd.Perform("syncstatus", &options.LoadbalancerCertificateIdOptions{})
}

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 compute
import (

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -26,12 +26,14 @@ import (
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
compute_options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
"yunion.io/x/onecloud/pkg/util/netutils2"
)
func init() {
cmd := shell.NewResourceCmd(&modules.Networks).WithContextManager(&modules.Wires)
cmd.List(&compute_options.NetworkListOptions{})
cmd.Create(&compute_options.NetworkCreateOptions{})
cmd.Update(&compute_options.NetworkUpdateOptions{})
cmd.Show(&compute_options.NetworkIdOptions{})
cmd.Delete(&compute_options.NetworkIdOptions{})
@@ -43,6 +45,8 @@ func init() {
cmd.Get("change-owner-candidate-domains", &compute_options.NetworkIdOptions{})
cmd.Perform("set-class-metadata", &options.ResourceMetadataOptions{})
cmd.Perform("switch-wire", &compute_options.NetworkSwitchWireOptions{})
cmd.Perform("sync-additional-wires", &compute_options.NetworkSyncAdditionalWiresOptions{})
cmd.Get("available-addresses", &compute_options.NetworkIdOptions{})
type NetworkShareOptions struct {
ID string `help:"ID or Name of the zone to show"`
@@ -60,65 +64,15 @@ func init() {
return nil
})
type NetworkCreateOptions struct {
WIRE string `help:"ID or Name of wire in which the network is created"`
NETWORK string `help:"Name of new network"`
STARTIP string `help:"Start of IPv4 address range"`
ENDIP string `help:"End of IPv4 address rnage"`
NETMASK int64 `help:"Length of network mask"`
Gateway string `help:"Default gateway"`
VlanId int64 `help:"Vlan ID" default:"1"`
IfnameHint string `help:"Hint for ifname generation"`
AllocPolicy string `help:"Address allocation policy" choices:"none|stepdown|stepup|random"`
ServerType string `help:"Server type" choices:"baremetal|container|eip|guest|ipmi|pxe"`
IsAutoAlloc *bool `help:"Auto allocation IP pool"`
BgpType string `help:"Internet service provider name" positional:"false"`
Desc string `help:"Description" metavar:"DESCRIPTION"`
}
R(&NetworkCreateOptions{}, "network-create", "Create a virtual network", func(s *mcclient.ClientSession, args *NetworkCreateOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.NETWORK), "name")
params.Add(jsonutils.NewString(args.STARTIP), "guest_ip_start")
params.Add(jsonutils.NewString(args.ENDIP), "guest_ip_end")
params.Add(jsonutils.NewInt(args.NETMASK), "guest_ip_mask")
if len(args.Gateway) > 0 {
params.Add(jsonutils.NewString(args.Gateway), "guest_gateway")
}
if args.VlanId > 0 {
params.Add(jsonutils.NewInt(args.VlanId), "vlan_id")
}
if len(args.ServerType) > 0 {
params.Add(jsonutils.NewString(args.ServerType), "server_type")
}
if len(args.IfnameHint) > 0 {
params.Add(jsonutils.NewString(args.IfnameHint), "ifname_hint")
}
if len(args.AllocPolicy) > 0 {
params.Add(jsonutils.NewString(args.AllocPolicy), "alloc_policy")
}
if len(args.Desc) > 0 {
params.Add(jsonutils.NewString(args.Desc), "description")
}
if len(args.BgpType) > 0 {
params.Add(jsonutils.NewString(args.BgpType), "bgp_type")
}
if args.IsAutoAlloc != nil {
params.Add(jsonutils.NewBool(*args.IsAutoAlloc), "is_auto_alloc")
}
net, e := modules.Networks.CreateInContext(s, params, &modules.Wires, args.WIRE)
if e != nil {
return e
}
printObject(net)
return nil
})
type NetworkCreateOptions2 struct {
Wire string `help:"ID or Name of wire in which the network is created"`
Vpc string `help:"ID or Name of vpc in which the network is created"`
Zone string `help:"ID or Name of zone in which the network is created"`
NAME string `help:"Name of new network"`
PREFIX string `help:"Start of IPv4 address range"`
Wire string `help:"ID or Name of wire in which the network is created"`
Vpc string `help:"ID or Name of vpc in which the network is created"`
Zone string `help:"ID or Name of zone in which the network is created"`
NAME string `help:"Name of new network"`
PREFIX string `help:"IPv4 prefix"`
Prefix6 string `help:"IPv6 prefix"`
BgpType string `help:"Internet service provider name" positional:"false"`
AssignPublicIp bool
Desc string `help:"Description" metavar:"DESCRIPTION"`
@@ -127,6 +81,11 @@ func init() {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.NAME), "name")
params.Add(jsonutils.NewString(args.PREFIX), "guest_ip_prefix")
if len(args.Prefix6) > 0 {
params.Add(jsonutils.NewString(args.Prefix6), "guest_ip6_prefix")
}
params.Set("assign_public_ip", jsonutils.NewBool(args.AssignPublicIp))
if len(args.BgpType) > 0 {
params.Add(jsonutils.NewString(args.BgpType), "bgp_type")
@@ -282,4 +241,21 @@ func init() {
printObject(net)
return nil
})
type NetworkInterfaceInfoOptions struct {
DEV string `help:"name of device, e.g. eth0"`
}
R(&NetworkInterfaceInfoOptions{}, "network-interface-info", "Show addr and routes of interface", func(s *mcclient.ClientSession, args *NetworkInterfaceInfoOptions) error {
netIf := netutils2.NewNetInterface(args.DEV)
fmt.Println("[Slave Addresses]")
for _, addr := range netIf.GetSlaveAddresses() {
fmt.Printf("%s/%s\n", addr[0], addr[1])
}
fmt.Println("[Routes]")
for _, r := range netIf.GetRouteSpecs() {
fmt.Printf("%s via %s dev %d\n", r.Dst.String(), r.Gw.String(), r.LinkIndex)
}
return nil
})
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -22,7 +22,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
type schedtagModelHelper struct {

View File

@@ -17,7 +17,8 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -29,6 +30,6 @@ func init() {
cmd.Create(new(options.SchedtagCreateOptions))
cmd.Update(new(options.SchedtagUpdateOptions))
cmd.BatchPerform("set-scope", new(options.SchedtagSetScopeOptions))
cmd.PerformWithKeyword("set-user-metadata", "user-metadata", new(options.ResourceMetadataOptions))
cmd.PerformWithKeyword("set-user-metadata", "user-metadata", new(baseoptions.ResourceMetadataOptions))
cmd.Perform("set-resource", new(options.SchedtagSetResource))
}

View File

@@ -17,7 +17,8 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -25,15 +26,13 @@ func init() {
cmd.List(&options.SecgroupListOptions{})
cmd.Create(&options.SecgroupCreateOptions{})
cmd.Show(&options.SecgroupIdOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Update(&baseoptions.BaseUpdateOptions{})
cmd.Delete(&options.SecgroupIdOptions{})
cmd.Perform("merge", &options.SecgroupMergeOptions{})
cmd.Perform("public", &options.SecgroupIdOptions{})
cmd.Perform("syncstatus", &options.SecgroupIdOptions{})
cmd.Perform("private", &options.SecgroupIdOptions{})
cmd.Perform("add-rule", &options.SecgroupsAddRuleOptions{})
cmd.Perform("cache-secgroup", &options.SecurityGroupCacheOptions{})
cmd.Perform("uncache-secgroup", &options.SecurityGroupUncacheSecurityGroup{})
cmd.Perform("purge", &options.SecgroupIdOptions{})
cmd.Perform("change-owner", &options.SecgroupChangeOwnerOptions{})
cmd.Perform("import-rules", &options.SecgroupImportRulesOptions{})
cmd.PerformClass("clean", &options.SecgroupCleanOptions{})
}

View File

@@ -15,16 +15,27 @@
package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.SecGroupCaches).WithKeyword("secgroup-cache")
cmd.List(&compute.SecGroupCacheListOptions{})
cmd.Show(&compute.SecGroupCacheIdOptions{})
cmd.Delete(&compute.SecGroupCacheIdOptions{})
cmd.Perform("syncstatus", &compute.SecGroupCacheIdOptions{})
cmd.Get("references", &compute.SecGroupCacheIdOptions{})
R(&options.PodCreateOptions{}, "pod-create", "Create a container pod", func(s *mcclient.ClientSession, opts *options.PodCreateOptions) error {
params, err := opts.Params()
if err != nil {
return err
}
if opts.Count > 1 {
results := modules.Servers.BatchCreate(s, params.JSON(params), opts.Count)
printBatchResults(results, modules.Servers.GetColumns(s))
} else {
server, err := modules.Servers.Create(s, params.JSON(params))
if err != nil {
return err
}
printObject(server)
}
return nil
})
}

View File

@@ -94,6 +94,7 @@ func init() {
Driver string `help:"Driver model of vNIC" choices:"virtio|e1000|vmxnet3|rtl8139"`
Index int64 `help:"Index of NIC" default:"-1"`
Ifname string `help:"Interface name of vNIC on host"`
Default bool `help:"is default nic?"`
}
R(&ServerNetworkUpdateOptions{}, "server-network-update", "Update server network settings", func(s *mcclient.ClientSession, args *ServerNetworkUpdateOptions) error {
params := jsonutils.NewDict()
@@ -106,6 +107,9 @@ func init() {
if len(args.Ifname) > 0 {
params.Add(jsonutils.NewString(args.Ifname), "ifname")
}
if args.Default {
params.Add(jsonutils.JSONTrue, "is_default")
}
if params.Size() == 0 {
return InvalidUpdateError()
}
@@ -176,6 +180,7 @@ func init() {
SERVER string `help:"ID or Name of server"`
MACORIP string `help:"Mac Or IP of NIC"`
Reserve bool `help:"Put the release IP address into reserved address pool"`
Force bool `help:"detach server network by force"`
}
R(&ServerDetachNetworkOptions{}, "server-detach-network", "Detach the virtual network fron a virtual server", func(s *mcclient.ClientSession, args *ServerDetachNetworkOptions) error {
params := jsonutils.NewDict()
@@ -183,6 +188,9 @@ func init() {
if args.Reserve {
params.Add(jsonutils.JSONTrue, "reserve")
}
if args.Force {
params.Add(jsonutils.JSONTrue, "force")
}
if regutils.MatchMacAddr(args.MACORIP) {
params.Add(jsonutils.NewString(args.MACORIP), "mac")
} else if regutils.MatchIP4Addr(args.MACORIP) {

View File

@@ -115,11 +115,19 @@ func init() {
cmd.Perform("qga-set-password", &options.ServerQgaSetPassword{})
cmd.Perform("qga-command", &options.ServerQgaCommand{})
cmd.Perform("qga-ping", &options.ServerQgaPing{})
cmd.Perform("qga-guest-info-task", &options.ServerQgaGuestInfoTask{})
cmd.Perform("qga-get-network", &options.ServerQgaGetNetwork{})
cmd.Perform("set-password", &options.ServerSetPasswordOptions{})
cmd.Perform("set-boot-index", &options.ServerSetBootIndexOptions{})
cmd.Perform("reset-nic-traffic-limit", &options.ServerNicTrafficLimitOptions{})
cmd.Perform("set-nic-traffic-limit", &options.ServerNicTrafficLimitOptions{})
cmd.Perform("add-sub-ips", &options.ServerAddSubIpsOptions{})
cmd.Perform("update-sub-ips", &options.ServerUpdateSubIpsOptions{})
cmd.BatchPerform("set-os-info", &options.ServerSetOSInfoOptions{})
cmd.BatchPerform("start-rescue", &options.ServerStartOptions{})
cmd.BatchPerform("stop-rescue", &options.ServerStartOptions{})
cmd.BatchPerform("sync-os-info", &options.ServerIdsOptions{})
cmd.BatchPerform("set-root-disk-matcher", &options.ServerSetRootDiskMatcher{})
cmd.Get("vnc", new(options.ServerVncOptions))
cmd.Get("desc", new(options.ServerIdOptions))
@@ -133,6 +141,7 @@ func init() {
cmd.Get("cpuset-cores", new(options.ServerIdOptions))
cmd.Get("sshport", new(options.ServerIdOptions))
cmd.Get("qemu-info", new(options.ServerIdOptions))
cmd.Get("hardware-info", new(options.ServerIdOptions))
cmd.GetProperty(&options.ServerStatusStatisticsOptions{})
cmd.GetProperty(&options.ServerProjectStatisticsOptions{})
@@ -299,11 +308,6 @@ func init() {
})
R(&options.ServerLoginInfoOptions{}, "server-logininfo", "Get login info of a server", func(s *mcclient.ClientSession, opts *options.ServerLoginInfoOptions) error {
srvid, e := modules.Servers.GetId(s, opts.ID, nil)
if e != nil {
return e
}
params := jsonutils.NewDict()
if len(opts.Key) > 0 {
privateKey, e := ioutil.ReadFile(opts.Key)
@@ -313,7 +317,7 @@ func init() {
params.Add(jsonutils.NewString(string(privateKey)), "private_key")
}
i, e := modules.Servers.GetLoginInfo(s, srvid, params)
i, e := modules.Servers.PerformAction(s, opts.ID, "login-info", params)
if e != nil {
return e
}
@@ -865,7 +869,7 @@ func init() {
privateKey = string(key)
}
i, e := modules.Servers.GetLoginInfo(s, srvid, params)
i, e := modules.Servers.PerformAction(s, srvid, "login-info", params)
if e != nil {
return e
}

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -15,112 +15,18 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type SnapshotPolicyListOptions struct {
options.BaseListOptions
OrderByBindDiskCount string
}
R(&SnapshotPolicyListOptions{}, "snapshot-policy-list", "List snapshot policy", func(s *mcclient.ClientSession, args *SnapshotPolicyListOptions) error {
params, err := options.ListStructToParams(args)
if err != nil {
return err
}
result, err := modules.SnapshotPoliciy.List(s, params)
if err != nil {
return err
}
printList(result, modules.SnapshotPoliciy.GetColumns(s))
return nil
})
type SnapshotPolicyDeleteOptions struct {
ID string `help:"Delete snapshot id"`
}
R(&SnapshotPolicyDeleteOptions{}, "snapshot-policy-delete", "Delete snapshot policy", func(s *mcclient.ClientSession, args *SnapshotPolicyDeleteOptions) error {
result, err := modules.SnapshotPoliciy.Delete(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type SnapshotPolicyCreateOptions struct {
NAME string
RetentionDays int `help:"snapshot retention days"`
RepeatWeekdays []int `help:"snapshot create days on week"`
TimePoints []int `help:"snapshot create time points on one day"`
}
R(&SnapshotPolicyCreateOptions{}, "snapshot-policy-create", "Create snapshot policy", func(s *mcclient.ClientSession, args *SnapshotPolicyCreateOptions) error {
params := jsonutils.Marshal(args).(*jsonutils.JSONDict)
snapshot, err := modules.SnapshotPoliciy.Create(s, params)
if err != nil {
return err
}
printObject(snapshot)
return nil
})
type SnapshotPolicyBindDisksOptions struct {
ID string `help:"ID"`
Disk []string `help:"ids of disk"`
}
R(&SnapshotPolicyBindDisksOptions{}, "snapshot-policy-bind-disk", "bind snapshotpolicy to disks",
func(s *mcclient.ClientSession, opts *SnapshotPolicyBindDisksOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
}
sp, err := modules.SnapshotPoliciy.PerformAction(s, opts.ID, "bind-disks", params)
if err != nil {
return err
}
printObject(sp)
return nil
})
R(&SnapshotPolicyBindDisksOptions{}, "snapshot-policy-unbind-disk", "bind snapshotpolicy to disks",
func(s *mcclient.ClientSession, opts *SnapshotPolicyBindDisksOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
}
sp, err := modules.SnapshotPoliciy.PerformAction(s, opts.ID, "unbind-disks", params)
if err != nil {
return err
}
printObject(sp)
return nil
})
type SnapshotPolicyCacheOptions struct {
ID string `help:"SnasphotPolicy ID"`
REGIONID string `help:"Region ID"`
PROVIDER string `help:"Provider ID"`
}
R(&SnapshotPolicyCacheOptions{}, "snapshot-policy-cache", "upload local snapshotpolicy to cloud",
func(s *mcclient.ClientSession, opts *SnapshotPolicyCacheOptions) error {
params, err := options.StructToParams(opts)
if err != nil {
return err
}
sp, err := modules.SnapshotPoliciy.PerformAction(s, opts.ID, "cache", params)
if err != nil {
return err
}
printObject(sp)
return nil
},
)
cmd := shell.NewResourceCmd(&modules.SnapshotPoliciy).WithKeyword("snapshot-policy")
cmd.List(&compute.SnapshotPolicyListOptions{})
cmd.Delete(&options.BaseIdOptions{})
cmd.Create(&compute.SnapshotPolicyCreateOptions{})
cmd.Perform("bind-disks", &compute.SnapshotPolicyDisksOptions{})
cmd.Perform("unbind-disks", &compute.SnapshotPolicyDisksOptions{})
cmd.Perform("syncstatus", &options.BaseIdOptions{})
}

View File

@@ -1,80 +0,0 @@
// 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/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
)
func init() {
type SSnapshotpolicyDiskListOfDiskOption struct {
DISKID string `help:"disk id"`
}
R(&SSnapshotpolicyDiskListOfDiskOption{}, "disk-snapshot-policy-list", "List snapshot policy attached",
func(s *mcclient.ClientSession, opts *SSnapshotpolicyDiskListOfDiskOption) error {
result, err := modules.SnapshotPolicyDisk.ListDescendent(s, opts.DISKID, jsonutils.NewDict())
if err != nil {
return err
}
printList(result, modules.SnapshotPolicyDisk.GetColumns(s))
return nil
},
)
type SSnapshotpolicyDiskListOfSnapshotpolicyOption struct {
SNAPSHOTPOLICYID string `help:"snapshot policy id"`
}
R(&SSnapshotpolicyDiskListOfSnapshotpolicyOption{}, "snapshot-policy-disk-list", "List disk attached",
func(s *mcclient.ClientSession, opts *SSnapshotpolicyDiskListOfSnapshotpolicyOption) error {
result, err := modules.SnapshotPolicyDisk.ListDescendent2(s, opts.SNAPSHOTPOLICYID, jsonutils.NewDict())
if err != nil {
return err
}
printList(result, modules.SnapshotPolicyDisk.GetColumns(s))
return nil
},
)
type SSnapshotpolicyDiskAttachOption struct {
DISKID string `help:"disk id"`
SNAPSHOTPOLICYID string `help:"snapshot policy id"`
}
R(&SSnapshotpolicyDiskAttachOption{}, "disk-snapshot-policy-attach", "attach snapshot policy to disk",
func(s *mcclient.ClientSession, opts *SSnapshotpolicyDiskAttachOption) error {
_, err := modules.SnapshotPolicyDisk.Attach(s, opts.DISKID, opts.SNAPSHOTPOLICYID, jsonutils.NewDict())
if err != nil {
return err
}
return nil
},
)
type SSnapshotpolicyDiskDetachOption struct {
DISKID string `help:"disk id"`
SNAPSHOTPOLICYID string `help:"snapshot policy id"`
}
R(&SSnapshotpolicyDiskDetachOption{}, "disk-snapshot-policy-detach", "detach snapshot policy to disk",
func(s *mcclient.ClientSession, opts *SSnapshotpolicyDiskDetachOption) error {
_, err := modules.SnapshotPolicyDisk.Detach(s, opts.DISKID, opts.SNAPSHOTPOLICYID, jsonutils.NewDict())
if err != nil {
return err
}
return nil
},
)
}

View File

@@ -32,6 +32,7 @@ func init() {
Share *bool `help:"Show shared snapshots"`
DiskType string `help:"Filter by disk type" choices:"sys|data"`
Server string `help:"Filter by server" json:"server_id"`
Unused bool
OrderByGuest string
OrderByDiskName string

View File

@@ -131,7 +131,7 @@ func init() {
return err
}
data := &printutils.ListResult{Data: hosts, Total: len(hosts)}
printList(data, []string{"ID", "Name", "Mem", "CPU", "Storage_Info"})
printList(data, []string{"ID", "Name", "MEM", "CPU", "Storage_Info"})
return nil
})

View File

@@ -18,12 +18,11 @@ import (
"fmt"
"os"
"path"
"strings"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/errors"
"yunion.io/x/onecloud/pkg/hostman/guestfs/fsdriver"
deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/util/procutils"
@@ -101,8 +100,44 @@ func init() {
}
oldKeys = string(output)
}
pubKeys := &deployapi.SSHKeys{AdminPublicKey: pubKey}
newKeys := fsdriver.MergeAuthorizedKeys(oldKeys, pubKeys)
var MergeAuthorizedKeys = func(oldKeys string, pubKey string) string {
const sshKeySignature = "@yunioncloudpods"
var allkeys = make(map[string]string)
if len(oldKeys) > 0 {
for _, line := range strings.Split(oldKeys, "\n") {
line = strings.TrimSpace(line)
dat := strings.Split(line, " ")
if len(dat) > 1 {
if len(dat) > 2 && dat[2] == sshKeySignature {
// skip ssh keys with signature
continue
}
if _, ok := allkeys[dat[1]]; !ok {
allkeys[dat[1]] = line
}
}
}
}
candiateKeys := []string{pubKey}
for _, k := range candiateKeys {
if len(k) > 0 {
k = strings.TrimSpace(k)
dat := strings.Split(k, " ")
if len(dat) > 1 {
if _, ok := allkeys[dat[1]]; !ok {
allkeys[dat[1]] = strings.Join([]string{dat[0], dat[1], sshKeySignature}, " ")
}
}
}
}
var keys = make([]string, 0)
for _, val := range allkeys {
keys = append(keys, val)
}
return strings.Join(keys, "\n") + "\n"
}
newKeys := MergeAuthorizedKeys(oldKeys, pubKey)
if output, err := procutils.NewCommand(
"sh", "-c", fmt.Sprintf("echo '%s' > %s", newKeys, authFile)).Output(); err != nil {
return errors.Wrapf(err, "write public keys: %s", output)

View File

@@ -18,12 +18,12 @@ import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
compute "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
cmd := shell.NewResourceCmd(&modules.WafIPSetCaches)
cmd.List(&compute.WafIPSetCacheListOptions{})
cmd.Show(&options.BaseIdOptions{})
cmd := shell.NewResourceCmd(&modules.SslCerticicate).WithKeyword("ssl-certificate")
cmd.List(&compute.SslCertificateListOptions{})
cmd.Show(&options.BaseShowOptions{})
cmd.Delete(&options.BaseIdOptions{})
}

View File

@@ -15,92 +15,18 @@
package compute
import (
"yunion.io/x/jsonutils"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
"yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
type StoragecacheListOptions struct {
options.BaseListOptions
CloudregionId string `help:"cloudregion id"`
}
R(&StoragecacheListOptions{}, "storage-cache-list", "List storage caches", func(s *mcclient.ClientSession, opts *StoragecacheListOptions) error {
params, err := options.ListStructToParams(opts)
if err != nil {
return err
}
result, err := modules.Storagecaches.List(s, params)
if err != nil {
return err
}
printList(result, modules.Storagecaches.GetColumns(s))
return nil
})
type StoragecacheShowptions struct {
ID string `help:"ID or Name of storagecache"`
}
R(&StoragecacheShowptions{}, "storage-cache-show", "Show details of storage caches", func(s *mcclient.ClientSession, args *StoragecacheShowptions) error {
result, err := modules.Storagecaches.Get(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
R(&StoragecacheShowptions{}, "storage-cache-delete", "Delete storage cache", func(s *mcclient.ClientSession, args *StoragecacheShowptions) error {
result, err := modules.Storagecaches.Delete(s, args.ID, nil)
if err != nil {
return err
}
printObject(result)
return nil
})
type StorageCacheImageActionOptions struct {
ID string `help:"ID or name of storage"`
IMAGE string `help:"ID or name of image"`
Force bool `help:"Force refresh cache, even if the image exists in cache"`
Format string `help:"image format" choices:"iso|qcow2|vmdk|vhd"`
}
R(&StorageCacheImageActionOptions{}, "storagecache-cache-image", "Ask a storage cache to cache a image", func(s *mcclient.ClientSession, args *StorageCacheImageActionOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.IMAGE), "image")
if args.Force {
params.Add(jsonutils.JSONTrue, "is_force")
}
if len(args.Format) > 0 {
params.Add(jsonutils.NewString(args.Format), "format")
}
storage, err := modules.Storagecaches.PerformAction(s, args.ID, "cache-image", params)
if err != nil {
return err
}
printObject(storage)
return nil
})
type StorageUncacheImageActionOptions struct {
ID string `help:"ID or name of storage"`
IMAGE string `help:"ID or name of image"`
Force bool `help:"Force uncache, even if the image exists in cache is invalid"`
}
R(&StorageUncacheImageActionOptions{}, "storagecache-uncache-image", "Ask a storage cache to remove image from its cache", func(s *mcclient.ClientSession, args *StorageUncacheImageActionOptions) error {
params := jsonutils.NewDict()
params.Add(jsonutils.NewString(args.IMAGE), "image")
if args.Force {
params.Add(jsonutils.JSONTrue, "is_force")
}
storage, err := modules.Storagecaches.PerformAction(s, args.ID, "uncache-image", params)
if err != nil {
return err
}
printObject(storage)
return nil
})
cmd := shell.NewResourceCmd(&modules.Storagecaches).WithKeyword("storage-cache")
cmd.List(&compute.StoragecacheListOptions{})
cmd.Show(&options.BaseIdOptions{})
cmd.Delete(&options.BaseIdOptions{})
cmd.Update(&options.BaseUpdateOptions{})
cmd.Perform("cache-image", &compute.StorageCacheImageActionOptions{})
cmd.Perform("uncache-image", &compute.StorageUncacheImageActionOptions{})
}

View File

@@ -45,6 +45,9 @@ func init() {
cmd.Perform("force-detach-host", &compute.StorageForceDetachHost{})
cmd.Perform("public", &options.BasePublicOptions{})
cmd.Perform("private", &options.BaseIdOptions{})
cmd.Get("hardware-info", &options.BaseIdOptions{})
cmd.Perform("set-hardware-info", &compute.StorageSetHardwareInfoOptions{})
cmd.Perform("set-commit-bound", &compute.StorageSetCommitBoundOptions{})
type StorageCephRunOptions struct {
ID string `help:"ID or name of ceph storage"`
@@ -58,9 +61,10 @@ func init() {
info := struct {
StorageType string `json:"storage_type"`
StorageConf struct {
Key string `json:"key"`
MonHost string `json:"mon_host"`
Pool string `json:"pool"`
Key string `json:"key"`
MonHost string `json:"mon_host"`
Pool string `json:"pool"`
EnableMessengerV2 bool `json:"enable_messenger_v2"`
}
}{}
err = result.Unmarshal(&info)
@@ -74,6 +78,7 @@ func init() {
info.StorageConf.MonHost,
info.StorageConf.Key,
info.StorageConf.Pool,
info.StorageConf.EnableMessengerV2,
)
if err != nil {
return errors.Wrap(err, "cephutils.NewClient")

View File

@@ -15,19 +15,25 @@
package compute
import (
"yunion.io/x/jsonutils"
"fmt"
"time"
"yunion.io/x/jsonutils"
"yunion.io/x/pkg/util/printutils"
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/modules/identity"
"yunion.io/x/onecloud/pkg/mcclient/modules/image"
"yunion.io/x/onecloud/pkg/mcclient/modules/k8s"
"yunion.io/x/onecloud/pkg/mcclient/options"
)
type GeneralUsageOptions struct {
HostType []string `help:"Host types" choices:"hypervisor|baremetal|esxi|xen|kubelet|hyperv|aliyun|azure|aws|huawei|qcloud|openstack|ucloud|zstack|google|ctyun"`
Provider []string `help:"Provider" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|ZStack|Google|Ctyun"`
Brand []string `help:"Brands" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|ZStack|DStack|Google|Ctyun"`
Provider []string `help:"Provider" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|VolcEngine|ZStack|Google|Ctyun"`
Brand []string `help:"Brands" choices:"OneCloud|VMware|Aliyun|Azure|Aws|Qcloud|Huawei|OpenStack|Ucloud|VolcEngine|ZStack|Google|Ctyun"`
Project string `help:"show usage of specified project"`
ProjectDomain string `help:"show usage of specified domain"`
@@ -58,7 +64,50 @@ func fetchHostTypeOptions(args *GeneralUsageOptions) *jsonutils.JSONDict {
return params
}
type HistoryUsageListOptions struct {
options.ExtraListOptions
StartDate time.Time
EndDate time.Time
Interval string `choices:"hour|day|month|year" default:"day"`
}
func (opts *HistoryUsageListOptions) Params() (jsonutils.JSONObject, error) {
if opts.StartDate.IsZero() || opts.EndDate.IsZero() {
opts.EndDate = time.Now()
switch opts.Interval {
case "hour":
opts.StartDate = time.Now().Add(time.Hour * -24)
case "day":
opts.StartDate = time.Now().AddDate(0, 0, -30)
case "month":
opts.StartDate = time.Now().AddDate(0, -12, 0)
case "year":
opts.StartDate = time.Now().AddDate(-3, 0, 0)
}
}
return jsonutils.Marshal(opts), nil
}
func (o *HistoryUsageListOptions) GetExportKeys() string {
return ""
}
func (o *HistoryUsageListOptions) GetId() string {
return ""
}
func init() {
cmd := shell.NewResourceCmd(modules.HistoryUsages)
cmd.GetWithCustomShow("list", func(data jsonutils.JSONObject) {
ret := map[string][]jsonutils.JSONObject{}
data.Unmarshal(&ret)
for k, d := range ret {
fmt.Println(k)
printutils.PrintJSONList(&printutils.ListResult{Data: d}, nil)
}
}, &HistoryUsageListOptions{})
R(&GeneralUsageOptions{}, "usage", "Show general usage", func(s *mcclient.ClientSession, args *GeneralUsageOptions) error {
params := fetchHostTypeOptions(args)
if args.Project != "" {

View File

@@ -17,7 +17,7 @@ package compute
import (
"yunion.io/x/onecloud/cmd/climc/shell"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {

View File

@@ -18,7 +18,8 @@ import (
"yunion.io/x/onecloud/cmd/climc/shell"
"yunion.io/x/onecloud/pkg/mcclient"
modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute"
"yunion.io/x/onecloud/pkg/mcclient/options"
baseoptions "yunion.io/x/onecloud/pkg/mcclient/options"
options "yunion.io/x/onecloud/pkg/mcclient/options/compute"
)
func init() {
@@ -33,12 +34,12 @@ func init() {
cmd.Perform("sync", &options.VpcIdOptions{})
cmd.Perform("syncstatus", &options.VpcIdOptions{})
cmd.Perform("private", &options.VpcIdOptions{})
cmd.Perform("public", &options.BasePublicOptions{})
cmd.Perform("public", &baseoptions.BasePublicOptions{})
cmd.Perform("change-owner", &options.VpcChangeOwnerOptions{})
cmd.Get("vpc-change-owner-candidate-domains", &options.VpcIdOptions{})
cmd.Get("topology", &options.VpcIdOptions{})
R(&options.ResourceMetadataOptions{}, "vpc-set-user-metadata", "Set metadata of a vpc", func(s *mcclient.ClientSession, opts *options.ResourceMetadataOptions) error {
R(&baseoptions.ResourceMetadataOptions{}, "vpc-set-user-metadata", "Set metadata of a vpc", func(s *mcclient.ClientSession, opts *baseoptions.ResourceMetadataOptions) error {
params, err := opts.Params()
if err != nil {
return err

View File

@@ -32,6 +32,11 @@ import (
func init() {
handleResult := func(s *mcclient.ClientSession, opt o.WebConsoleOptions, obj jsonutils.JSONObject) error {
if obj.Contains("access_url") {
accessUrl, _ := obj.GetString("access_url")
fmt.Println("AccessURL:", accessUrl)
return nil
}
if opt.WebconsoleUrl == "" {
resp, err := identity.ServicesV3.GetSpecific(s, "common", "config", nil)
if err != nil {
@@ -117,7 +122,7 @@ func init() {
if err != nil {
return err
}
ret, err := webconsole.WebConsole.DoSshConnect(s, args.IP, params)
ret, err := webconsole.WebConsole.DoSshConnect(s, args.ID, params)
if err != nil {
return err
}
@@ -133,4 +138,14 @@ func init() {
handleResult(s, args.WebConsoleOptions, ret)
return nil
})
R(&o.WebConsoleServerRdpOptions{}, "webconsole-server-rdp", "Connect server remote graphic console by rdp", func(s *mcclient.ClientSession, args *o.WebConsoleServerRdpOptions) error {
ret, err := webconsole.WebConsole.DoServerRDPConnect(s, args.ID, jsonutils.Marshal(map[string]interface{}{"webconsole": args}))
if err != nil {
return err
}
handleResult(s, args.WebConsoleOptions, ret)
return nil
})
}

View File

@@ -23,7 +23,7 @@ import (
func init() {
type WorkerListOptions struct {
ServiceType string `choices:"image|cloudid|cloudevent|devtool|ansible|identity|notify|log|compute|compute_v2"`
ServiceType string `choices:"image|cloudid|cloudevent|devtool|ansible|identity|notify|log|compute|compute_v2|meter|suggestion|cloudmon|cloudproxy|dns|monitor|scheduler|vpcagent|webconsole|yunionconf|bastionhost|extdb|yunionapi"`
}
R(&WorkerListOptions{}, "worker-list", "List workers", func(s *mcclient.ClientSession, args *WorkerListOptions) error {
result, err := modules.Workers.List(s, jsonutils.Marshal(args))

View File

@@ -168,6 +168,16 @@ func init() {
return doComputeEventList(s, &nargs)
})
R(&TypeEventListOptions{}, "dbinstance-event", "Show operation event logs of disk", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"dbinstance"}}
return doComputeEventList(s, &nargs)
})
R(&TypeEventListOptions{}, "lb-event", "Show operation event logs of disk", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"loadbalancer"}}
return doComputeEventList(s, &nargs)
})
R(&TypeEventListOptions{}, "eip-event", "Show operation event logs of elastic IP", func(s *mcclient.ClientSession, args *TypeEventListOptions) error {
nargs := EventListOptions{BaseEventListOptions: args.BaseEventListOptions, Id: args.ID, Type: []string{"eip"}}
return doComputeEventList(s, &nargs)

View File

@@ -229,7 +229,7 @@ type IPropertyOpt interface {
Property() string
}
func (cmd ResourceCmd) GetProperty(args IPropertyOpt) {
func (cmd ResourceCmd) GetPropertyWithShowFunc(args IPropertyOpt, showFunc func(jsonutils.JSONObject) error) {
man := cmd.manager
callback := func(s *mcclient.ClientSession, args IPropertyOpt) error {
params, err := args.Params()
@@ -240,6 +240,17 @@ func (cmd ResourceCmd) GetProperty(args IPropertyOpt) {
if err != nil {
return err
}
err = showFunc(ret)
if err != nil {
return err
}
return nil
}
cmd.RunWithDesc(args.Property(), fmt.Sprintf("Get property of a %s", man.GetKeyword()), args, callback)
}
func (cmd ResourceCmd) GetProperty(args IPropertyOpt) {
cmd.GetPropertyWithShowFunc(args, func(ret jsonutils.JSONObject) error {
if _, ok := ret.(*jsonutils.JSONArray); ok {
data, _ := ret.GetArray()
PrintList(&printutils.ListResult{
@@ -249,8 +260,7 @@ func (cmd ResourceCmd) GetProperty(args IPropertyOpt) {
PrintObject(ret)
}
return nil
}
cmd.RunWithDesc(args.Property(), fmt.Sprintf("Get property of a %s", man.GetKeyword()), args, callback)
})
}
func (cmd ResourceCmd) Show(args IShowOpt) {
@@ -657,15 +667,15 @@ func (cmd JointCmd) List(args IJointListOpt) {
cmd.RunWithDesc("list", fmt.Sprintf("list %s %s pairs", man.MasterManager().KeyString(), man.SlaveManager().KeyString()), args, callback)
}
type IJointShowOpt interface {
type IJointOpt interface {
IOpt
GetMasterId() string
GetSlaveId() string
}
func (cmd JointCmd) Show(args IJointShowOpt) {
func (cmd JointCmd) Show(args IJointOpt) {
man := cmd.manager.(modulebase.JointManager)
callback := func(s *mcclient.ClientSession, args IJointShowOpt) error {
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
params, err := args.Params()
if err != nil {
return err
@@ -679,3 +689,54 @@ func (cmd JointCmd) Show(args IJointShowOpt) {
}
cmd.Run("show", args, callback)
}
func (cmd JointCmd) Attach(args IJointOpt) {
man := cmd.manager.(modulebase.JointManager)
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := man.Attach(s, args.GetMasterId(), args.GetSlaveId(), params)
if err != nil {
return err
}
PrintObject(result)
return nil
}
cmd.Run("attach", args, callback)
}
func (cmd JointCmd) Detach(args IJointOpt) {
man := cmd.manager.(modulebase.JointManager)
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := man.Detach(s, args.GetMasterId(), args.GetSlaveId(), params)
if err != nil {
return err
}
PrintObject(result)
return nil
}
cmd.Run("detach", args, callback)
}
func (cmd JointCmd) Update(args IJointOpt) {
man := cmd.manager.(modulebase.JointManager)
callback := func(s *mcclient.ClientSession, args IJointOpt) error {
params, err := args.Params()
if err != nil {
return err
}
result, err := man.Update(s, args.GetMasterId(), args.GetSlaveId(), nil, params)
if err != nil {
return err
}
PrintObject(result)
return nil
}
cmd.Run("update", args, callback)
}

View File

@@ -31,4 +31,5 @@ func init() {
orgCmd.Delete(&identity_options.OrganizationIdOptions{})
orgCmd.Perform("add-level", &identity_options.OrganizationAddLevelOptions{})
orgCmd.Perform("add-node", &identity_options.OrganizationAddNodeOptions{})
orgCmd.Perform("clean", &identity_options.OrganizationIdOptions{})
}

View File

@@ -40,7 +40,7 @@ import (
"yunion.io/x/onecloud/pkg/util/tagutils"
)
func createPolicy(s *mcclient.ClientSession, name string, genName string, policy string, domain string, enabled bool, disabled bool, desc string, scope string, isSystem *bool, objectags, projecttags, domaintags tagutils.TTagSet) error {
func createPolicy(s *mcclient.ClientSession, name string, genName string, policy string, domain string, enabled bool, disabled bool, desc string, scope string, isSystem *bool, objectags, projecttags, domaintags tagutils.TTagSet, orgNodeId []string) error {
params := jsonutils.NewDict()
if len(genName) > 0 {
params.Add(jsonutils.NewString(genName), "generate_name")
@@ -83,6 +83,10 @@ func createPolicy(s *mcclient.ClientSession, name string, genName string, policy
params.Add(jsonutils.Marshal(domaintags), "domain_tags")
}
if len(orgNodeId) > 0 {
params.Add(jsonutils.NewStringArray(orgNodeId), "org_node_id")
}
result, err := modules.Policies.Create(s, params)
if err != nil {
return err
@@ -115,7 +119,12 @@ func createPolicyFromJson(s *mcclient.ClientSession, old jsonutils.JSONObject, a
domainTags = make(tagutils.TTagSet, 0)
old.Unmarshal(&domainTags, "domain_tags")
}
return createPolicy(s, argsName, genName, policy, argsDomain, enabled, !enabled, desc, scope, &isSystem, objectTags, projectTags, domainTags)
var nodeIds []string
if old.Contains("org_node_id") {
nodeIds = make([]string, 0)
old.Unmarshal(&nodeIds, "org_node_id")
}
return createPolicy(s, argsName, genName, policy, argsDomain, enabled, !enabled, desc, scope, &isSystem, objectTags, projectTags, domainTags, nodeIds)
}
func init() {
@@ -141,6 +150,8 @@ func init() {
ProjectTags string `help:"project tags"`
DomainTags string `help:"domain tags"`
ObjectTags string `help:"object tags"`
OrgNodeId []string `help:"node ids of organiazation tree node"`
}
R(&PolicyCreateOptions{}, "policy-create", "Create a new policy", func(s *mcclient.ClientSession, args *PolicyCreateOptions) error {
policyBytes, err := ioutil.ReadFile(args.FILE)
@@ -151,7 +162,7 @@ func init() {
objectTags := baseoptions.SplitTag(args.ObjectTags)
projectTags := baseoptions.SplitTag(args.ProjectTags)
domainTags := baseoptions.SplitTag(args.DomainTags)
return createPolicy(s, args.NAME, "", string(policyBytes), args.Domain, args.Enabled, args.Disabled, args.Desc, args.Scope, args.IsSystem, objectTags, projectTags, domainTags)
return createPolicy(s, args.NAME, "", string(policyBytes), args.Domain, args.Enabled, args.Disabled, args.Desc, args.Scope, args.IsSystem, objectTags, projectTags, domainTags, args.OrgNodeId)
})
type PolicyExportOptions struct {
@@ -213,6 +224,8 @@ func init() {
ProjectTags string `help:"project tags"`
DomainTags string `help:"domain tags"`
ObjectTags string `help:"object tags"`
OrgNodeId []string `help:"node ids of organiazation tree node"`
}
updateFunc := func(s *mcclient.ClientSession, args *PolicyPatchOptions) error {
policyId, err := modules.Policies.GetId(s, args.ID, nil)
@@ -262,6 +275,10 @@ func init() {
params.Add(jsonutils.NewString(args.TagsAction), "tag_update_policy")
}
if len(args.OrgNodeId) > 0 {
params.Add(jsonutils.NewStringArray(args.OrgNodeId), "org_node_id")
}
result, err := modules.Policies.Update(s, policyId, params)
if err != nil {
return err

View File

@@ -40,6 +40,7 @@ func init() {
cmd.GetProperty(&identity_options.ProjectGetPropertyTagValueTreeOptions{})
cmd.GetProperty(&identity_options.ProjectGetPropertyDomainTagValuePairOptions{})
cmd.GetProperty(&identity_options.ProjectGetPropertyDomainTagValueTreeOptions{})
cmd.PerformClass("clean", &identity_options.ProjectCleanOptions{})
type ProjectShowOptions struct {
ID string `help:"ID or Name of project"`
@@ -387,16 +388,18 @@ func init() {
})
type ProjectAddUserGroupOptions struct {
Project string `help:"ID or name of project to add users/groups" positional:"true" optional:"false"`
User []string `help:"ID of user to add"`
Group []string `help:"ID of group to add"`
Role []string `help:"ID of role to add"`
Project string `help:"ID or name of project to add users/groups" positional:"true" optional:"false"`
User []string `help:"ID of user to add"`
Group []string `help:"ID of group to add"`
Role []string `help:"ID of role to add"`
EnableAllUsers bool
}
R(&ProjectAddUserGroupOptions{}, "project-add-user-group", "Batch add users/groups to project", func(s *mcclient.ClientSession, args *ProjectAddUserGroupOptions) error {
input := api.SProjectAddUserGroupInput{}
input.Users = args.User
input.Groups = args.Group
input.Roles = args.Role
input.EnableAllUsers = args.EnableAllUsers
err := input.Validate()
if err != nil {
return err

View File

@@ -162,6 +162,18 @@ func init() {
return nil
})
type ServiceConfigShow2Options struct {
TYPE string `help:"service type"`
}
R(&ServiceConfigShow2Options{}, "service-config-show2", "Show configs of a service", func(s *mcclient.ClientSession, args *ServiceConfigShow2Options) error {
conf, err := modules.ServicesV3.GetConfig(s, args.TYPE)
if err != nil {
return err
}
fmt.Println(conf.PrettyString())
return nil
})
type ServiceConfigOptions struct {
SERVICE string `help:"service name or id"`
Config []string `help:"config options, can be a JSON, a YAML or a key=value pair, e.g:\n * JSON\n '{\"default\":{\"password_expiration_seconds\":300}}'\n * YAML\n default:\n password_expiration_seconds: 300\n * A key=value pair (under default section)\n password_expiration_seconds=300\n"`

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