0
点赞
收藏
分享

微信扫一扫

Harbor v2.0 API 无法获取Projects全部数量BUG复现

👨🏻‍🎓博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识🌟
🌈擅长领域:云原生、数据库、自动化运维
🙏🏻如果本文章对小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏!
🤝如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!
🍂 落叶而知秋,博闻而强识!
📕 精品专栏:​​Harbor进阶实战(企业级)​​

文章来源:《Harbor进阶实战》公众

BUG描述

在使用curl命令获取Harbor Projects数量时,出现了一个BUG:只能获取到前面10个Projects。

BUG复现

2.1 批量创建projects(项目)

1) 把创建的项目名称保存到指定文件

$ cat <<EOF > Projects.txt
lidabai-test1
lidabai-test2
lidabai-test3
lidabai-test4
lidabai-test5
lidabai-test6
lidabai-test7
lidabai-test8
lidabai-test9
lidabai-test10
lidabai-test11
lidabai-test12
lidabai-test13
lidabai-test14
EOF

2)编写批量创建Projects的脚本

$ vim Harbor-project-create-v1.sh 

#!/bin/bash
Harbor_Url=https://192.168.2.250:443
User=admin
Passwd=Harbor12345

# 将需要创建的项目名称填入到Projects.txt文件中
for project in `cat Projects.txt`;do
cat <<EOF >  tempharborProject.json
 {
  "project_name": "$project",
  "public": false                      
 }
EOF
  echo "查看文件内容:"
  cat tempharborProject.json
  echo "====================="
  curl -u "$User:$Passwd" -X POST -H "Content-Type: application/json"  $Harbor_Url/api/v2.0/projects -k -d @tempharborProject.json
done

image.png

3)执行脚本批量创建projects

$ chmod +x Harbor-project-create-v1.sh   #给脚本可执行权限
$ sh Harbor-project-create-v1.sh   #执行脚本
查看文件内容:
 {
  "project_name": "lidabai-test1",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test2",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test3",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test4",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test5",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test6",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test7",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test8",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test9",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test10",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test11",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test12",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test13",
  "public": false                      
 }
=====================
查看文件内容:
 {
  "project_name": "lidabai-test14",
  "public": false                      
 }
=====================

image.png

4)Harbor UI查看Projects数量

通过Harbor UI界面可以看到项目(Projects)的数量为16个。
image.png

2.2 API 获取Projects数量

调用Harbor v2 API 获取Projects数量。

$ curl -u admin:Harbor12345   -H "Content-Type: application/json" -X GET  https://192.168.2.250:443/api/v2.0/projects?  -k  |  python -m json.tool | grep name | awk '/"name": /'  | awk -F '"' '{print $4}'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4255    0  4255    0     0  89720      0 --:--:-- --:--:-- --:--:-- 90531
jenkins-demo
library
lidabai-test1
lidabai-test10
lidabai-test11
lidabai-test12
lidabai-test13
lidabai-test14
lidabai-test2
lidabai-test3

image.png

举报

相关推荐

0 条评论