* feat(notify): Add 'get-types' action for ConfigManager
The List interface is only open to administrators,
because we don't want anyone other than administrators
to see the details of the notify configuration.
To let general user to kown available notification channels,
add 'get-types' actions of ConfigManager.
* feat(notify): Check the availability of contact type before creating notification
Creating notification with unconfigured contact type will fail at
sending message. Now, prevent creation in advance.
* feat(notify): Add workwx for NotifyNormal/Important/Critical
* feat(notify): Add Notify about robot in notifyclient
* fix(notify): Init ParentContactType for SSubContact
1. ParentContactType of SSubContact with webconsole type is empty.
2. ParentContactType of others SSubContact is mobile.
* fix(notify): Unverify SSubContact when ParentContactType match
* fix(notify): When no data is initialized, exit directly
* fix(esxi): Fetch full templates of datastoreImageCache
Datastore 和 DatastoreImageCache 是一对一的关系。
每一个 Datastore 可能有多个对应的 Host,所以 GetIIMages 里面获取
Templates 的逻辑应该尝试去获取所有 Host 的 Templates。
* fix(host-deployer): Exit correctly after mounting
MountRootfs的返回值为nil时,还是需要Umount的操作来正确退出(比如VDDK)。
VDDK的Mount分为两步,第一步会挂在remote
disk到fuse下,然后挂载fuse/xxx/flat
到块设备上。第一步成功,第二部失败也应该正确退出。
* fix(host-deployer): Kill process
* opt(host-deployer): Increase timeout of waiting mount
* opt(host-deployer): Add debug log print command to mount
* fix(esxi): Support multi agent in different zone
* notify: log with context info
* region: guests: log with context info
* region: hosts: log with context info
* region: misc: remove redundant log
* region: skus: use NewInternalServerError instead of NewGeneralError
* appsrv: dispatcher: preserve text id
* appsrv: dispatcher: remove commented-out code
* cloudcommon: db_dispatcher: note errors that won't be translated
* cloudcommon: db: rbac: preserve text id
* cloudcommon: caller: preserve text id
* treewide: fix fmt string
* region: guest_actions: preserve text id
* region: guest_actions: fix fmt string
* region: usages: fix fmt string
* mcclient: hosts: remove redundant return value
* cloudcommon: fetch: preserve text id
* region: guest_template: preserve text id
* cloudcommon: db: db_dispatcher: preserve text id
* region: guest_actions: preserve text id
* httperrors: add funcs for wrap lang tag into context
* vendor: golang.org/x/text
* httperrors: error with context
* httperrors: HTTPError
* treewide: fix typo
* treewide: use en in source code
* locales: initial version
Fix the following error
run error: reflect: NumField of non-struct type *taskman.STask
Fixes 08cd41b60d ("cloudcommon: taskman: SetModelManager")
Reported-by: Qu Xuan <quxuan@yunionyun.com>