Commit Graph

7968 Commits

Author SHA1 Message Date
mssonicbld
2a9391ad8f
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#17938)
#### Why I did it
src/sonic-utilities
```
* c5e30e38 - (HEAD -> 202305, origin/202305) [202305] Enhanced route_check.py for multi_asic platforms (#3112) (21 hours ago) [Deepak Singhal]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-30 16:32:39 +08:00
abdosi
a118a5ba43
[chassis] Added support of isolating given LC in Chassis with TSA mode (#16732) (#17860)
What I did:
Added support when TSA is done on Line Card make sure it's completely
isolated from all e-BGP peer devices from this LC or remote LC

Why I did:
Currently when TSA is executed on LC routes are withdrawn from it's connected e-BGP peers only. e-BGP peers on remote LC can/will (via i-BGP) still have route pointing/attracting traffic towards this isolated LC.

How I did:

When TSA is applied on LC all the routes that are advertised via i-BGP are set with community tag of no-export so that when remote LC received these routes it does not send over to it's connected e-BGP peers.

Also once we receive the route with no-export  over iBGP match on it and and set the local preference of that route to lower value (80) so that we remove that route from the forwarding database. Below scenario explains why we do this:

- LC1 advertise R1 to LC3
- LC2 advertise R1 to LC3
- On LC3 we have multi-path/ECMP over both LC1 and LC2
- On LC3 R1 received from LC1 is consider best route over R1 over received from LC2 and is send to LC3 e-BGP peers
- Now we do TSA on LC2
- LC3 will receive R1 from LC2 with community no-export and from LC1 same as earlier (no change)
- LC3 will still get traffic for R1 since it is still advertised to e-BGP peers (since R1 from LC1 is best route)
- LC3 will forward to both LC1 and LC2 (ecmp) and this causes issue as LC2 is in TSA mode and should not receive traffic

To fix above scenario we change the preference to lower value of R1 received from LC2 so that it is removed from Multi-path/ECMP group.

How I verfiy:

UT has been added to make sure Template generation is correct
Manual Verification of the functionality
sonic-mgmt test case will be updated accordingly.
Please note this PR is on top of this :#16714 which needs to be merged first.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2024-01-29 22:54:18 +08:00
Junchao-Mellanox
18fbca839f Fix error log while creating PSU thermal object (#17789)
- Why I did it
If a PSU is not present, there could be error log while restarting psud or thermalctld:

Jan  8 17:15:52.689616 sonic ERR pmon#psud: Thermal sysfs /run/hw-management/thermal/psu2_temp1_max does not exist

Jan  8 17:15:57.747723 sonic ERR pmon#thermalctld: Thermal sysfs /run/hw-management/thermal/psu2_temp1 does not exist

- How I did it
if a PSU is not present, we should not check the PSU temperature sysfs.
2024-01-29 18:32:33 +08:00
ganglv
6a76a73b0f Change tcp port range to support telemetry and gnmi (#17907)
* Reserve tcp port for telemetry and gnmi

* Use ip_local_port_range instead

* Fix sysctl config
2024-01-29 14:32:34 +08:00
Kevin Wang
1e758d4538 [qos] change the template keyword from Compute-AI to ComputeAI (#17902)
Why I did it
Align the keywords to make qos configuration take effect

Work item tracking
Microsoft ADO (number only):
How I did it
Change the keyword to ComputeAI

How to verify it
reload minigraph and check the qos configuration
2024-01-29 14:32:31 +08:00
mssonicbld
335ebaafc2
[submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#17891)
#### Why I did it
src/sonic-platform-daemons
```
* 824c20a - (HEAD -> 202305, origin/202305) Support 800G ifname in xcvrd (#420) (20 hours ago) [Anoop Kamath]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-24 16:35:00 +08:00
mssonicbld
78e211cfd0
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#17868)
#### Why I did it
src/sonic-utilities
```
* 83a548de - (HEAD -> 202305, origin/202305) Disable Key Validation feature during sonic-installation for Cisco Platforms (#3115) (22 hours ago) [selvipal]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-21 16:32:35 +08:00
mssonicbld
5d30151268
[submodule] Update submodule sonic-snmpagent to the latest HEAD automatically (#17863)
#### Why I did it
src/sonic-snmpagent
```
* 6f59d29 - (HEAD -> 202305, origin/202305) Fix SNMP dropping some of the queue counter when create_only_config_db_buffers is set to true (#303) (#309) (33 minutes ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-20 16:32:45 +08:00
mssonicbld
208c1705f5
[submodule] Update submodule sonic-snmpagent to the latest HEAD automatically (#17859)
#### Why I did it
src/sonic-snmpagent
```
* 2efaf2e - (HEAD -> 202305, origin/202305) Revert "[action] [PR:303] Fix SNMP dropping some of the queue counter when create_only_config_db_buffers is set to true (#303)" (#308) (4 minutes ago) [StormLiangMS]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-20 04:32:37 +08:00
Saikrishna Arcot
306175be2c
dhcrelay: Don't look up the ifindex for the fallback interface (#17797) (#17840)
Currently, whenever isc-dhcp-relay forwards a packet upstream,
internally, it will try to send it on a "fallback" interface. My
understanding is that this isn't meant to be a real interface, but
instead is basically saying to use Linux's regular routing stack to
route the packet appropriately (rather than having isc-dhcp-relay
specify specifically which interface to use).

The problem is that on systems with a weak CPU, a large number of
interfaces, and many upstream servers specified, this can introduce a
noticeable delay in packets getting sent. The delay comes from trying to
get the ifindex of the fallback interface. In one test case, it got to
the point that only 2 packets could be processed per second. Because of
this, dhcrelay will easily get backlogged and likely get to a point
where packets get dropped in the kernel.

Fix this by adding a check saying if we're using the fallback interface,
then don't try to get the ifindex of this interface. We're never going
to have an interface named this in SONiC.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2024-01-19 19:16:04 +08:00
mssonicbld
fc7a1ac02f
[submodule] Update submodule sonic-snmpagent to the latest HEAD automatically (#17853)
#### Why I did it
src/sonic-snmpagent
```
* b0a4bcc - (HEAD -> 202305, origin/202305) Set the execute bit on sysDescr_pass.py (#306) (22 hours ago) [Andre Kostur]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-19 18:36:00 +08:00
mssonicbld
30b1f05f0c
[submodule] Update submodule linkmgrd to the latest HEAD automatically (#17851)
#### Why I did it
src/linkmgrd
```
* f5e9b54 - (HEAD -> 202305, origin/202305) [CodeQL] fix unmet build dependency (#222) (10 hours ago) [Jing Zhang]
* 2282cc5 - [active-standby] Probe the link in suspend timeout (#235) (22 hours ago) [Longxiang Lyu]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-19 16:34:55 +08:00
mssonicbld
66ce739340
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#17855)
#### Why I did it
src/sonic-utilities
```
* 93c42272 - (HEAD -> 202305, origin/202305) [chassis]: Support show ip bgp summary to display without error when no external neighbors are configured on chassis LC (#3099) (22 hours ago) [Arvindsrinivasan Lakshmi Narasimhan]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-19 16:34:46 +08:00
zitingguo-ms
076b6c3d25
upgrade xgs SAI to 8.4.39.2 (#17842)
Why I did it
Upgrade the xgs SAI version to 8.4.39.2 to include the following fix:

8.4.36.0: [submodule upgrade] [SAI_BRANCH rel_ocp_sai_8_4] SID: SDK-381039 Cosq control dynamic type changes
8.4.37.0: SID: MMU cosq control configuration with Dynamic Type Check
8.4.38.0: [sbumodule upgrade] [CSP 0001232212][SAI_BRANCH rel_ocp_sai_8_4]back-porting SONIC-82415 to SAI 8.4
8.4.39.0: [CSP CS00012320979] Port SONIC-81867 sai spec compliance for get SAI_SWITCH_ATTR_SWITCH_HARDWARE_INFO
8.4.39.1: changes for phy-re-init of 40G ports for TH platforms CS00012327470
8.4.39.2: fix capability for Hostif queue by change SET operation of SAI_HOSTIF_ATTR_QUEUE to be true
Work item tracking
Microsoft ADO (number only): 26491005
How I did it
Upgrade xgs SAI version in sai.mk file.

How to verify it
Run basic SONiC test using SAI release pipeline, all cases passed.
https://dev.azure.com/mssonic/internal/_build/results?buildId=457869&view=results
2024-01-19 14:56:01 +08:00
abdosi
6d767e549d
[chassis] Support advertisement of Loopback0 of all LC's across all e-BGP peers in TSA mode (#16714) (#17837)
What I did:
In Chassis TSA mode Loopback0 Ip's of each LC's should be advertise through e-BGP peers of each remote LC's

How I did:

- Route-map policy to Advertise own/self Loopback IP to other internal iBGP peers with a community internal_community as define in constants.yml
- Route-map policy to match on above internal_community when route is received from internal iBGP peers and set a internal tag as define in constants.yml and also delete the internal_community so we don't send to any of e-BGP peers
- In TSA new route-map match on above internal tag and permit the route (Loopback0 IP's of remote LC's) and set the community to traffic_shift_community.
- In TSB delete the above new route-map.

How I verify:

Manual Verification

UT updated.
sonic-mgmt PR: sonic-net/sonic-mgmt#10239

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2024-01-19 12:53:26 +08:00
Baorong Liu
898f1263c8
[staticroutebfd]double commit PR-16450, change bfd to singlehop (#17549)
Why I did it
double commit PR-16450 because of cherry pick conflict for PR#202305

Work item tracking
Microsoft ADO (number only):
How I did it
How to verify it
2024-01-18 20:08:29 +08:00
ganglv
d81780baa3
Fix host service for 202305 branch (#17781)
Why I did it
When we disable telemetry.service, sonic-hostservice will not start. And root cause is sonic-hostservice is only wanted by telemetry.service.

Work item tracking
Microsoft ADO (number only):
How I did it
Add dependency for gnmi.service.

How to verify it
Disable telemetry.service and build new image, and then check sonic-hostservice with new image.
2024-01-18 20:07:40 +08:00
Liu Shilong
b99c46e3f8
[build] Add gpg keys for sonic-slave-bullseye in arm64 cross build on amd64. (#17182) (#17828)
Fix #16204

Microsoft ADO (number only): 25746782

How I did it
multiarch/debian-debootstrap:arm64-bullseye is too old.
It needs to add some gpg keys before 'apt-get update'
2024-01-18 20:05:04 +08:00
mssonicbld
f460347a34
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#17821)
#### Why I did it
src/sonic-swss
```
* ac94f0b7 - (HEAD -> 202305, origin/202305) [202305][routeorch] Fixing bug with multiple routes pointing to nhg (#3002) (2 hours ago) [Nikola Dancejic]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-18 16:34:00 +08:00
abdosi
ed71c12e05 Enable BFD for Static Route for chassis-packet. (#15383)
*What I did:
Enable BFD for Static Route for chassis-packet. This will trigger the use of the feature as defined in here: #13789

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2024-01-18 14:36:19 +08:00
abdosi
aa01630841 [build]: Added flag in sonic_version.yml to see if image is secured or non-secured (#16191)
What I did:

Added flag in sonic_version.yml to see if compiled image is secured or non-secured. This is done using build/compile time environmental variable SECURE_UPGRADE_MODE as define in HLD: https://github.com/sonic-net/SONiC/blob/master/doc/secure_boot/hld_secure_boot.md

This flag does not provide the runtime status of whether the image has booted securely or not. It's possible that compile time signed image (secured image) can boot on non secure platform.

Why I did:
Flag can be used for manual check or by the test case.

ADO: 24319390

How I verify:
Manual Verification

---
build_version: 'master-16191.346262-cdc5e72a3'
debian_version: '11.7'
kernel_version: '5.10.0-18-2-amd64'
asic_type: broadcom
asic_subtype: 'broadcom'
commit_id: 'cdc5e72a3'
branch: 'master-16191'
release: 'none'
build_date: Fri Aug 25 03:15:45 UTC 2023
build_number: 346262
built_by: AzDevOps@vmss-soni001UR5
libswsscommon: 1.0.0
sonic_utilities: 1.2
sonic_os_version: 11
secure_boot_image: 'no'

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2024-01-18 14:36:15 +08:00
snider-nokia
9f81d9d1bf [Nokia][sonic-platform] Update Nokia sonic-platform submodule and device data (#17378)
These changes, in conjunction with NDK version >= 22.9.17 address the thermal logging issues discussed at Nokia-ION/ndk#27. While the changes contained at this PR do not require coupling to NDK version >= 22.9.17, thermal logging enhancements will not be available without updated NDK >= 22.9.17. Thus, coupling with NDK >=22.9.17 is preferred and recommended.

Why I did it
To address thermal logging deficiencies.

Work item tracking
Microsoft ADO (number only): 26365734
How I did it
The following changes are included:

Threshold configuration values are provided in the associated device data .json files. There is also a change included to better handle the condition where an SFP module read fails.

Modify the module.py reboot to support reboot linecard from Supervisor

 - Modify reboot to call _reboot_imm for single IMM card reboot
 - Add log to the ndk_cmd to log the operation of "reboot-linecard" and "shutdown/satrtup the sfm"
Add new nokia_cmd set command and modify show ndk-status output

 - Add a new function reboot_imm() to nokia_common.py to support reboot a single IMM slot from CPM
 - Added new command: nokia_cmd set reboot-linecard <slot> [forece] for CPM
 - Append a new column "RebootStatus" at the end of output of "nokia_cmd show ndk-status"
 - Provide ability for IMM to disable all transceiver module TX at reboot time
 - Remove defunct xcvr-resync service
2024-01-18 14:36:12 +08:00
Marty Y. Lok
2f8630c85f [Nokia-IXR7250E] Modify the platform_reboot on the IXR7250E for PMON API reboot and Disable all SFPs (#17483)
Why I did it
When Supervisor card is rebooted by using PMON API, it takes about 90 seconds to trigger the shutdown in down path. At this time linecards have been up. This delays linecards database initialization which is trying to PING/PONG the database-chassis. To address this issue, we modified the NDK to use the system call with "sudo reboot" when the request is from PMON API on Supervisor case. The NDK version is 22.9.20 and greater. This new NDK requires this modifcaiton of platform_reboot to work with.

Work item tracking
Microsoft ADO (number only): 26365734
How I did it
Modify the platform_reboot In Supervisor not to reboot all IMMs since it has been done in the function reboot() in module.py. Also handle the reboot-cause.txt for on the Supervisor when the reboot is request from PMON API.
Modify the Nokia platform specific platform_reboot in linecard to disable all SPFs.
This PR works with NDK version 22.9.20 and above

Signed-off-by: mlok <marty.lok@nokia.com>
2024-01-18 14:36:08 +08:00
Liu Shilong
6926171e92 [build] Fix a bash script some times called by sh issue. (#17761)
Why I did it
Fix a bug that sometimes the script runs in sh not bash.

Work item tracking
Microsoft ADO (number only): 26297955
How I did it
2024-01-18 14:36:04 +08:00
vdahiya12
a262306822 [Arista] Update config.bcm of 7060_cx32s for handling 40g optics with unreliable los settings (#17768)
For 40G optics there is SAI handling of T0 facing ports to be set with SR4 type and unreliable los set for a fixed set of ports. For this property to be invoked the requirement is set
phy_unlos_msft=1 in config.bcm.
This change is to meet the requirement and once this property is set, the los/interface type settings is applied by SAI on the required ports.

Why I did it
For Arista-7060CX-32S-Q32 T1, 40G ports RX_ERR minimalization during connected device reboot
can be achieved by turning on Unreliable LOS and SR4 media_type for all ports which are connected to T0.

The property phy_unlos_msft=1 is to exclusively enable this property.

Microsoft ADO: 25941176

How I did it
Changes in SAI and turning on property

How to verify it
Ran the changes on a testbed and verified configurations are as intended.

with property

admin@sonic2:~$ bcmcmd "phy diag xe8 dsc config" | grep -C 2 "LOS"
Brdfe_on                    = 0
Media Type                  = 2
Unreliable LOS              = 1
Scrambling Disable          = 0
Lane Config from PCS        = 0

without property

admin@sonic:~$ bcmcmd "phy diag xe8 dsc config" | grep -C 2 "LOS"
Brdfe_on                    = 0
Media Type                  = 0
Unreliable LOS              = 0
Scrambling Disable          = 0
Lane Config from PCS        = 0

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2024-01-18 04:32:39 +08:00
Feng-msft
245f337d14 Fix dialout build flag issue. (#17715)
### Why I did it
Fix ENABLE_DIALOUT flag issue.

##### Work item tracking
- Microsoft ADO **(number only)**: 21326000

#### How I did it
Update Makefile.work and add debug string.

#### How to verify it
![image](https://github.com/sonic-net/sonic-buildimage/assets/97083744/960d75d1-618c-4734-acb5-7a32a28c262b)
2024-01-17 02:34:03 +08:00
Liping Xu
b53a8908b0 disable restapi for leafRouter in slim image (#17713)
Why I did it
For some devices with small memory, after upgrading to the latest image, the available memory is not enough.

Work item tracking
Microsoft ADO (number only):
26324242
How I did it
Disable restapi feature for LeafRouter which with slim image.

How to verify it
verified on 7050qx T1 (slim image), restapi disabled
verified on 7050qx T0 (slim image), restapi enabled
verified on 7260 T1 (normal image), restapi enabled
2024-01-12 20:47:37 +08:00
mssonicbld
8561fa6db7
[submodule] Update submodule sonic-utilities to the latest HEAD automatically (#17757)
#### Why I did it
src/sonic-utilities
```
* 651a80b1 - (HEAD -> 202305, origin/202305) Modify teamd retry count script to base BGP status on default BGP status (#3069) (22 hours ago) [Saikrishna Arcot]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-12 16:34:35 +08:00
Lawrence Lee
9f66a7dbf6 add timeout to ping6 command (#17729)
Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2024-01-11 12:34:22 +08:00
Nazarii Hnydyn
13aa19acf4
[swss/syncd]: Remove dependency on interfaces-config.service (#17649)
Signed-off-by: Nazarii Hnydyn nazariig@nvidia.com

This improvement does not bring any warm-reboot degradation, since the database availability (tcp/ip access over the loopback interface) was fixed by these PRs:

Re-add 127.0.0.1/8 when bringing down the interfaces #15080
Fix potentially not having any loopback address on lo interface #16490
Why I did it
Removed dependency on interfaces-config.service to speed up the boot, because interfaces-config.service takes a lot of time on init
Work item tracking
N/A
How I did it
Changed service files for swss/syncd
How to verify it
Boot and check swss/syncd start time comparing to interfaces-config
2024-01-10 21:15:55 +08:00
mssonicbld
f4c15b8322
[submodule] Update submodule linkmgrd to the latest HEAD automatically (#17731)
#### Why I did it
src/linkmgrd
```
* 2f5971f - (HEAD -> 202305, origin/202305) [warmboot] use config_db connector to update mux mode config instead of CLI (#223) (4 hours ago) [Jing Zhang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-10 16:34:10 +08:00
Nazarii Hnydyn
a3b5ea93eb
[sonic-cfggen]: Optimize template rendering and database access. (#17650)
Signed-off-by: Nazarii Hnydyn nazariig@nvidia.com

Why I did it
Improved switch init time
Work item tracking
N/A
How I did it
Replaced: sonic-cfggen -> sonic-db-cli
Aggregated template list for sonic-cfggen
How to verify it
Run warm-reboot
2024-01-10 08:56:20 +08:00
mssonicbld
44bc291ba5
[submodule] Update submodule linkmgrd to the latest HEAD automatically (#17721)
#### Why I did it
src/linkmgrd
```
* 2089ab6 - (HEAD -> 202305, origin/202305) Exclude DbInterface in PR coverage check (#224) (3 hours ago) [Jing Zhang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-10 04:32:40 +08:00
mssonicbld
1337597b39
[submodule] Update submodule sonic-snmpagent to the latest HEAD automatically (#17722)
#### Why I did it
src/sonic-snmpagent
```
* e5fd192 - (HEAD -> 202305, origin/202305) Fix SNMP dropping some of the queue counter when create_only_config_db_buffers is set to true (#303) (9 hours ago) [DavidZagury]
```
#### How I did it
#### How to verify it
#### Description for the changelog
2024-01-10 02:32:19 +08:00
mssonicbld
bb23f7ba8c
[submodule] Update submodule sonic-gnmi to the latest HEAD automatically (#17696) 2024-01-06 16:42:00 +08:00
mssonicbld
7ccef97d30
[YANG] Enable Yang model for BGP_BBR config entry (#17622) (#17692) 2024-01-06 03:37:17 +08:00
mssonicbld
8defdfefe6
[submodule] Update submodule sonic-sairedis to the latest HEAD automatically (#17691) 2024-01-06 01:15:01 +08:00
mssonicbld
b54996246a
[submodule] Update submodule sonic-gnmi to the latest HEAD automatically (#17690) 2024-01-06 01:00:55 +08:00
mssonicbld
02dc49a3cc
[submodule] Update submodule linkmgrd to the latest HEAD automatically (#17687) 2024-01-05 15:14:43 +08:00
mssonicbld
0d31ee8d4a
Update TELEMETRY_CLIENT YANG model (#16861) (#17679) 2024-01-05 02:39:03 +08:00
mssonicbld
df22ca9132
[Arista] Remove aggregate port config files for multi-asic devices (#16923) (#17678) 2024-01-05 01:04:39 +08:00
mssonicbld
ca2695f4b8
password-hardening: Add support to disable expiration date like in Linux (PAM) (#17426) (#17674) 2024-01-05 00:44:19 +08:00
mssonicbld
388457aaf8
[arp_update]: Flush neighbors with incorrect MAC info (#17238) (#17677) 2024-01-05 00:35:07 +08:00
mssonicbld
38c5e6825d
Fix can't access IPV6 address via management interface because 'default' route table does not add to route lookup issue. (#17281) (#17676) 2024-01-05 00:32:38 +08:00
mssonicbld
76d8ff06b3
Update backend_acl.py to specify ACL table name (#17553) (#17673) 2024-01-04 23:10:28 +08:00
mssonicbld
b72a74047e
[docker_image_ctl.j2]: swss docker initialization improvements (#17628) (#17672) 2024-01-04 22:37:26 +08:00
mssonicbld
609b3a7646
[image_config]: Update DHCP rate-limit for mgmt TOR devices (#17630) (#17671) 2024-01-04 22:29:00 +08:00
mssonicbld
8362c096a3
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#17642) 2024-01-02 15:13:53 +08:00
Stepan Blyshchak
3cb6343311
[202305] Revert bgp suppress fib pending (#17578)
DEPENDS ON: sonic-net/sonic-swss#2997 sonic-net/sonic-utilities#3093

What I did

Revert the feature.

Why I did it

Revert bgp suppress FIB functionality due to found FRR memory consumption issues and bugs.

How I verified it

Basic sanity check on t1-lag, regression in progress.
2024-01-02 08:59:17 +08:00
mssonicbld
64ed3d5b78
Fix system-health hardware_checker to consume fan tolerance details (#16689) (#17640) 2024-01-01 10:31:33 +08:00