From 5b6852725efa2251d8dfbdc017bbb489b0c6d977 Mon Sep 17 00:00:00 2001 From: ShiChangkuo Date: Wed, 14 Apr 2021 19:31:45 +0800 Subject: [PATCH] fix interface conversion panic when the list method failed --- openstack/bms/v2/flavors/requests.go | 3 +++ openstack/bms/v2/keypairs/requests.go | 3 +++ openstack/bms/v2/nics/requests.go | 3 +++ openstack/bms/v2/servers/requests.go | 3 +++ openstack/csbs/v1/backup/requests.go | 3 +++ openstack/csbs/v1/policies/requests.go | 3 +++ openstack/deh/v1/hosts/doc.go | 8 ++++++-- openstack/deh/v1/hosts/requests.go | 3 +++ openstack/dns/v2/recordsets/doc.go | 2 +- openstack/networking/v1/subnets/requests.go | 3 +++ openstack/networking/v1/vpcs/requests.go | 3 +++ openstack/networking/v2/peerings/doc.go | 16 +++++----------- openstack/networking/v2/peerings/requests.go | 3 +++ openstack/sfs/v2/shares/requests.go | 3 +++ openstack/vbs/v2/policies/requests.go | 3 +++ openstack/vbs/v2/shares/requests.go | 3 +++ 16 files changed, 51 insertions(+), 14 deletions(-) diff --git a/openstack/bms/v2/flavors/requests.go b/openstack/bms/v2/flavors/requests.go index 0b7c3e119..43d2c1b73 100644 --- a/openstack/bms/v2/flavors/requests.go +++ b/openstack/bms/v2/flavors/requests.go @@ -67,6 +67,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Flavor, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return FlavorPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allFlavors, err := ExtractFlavors(pages) if err != nil { diff --git a/openstack/bms/v2/keypairs/requests.go b/openstack/bms/v2/keypairs/requests.go index f1416146f..369ed437b 100644 --- a/openstack/bms/v2/keypairs/requests.go +++ b/openstack/bms/v2/keypairs/requests.go @@ -19,6 +19,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]KeyPair, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return KeyPairPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allkeypairs, err := ExtractKeyPairs(pages) if err != nil { diff --git a/openstack/bms/v2/nics/requests.go b/openstack/bms/v2/nics/requests.go index 490afd722..b792416d6 100644 --- a/openstack/bms/v2/nics/requests.go +++ b/openstack/bms/v2/nics/requests.go @@ -24,6 +24,9 @@ func List(c *golangsdk.ServiceClient, serverId string, opts ListOpts) ([]Nic, er pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return NicPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allNICs, err := ExtractNics(pages) if err != nil { diff --git a/openstack/bms/v2/servers/requests.go b/openstack/bms/v2/servers/requests.go index e59cd87c7..08868cd3d 100644 --- a/openstack/bms/v2/servers/requests.go +++ b/openstack/bms/v2/servers/requests.go @@ -94,6 +94,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Server, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return ServerPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allservers, err := ExtractServers(pages) if err != nil { diff --git a/openstack/csbs/v1/backup/requests.go b/openstack/csbs/v1/backup/requests.go index da74e9a18..1b626c91b 100644 --- a/openstack/csbs/v1/backup/requests.go +++ b/openstack/csbs/v1/backup/requests.go @@ -41,6 +41,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Backup, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return BackupPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allBackups, err := ExtractBackups(pages) if err != nil { diff --git a/openstack/csbs/v1/policies/requests.go b/openstack/csbs/v1/policies/requests.go index 4ed667936..f7033bafa 100644 --- a/openstack/csbs/v1/policies/requests.go +++ b/openstack/csbs/v1/policies/requests.go @@ -31,6 +31,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]BackupPolicy, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return BackupPolicyPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allpolicy, err := ExtractBackupPolicies(pages) if err != nil { diff --git a/openstack/deh/v1/hosts/doc.go b/openstack/deh/v1/hosts/doc.go index 37ff2cb0e..aa4caf9f3 100644 --- a/openstack/deh/v1/hosts/doc.go +++ b/openstack/deh/v1/hosts/doc.go @@ -30,6 +30,10 @@ Example to delete Hosts Example to List Hosts listdeh := hosts.ListOpts{} alldehs, err := hosts.List(client,listdeh).AllPages() + if err != nil { + panic(err) + } + list,err:=hosts.ExtractHosts(alldehs) if err != nil { panic(err) @@ -45,10 +49,10 @@ Example to List Servers listOpts := hosts.ListServerOpts{} allServers, err := hosts.ListServer(client, "671611d2-b45c-4648-9e78-06eb24522291",listOpts) if err != nil { - panic(err) + panic(err) } for _, server := range allServers { - fmt.Printf("%+v\n", server) + fmt.Printf("%+v\n", server) } */ diff --git a/openstack/deh/v1/hosts/requests.go b/openstack/deh/v1/hosts/requests.go index ff3d1f15b..7b2402d2e 100644 --- a/openstack/deh/v1/hosts/requests.go +++ b/openstack/deh/v1/hosts/requests.go @@ -171,6 +171,9 @@ func ListServer(c *golangsdk.ServiceClient, id string, opts ListServerOpts) ([]S pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return ServerPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allservers, err := ExtractServers(pages) if err != nil { diff --git a/openstack/dns/v2/recordsets/doc.go b/openstack/dns/v2/recordsets/doc.go index 617fafa63..8a24c8b2d 100644 --- a/openstack/dns/v2/recordsets/doc.go +++ b/openstack/dns/v2/recordsets/doc.go @@ -15,7 +15,7 @@ Example to List RecordSets by Zone panic(err) } - allRRs, err := recordsets.ExtractRecordSets(allPages() + allRRs, err := recordsets.ExtractRecordSets(allPages) if err != nil { panic(err) } diff --git a/openstack/networking/v1/subnets/requests.go b/openstack/networking/v1/subnets/requests.go index 34fa625c3..57f4a8e6a 100644 --- a/openstack/networking/v1/subnets/requests.go +++ b/openstack/networking/v1/subnets/requests.go @@ -55,6 +55,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Subnet, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return SubnetPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allSubnets, err := ExtractSubnets(pages) if err != nil { diff --git a/openstack/networking/v1/vpcs/requests.go b/openstack/networking/v1/vpcs/requests.go index bc9edc2c1..543a9bc1b 100644 --- a/openstack/networking/v1/vpcs/requests.go +++ b/openstack/networking/v1/vpcs/requests.go @@ -42,6 +42,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Vpc, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return VpcPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allVpcs, err := ExtractVpcs(pages) if err != nil { diff --git a/openstack/networking/v2/peerings/doc.go b/openstack/networking/v2/peerings/doc.go index c51cb1588..9d9efbfa2 100644 --- a/openstack/networking/v2/peerings/doc.go +++ b/openstack/networking/v2/peerings/doc.go @@ -2,31 +2,25 @@ Package peerings enables management and retrieval of vpc peering connections Example to List a Vpc Peering Connections - listOpts:=peerings.ListOpts{} + listOpts:=peerings.ListOpts{} peering,err :=peerings.List(client,sub).AllPages() + if err != nil{ + fmt.Println(err) + } peerings,err:=peerings.ExtractPeerings(peering) - - if err != nil{ fmt.Println(err) } Example to Get a Vpc Peering Connection - - peeringID := "6bbacb0f-9f94-4fe8-a6b6-1818bdccb2a3" - - + peeringID := "6bbacb0f-9f94-4fe8-a6b6-1818bdccb2a3" peering,err :=peerings.Get(client,peeringID).Extract() - - if err != nil{ fmt.Println(err) } - - Example to Accept a Vpc Peering Connection Request // Note:- The TenantId should be of accepter diff --git a/openstack/networking/v2/peerings/requests.go b/openstack/networking/v2/peerings/requests.go index 4a26c4726..26c0a17b5 100644 --- a/openstack/networking/v2/peerings/requests.go +++ b/openstack/networking/v2/peerings/requests.go @@ -60,6 +60,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Peering, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return PeeringConnectionPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allPeeringConns, err := ExtractPeerings(pages) if err != nil { diff --git a/openstack/sfs/v2/shares/requests.go b/openstack/sfs/v2/shares/requests.go index bef4422df..d726b5ab0 100644 --- a/openstack/sfs/v2/shares/requests.go +++ b/openstack/sfs/v2/shares/requests.go @@ -83,6 +83,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Share, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return SharePage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allShares, err := ExtractShares(pages) if err != nil { diff --git a/openstack/vbs/v2/policies/requests.go b/openstack/vbs/v2/policies/requests.go index 24f855a65..0441eb320 100644 --- a/openstack/vbs/v2/policies/requests.go +++ b/openstack/vbs/v2/policies/requests.go @@ -148,6 +148,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Policy, error) { pages, err := pagination.NewPager(c, commonURL(c), func(r pagination.PageResult) pagination.Page { return PolicyPage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allPolicies, err := ExtractPolicies(pages) if err != nil { diff --git a/openstack/vbs/v2/shares/requests.go b/openstack/vbs/v2/shares/requests.go index 5cc521ac4..6df3991a2 100644 --- a/openstack/vbs/v2/shares/requests.go +++ b/openstack/vbs/v2/shares/requests.go @@ -50,6 +50,9 @@ func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Share, error) { pages, err := pagination.NewPager(c, u, func(r pagination.PageResult) pagination.Page { return SharePage{pagination.LinkedPageBase{PageResult: r}} }).AllPages() + if err != nil { + return nil, err + } allShares, err := ExtractShareList(pages) if err != nil {