Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Utility scripts #391

Merged
merged 6 commits into from
Aug 3, 2021
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changes/sections
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
features
improvements
bug-fixes
deprecations
notes
removals
breaking-changes
2 changes: 2 additions & 0 deletions .changes/v2.12.0/364-deprecations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Deprecated `vdc.GetEdgeGatewayRecordsType` [GH-364]

2 changes: 2 additions & 0 deletions .changes/v2.12.0/364-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Added method `vdc.QueryEdgeGateway` [GH-364]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/367-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Only send xml.Header when payload is not empty (some WAFs block empty requests with XML header)
[GH-367]

14 changes: 14 additions & 0 deletions .changes/v2.12.0/368-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
* Added NSX-T Firewall Group type (which represents a Security Group or an IP Set) support by using
structures `NsxtFirewallGroup` and `NsxtFirewallGroupMemberVms`. The following methods are
introduced for managing Security Groups and Ip Sets: `Vdc.CreateNsxtFirewallGroup`,
`NsxtEdgeGateway.CreateNsxtFirewallGroup`, `Org.GetAllNsxtFirewallGroups`,
`Vdc.GetAllNsxtFirewallGroups`, `Org.GetNsxtFirewallGroupByName`,
`Vdc.GetNsxtFirewallGroupByName`, `NsxtEdgeGateway.GetNsxtFirewallGroupByName`,
`Org.GetNsxtFirewallGroupById`, `Vdc.GetNsxtFirewallGroupById`,
`NsxtEdgeGateway.GetNsxtFirewallGroupById`, `NsxtFirewallGroup.Update`,
`NsxtFirewallGroup.Delete`, `NsxtFirewallGroup.GetAssociatedVms`,
`NsxtFirewallGroup.IsSecurityGroup`, `NsxtFirewallGroup.IsIpSet`
[GH-368]
* Added methods Org.QueryVmList and Org.QueryVmById to find VM by ID in an Org
[GH-368]

5 changes: 5 additions & 0 deletions .changes/v2.12.0/368-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Improved test entity cleanup to find standalone VMs in any VDC (not only default NSX-V one)
[GH-368]
* Improved test entity cleanup to allow specifying parent VDC for vApp removals
[GH-368]

5 changes: 5 additions & 0 deletions .changes/v2.12.0/371-breaking-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Field `types.Disk.Size` is replaced with `types.Disk.SizeMb` as size in Kilobytes is not supported in V33.0
[GH-371]
* Field `types.DiskRecordType.SizeB` is replaced with `types.DiskRecordType.SizeMb` as size in Kilobytes is not
supported in V33.0 [GH-371]

5 changes: 5 additions & 0 deletions .changes/v2.12.0/371-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Methods `GetVDCById` and `GetVDCByName` for `Org` now use queries behind the scenes because Org
structure does not list child VDCs anymore [GH-371], [GH-376], [GH-382]
* Methods `GetCatalogById` and `GetCatalogByName` for `Org` now use queries behind the scenes because Org
structure does not list child Catalogs anymore [GH-371] [GH-376]

5 changes: 5 additions & 0 deletions .changes/v2.12.0/371-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Dropped support for VCD 9.7 which is EOL now [GH-371]
* Bumped Default API Version to V33.0 [GH-371]
* Drop legacy authentication mechanism (vcdAuthorize) and use only new Cloud API provided (vcdCloudApiAuthorize) as
API V33.0 is sufficient for it [GH-371]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/372-breaking-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Added parameter `description` to method `vdc.ComposeRawVapp` [GH-372]
* Added methods `vapp.Rename`, `vapp.UpdateDescription`, `vapp.UpdateNameDescription` [GH-372]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/378-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Added `NsxtAppPortProfile` and `types.NsxtAppPortProfile` for NSX-T Application Port Profile management
[GH-378]

5 changes: 5 additions & 0 deletions .changes/v2.12.0/378-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Improved `OpenApiGetAllItems` to still follow pages in VCD endpoints with BUG which don't return 'nextPage' link for
pagination [GH-378]
* Improved LDAP container related tests to use correct port mapping for latest LDAP container version
[GH-378]

6 changes: 6 additions & 0 deletions .changes/v2.12.0/380-breaking-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* Added parameter `additionalHeader map[string]string` to functions `Client.OpenApiDeleteItem`, `Client.OpenApiGetAllItems`,
`Client.OpenApiGetItem`, `Client.OpenApiPostItem`, `Client.OpenApiPutItem`, `Client.OpenApiPutItemAsync`,
`Client.OpenApiPutItemSync` [GH-380]
* Renamed functions `GetOpenApiRoleById` -> `GetRoleById`, `GetOpenApiRoleByName` -> `GetRoleByName`,
`GetAllOpenApiRoles` -> `GetAllRoles` [GH-380]

2 changes: 2 additions & 0 deletions .changes/v2.12.0/380-deprecations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Removed deprecated method `adminOrg.GetRole` [GH-380]

22 changes: 22 additions & 0 deletions .changes/v2.12.0/380-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
* Added Tenant Context management functions `Client.RemoveCustomHeader`, `Client.SetCustomHeader`, `WithHttpHeader`,
and many private methods to retrieve tenant context down the hierarchy. More details in `CODING_GUIDELINES.md`
[GH-380]
* Added Rights management methods `AdminOrg.GetAllRights`, `AdminOrg.GetAllRightsCategories`, `AdminOrg.GetRightById`,
`AdminOrg.GetRightByName`, `Client.GetAllRights`, `Client.GetAllRightsCategories`, `Client.GetRightById`,
`Client.GetRightByName`, `client.GetRightsCategoryById`, `AdminOrg.GetRightsCategoryById` [GH-380]
* Added Global Role management methods `Client.GetAllGlobalRoles`, `Client.CreateGlobalRole`, `Client.GetGlobalRoleById`,
`Client.GetGlobalRoleByName`, `GlobalRole.AddRights`, `GlobalRole.Delete`, `GlobalRole.GetRights`,
`GlobalRole.GetTenants`, `GlobalRole.PublishAllTenants`, `GlobalRole.PublishTenants`, `GlobalRole.RemoveAllRights`,
`GlobalRole.RemoveRights`, `GlobalRole.ReplacePublishedTenants`, `GlobalRole.UnpublishAllTenants`,
`GlobalRole.UnpublishTenants`, `GlobalRole.Update`, `GlobalRole.UpdateRights` [GH-380]
* Added Rights Bundle management methods `Client.CreateRightsBundle`, `Client.GetAllRightsBundles`,
`Client.GetRightsBundleById`, `Client.GetRightsBundleByName`, `RightsBundle.AddRights`, `RightsBundle.Delete`,
`RightsBundle.GetRights`, `RightsBundle.GetTenants`, `RightsBundle.PublishAllTenants`, `RightsBundle.PublishTenants`,
`RightsBundle.RemoveAllRights`, `RightsBundle.RemoveRights`, `RightsBundle.ReplacePublishedTenants`,
`RightsBundle.UnpublishAllTenants`, `RightsBundle.UnpublishTenants`, `RightsBundle.Update`, `RightsBundle.UpdateRights`
[GH-380]
* Added Role managemnt methods `AdminOrg.GetAllRoles`, `AdminOrg.GetRoleById`, `AdminOrg.GetRoleByName`,
`Client.GetAllRoles`, `Role.AddRights`, `Role.GetRights`, `Role.RemoveAllRights`, `Role.RemoveRights`, `Role.UpdateRights`
[GH-380]
* Added convenience function `FindMissingImpliedRights` [GH-380]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/381-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Added methods `NsxtEdgeGateway.UpdateNsxtFirewall()`, `NsxtEdgeGateway.GetNsxtFirewall()`, `nsxtFirewall.DeleteAllRules()`,
`nsxtFirewall.DeleteRuleById` [GH-381]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/381-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Cleanup a few unnecessary type conversions detected by new staticcheck version
[GH-381]

4 changes: 4 additions & 0 deletions .changes/v2.12.0/382-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* Added NSX-T NAT support with types `NsxtNatRule` and `types.NsxtNatRule` as well as methods `edge.GetAllNsxtNatRules`,
`edge.GetNsxtNatRuleByName`, `edge.GetNsxtNatRuleById`, `edge.CreateNatRule`, `nsxtNatRule.Update`, `nsxtNatRule.Delete`,
`nsxtNatRule.IsEqualTo` [GH-382]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/385-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Added `NsxtIpSecVpnTunnel` and `types.NsxtIpSecVpnTunnel` for NSX-T IPsec VPN Tunnel configuration
[GH-385]

3 changes: 3 additions & 0 deletions .changes/v2.12.0/387-bug-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Deprecated methods `vdc.ComposeRawVApp` and `vdc.ComposeVApp` [#387](https://github.com/vmware/go-vcloud-director/pull/387)
* Added method `vdc.CreateRawVApp` [#387](https://github.com/vmware/go-vcloud-director/pull/387)

3 changes: 3 additions & 0 deletions .changes/v2.12.1/389-bug-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* org.GetCatalogByName and org.GetCatalogById could not retrieve shared catalogs from different Orgs
[GH-389]

2 changes: 2 additions & 0 deletions .changes/v2.13.0/391-bug-fixes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Fix handling of `staticcheck` in GitGub Actions [GH-391]

2 changes: 2 additions & 0 deletions .changes/v2.13.0/391-improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Add `.changes` directory for changelog items [GH-391]

1 change: 1 addition & 0 deletions govcd/api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ func printVerbose(format string, args ...interface{}) {
}
}

//lint:ignore U1000 this function is used on request for debugging purposes
func logVerbose(t *testing.T, format string, args ...interface{}) {
if testVerbose {
t.Logf(format, args...)
Expand Down
63 changes: 63 additions & 0 deletions scripts/make-changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/usr/bin/env bash

# This script collects the single change files and generates CHANGELOG entries
# for the whole release

# .changes is the directory where the change files are
sources=.changes

if [ ! -d $sources ]
then
echo "Directory $sources not found"
exit 1
fi

# We must indicate a version on the command line
version=$1

# If no version was provided, we use the current release version
if [ -z "$version" ]
then
echo "No version was provided"
exit 1
fi


# If the provided version does not exist, there is nothing to do
if [ ! -d $sources/$version ]
then
echo "# Changes directory $sources/$version not found"
exit 1
fi

# The "sections" file contains the CHANGELOG headers
if [ ! -f $sources/sections ]
then
echo "File $sources/sections not found"
exit 1
fi
sections=$(cat $sources/sections)

cd $sources/$version

for section in $sections
do
# Check whether we have any file for this section
num=$(ls | grep "\-${section}.md" | wc -l | tr -d ' \t')
# if there are no files for this section, we skip
if [ "$num" == "0" ]
then
continue
fi

# Generate the header
echo "## $(echo $section | tr 'a-z' 'A-Z' | tr '-' ' ')"

# Print the changes files, sorted by PR number
for f in $(ls *${section}.md | sort -n)
do
cat $f
done
echo ""
done

2 changes: 1 addition & 1 deletion scripts/staticcheck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ function exists_in_path {

function get_check_static {
static_check=$(exists_in_path staticcheck)
if [ -z "$staticcheck" -a -n "$TRAVIS" ]
if [ -z "$staticcheck" -a -n "$GITHUB_ACTIONS" ]
then
# Variables found in staticcheck-config.sh
# STATICCHECK_URL
Expand Down