14
0

- Update to 6.1.4:

* Remove default filter on subnet list and fix the subnet detail
  * fixing issues with the auto build for releases
  * Improve subnet list
  * add a limit and sortby on data time on ticket list command on result
  * slcli vs upgrade --resize-disk is resizing another disk and not the
    selected one
  * Improve subnet detail by @caberos
  * Added example to slcli call-api
  * subnet route and subnet clear-route
  * slcli vs notifications is displaying a hardware description
  * Added script to list all commands in slcli
  * New Command: slcli user grant-access
  * Fixes firewall cancel so it can properly do multiVlan firewalls
  * user remove-access is not displaying all removed device access and
    its help command displaying error message
  * feature search
  * Added flag to command slcli account events --date-min
  * slcli vs capture uses a deprecated API
  * Updated command slcli block replica-order
  * unexpected error when using vlan list with --limit 0 or 999
  * New Command: slcli virtual host-list
  * update volume-refresh command
  * vs os-available command
  * New Command: slcli virtual host-create
  * slcli block access, updated some descriptions, change flag -h to -d,
    sort flags
  * slcli vlan list only returns 100 results
  * New Command: Hardware notifications
  * New Command: virtual notifications

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-softlayer?expand=0&rev=33
This commit is contained in:
2023-02-20 05:04:48 +00:00
committed by Git OBS Bridge
parent 447a1321e8
commit bb319dd027
5 changed files with 58 additions and 201 deletions

View File

@@ -1,192 +0,0 @@
From 392c38718c172a8f76c1f53fbe23ba2659cf320c Mon Sep 17 00:00:00 2001
From: Christopher Gallo <chrisagallo@gmail.com>
Date: Fri, 23 Sep 2022 13:31:01 -0500
Subject: [PATCH 1/4] updated release workflow for the correct url
---
.github/workflows/release.yml | 2
SoftLayer/CLI/cdn/detail.py | 2
SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py | 6 +-
SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py | 6 +-
tests/CLI/modules/cdn_tests.py | 29 ++++------
tests/managers/cdn_tests.py | 19 +++++-
6 files changed, 37 insertions(+), 27 deletions(-)
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -48,5 +48,5 @@ jobs:
with:
user: __token__
password: ${{ secrets.CGALLO_PYPI }}
- repository_url: https://pypi.org/legacy/
+ repository_url: https://upload.pypi.org/legacy/
--- a/SoftLayer/CLI/cdn/detail.py
+++ b/SoftLayer/CLI/cdn/detail.py
@@ -41,6 +41,6 @@ def cli(env, unique_id, history):
table.add_row(['status', cdn_mapping['status']])
table.add_row(['total_bandwidth', total_bandwidth])
table.add_row(['total_hits', total_hits])
- table.add_row(['hit_radio', hit_ratio])
+ table.add_row(['hit_ratio', hit_ratio])
env.fout(table)
--- a/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py
+++ b/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py
@@ -11,7 +11,7 @@ listDomainMappings = [
"path": "/",
"protocol": "HTTP",
"status": "CNAME_CONFIGURATION",
- "uniqueId": "9934111111111",
+ "uniqueId": "11223344",
"vendorName": "akamai"
}
]
@@ -28,7 +28,7 @@ listDomainMappingByUniqueId = [
"path": "/",
"protocol": "HTTP",
"status": "CNAME_CONFIGURATION",
- "uniqueId": "9934111111111",
+ "uniqueId": "11223344",
"vendorName": "akamai"
}
]
@@ -41,7 +41,7 @@ updateDomainMapping = [
"performanceConfiguration": "Large file optimization",
"protocol": "HTTP",
"respectHeaders": True,
- "uniqueId": "424406419091111",
+ "uniqueId": "11223344",
"vendorName": "akamai",
"header": "www.test.com",
"httpPort": 83,
--- a/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py
+++ b/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py
@@ -6,9 +6,9 @@ getMappingUsageMetrics = [
"HitRatio"
],
"totals": [
- "0.0",
- "0",
- "0.0"
+ 1.0,
+ 3,
+ 2.0
],
"type": "TOTALS"
}
--- a/tests/CLI/modules/cdn_tests.py
+++ b/tests/CLI/modules/cdn_tests.py
@@ -4,7 +4,9 @@
:license: MIT, see LICENSE for more details.
"""
+import datetime
import json
+from unittest import mock as mock
from SoftLayer.CLI import exceptions
from SoftLayer import testing
@@ -21,27 +23,22 @@ class CdnTests(testing.TestCase):
'domain': 'test.example.com',
'origin': '1.1.1.1',
'status': 'CNAME_CONFIGURATION',
- 'unique_id': '9934111111111',
+ 'unique_id': '11223344',
'vendor': 'akamai'}]
)
- def test_detail_account(self):
+ @mock.patch('SoftLayer.utils.days_to_datetime')
+ def test_detail_account(self, mock_now):
+ mock_now.return_value = datetime.datetime(2020, 1, 1)
result = self.run_command(['cdn', 'detail', '--history=30', '1245'])
self.assert_no_fail(result)
- self.assertEqual(json.loads(result.output),
- {'hit_radio': '0.0 %',
- 'hostname': 'test.example.com',
- 'origin': '1.1.1.1',
- 'origin_type': 'HOST_SERVER',
- 'path': '/',
- 'protocol': 'HTTP',
- 'provider': 'akamai',
- 'status': 'CNAME_CONFIGURATION',
- 'total_bandwidth': '0.0 GB',
- 'total_hits': '0',
- 'unique_id': '9934111111111'}
- )
+ api_results = json.loads(result.output)
+ self.assertEqual(api_results['hit_ratio'], '2.0 %')
+ self.assertEqual(api_results['total_bandwidth'], '1.0 GB')
+ self.assertEqual(api_results['total_hits'], 3)
+ self.assertEqual(api_results['hostname'], 'test.example.com')
+ self.assertEqual(api_results['protocol'], 'HTTP')
def test_purge_content(self):
result = self.run_command(['cdn', 'purge', '1234',
@@ -122,7 +119,7 @@ class CdnTests(testing.TestCase):
self.assertEqual('include: test', header_result['Cache key optimization'])
def test_edit_cache_by_uniqueId(self):
- result = self.run_command(['cdn', 'edit', '9934111111111', '--cache', 'include-specified', '--cache', 'test'])
+ result = self.run_command(['cdn', 'edit', '11223344', '--cache', 'include-specified', '--cache', 'test'])
self.assert_no_fail(result)
header_result = json.loads(result.output)
self.assertEqual('include: test', header_result['Cache key optimization'])
--- a/tests/managers/cdn_tests.py
+++ b/tests/managers/cdn_tests.py
@@ -4,6 +4,8 @@
:license: MIT, see LICENSE for more details.
"""
+import datetime
+from unittest import mock as mock
from SoftLayer import fixtures
from SoftLayer.managers import cdn
@@ -28,7 +30,9 @@ class CDNTests(testing.TestCase):
'listDomainMappingByUniqueId',
args=args)
- def test_detail_usage_metric(self):
+ @mock.patch('SoftLayer.utils.days_to_datetime')
+ def test_detail_usage_metric(self, mock_now):
+ mock_now.return_value = datetime.datetime(2020, 1, 1)
self.cdn_client.get_usage_metrics(12345, history=30, frequency="aggregate")
args = (12345,
@@ -39,6 +43,15 @@ class CDNTests(testing.TestCase):
'getMappingUsageMetrics',
args=args)
+ # Does this still work in 2038 ? https://github.com/softlayer/softlayer-python/issues/1764 for context
+ @mock.patch('SoftLayer.utils.days_to_datetime')
+ def test_detail_usage_metric_future(self, mock_now):
+ mock_now.return_value = datetime.datetime(2040, 1, 1)
+ self.assertRaises(
+ OverflowError,
+ self.cdn_client.get_usage_metrics, 12345, history=30, frequency="aggregate"
+ )
+
def test_get_origins(self):
self.cdn_client.get_origins("12345")
self.assert_called_with('SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path',
@@ -105,7 +118,7 @@ class CDNTests(testing.TestCase):
args=args)
def test_cdn_edit(self):
- identifier = '9934111111111'
+ identifier = '11223344'
header = 'www.test.com'
result = self.cdn_client.edit(identifier, header=header)
@@ -116,7 +129,7 @@ class CDNTests(testing.TestCase):
'SoftLayer_Network_CdnMarketplace_Configuration_Mapping',
'updateDomainMapping',
args=({
- 'uniqueId': '9934111111111',
+ 'uniqueId': '11223344',
'originType': 'HOST_SERVER',
'protocol': 'HTTP',
'path': '/',

View File

@@ -1,3 +1,56 @@
-------------------------------------------------------------------
Mon Feb 20 05:00:48 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 6.1.4:
* Remove default filter on subnet list and fix the subnet detail
* fixing issues with the auto build for releases
* Improve subnet list
* add a limit and sortby on data time on ticket list command on result
* slcli vs upgrade --resize-disk is resizing another disk and not the
selected one
* Improve subnet detail by @caberos
* Added example to slcli call-api
* subnet route and subnet clear-route
* slcli vs notifications is displaying a hardware description
* Added script to list all commands in slcli
* New Command: slcli user grant-access
* Fixes firewall cancel so it can properly do multiVlan firewalls
* user remove-access is not displaying all removed device access and
its help command displaying error message
* feature search
* Added flag to command slcli account events --date-min
* slcli vs capture uses a deprecated API
* Updated command slcli block replica-order
* unexpected error when using vlan list with --limit 0 or 999
* New Command: slcli virtual host-list
* update volume-refresh command
* vs os-available command
* New Command: slcli virtual host-create
* slcli block access, updated some descriptions, change flag -h to -d,
sort flags
* slcli vlan list only returns 100 results
* New Command: Hardware notifications
* New Command: virtual notifications
* Change regex in rich text in simple option in help text
* add more information to vs credentials
* Fixed maxint issue
* Added csv output format
* add more information on hw credentials
* Delete twitter link in documentation
* new command hw create-credential
* fix the hw credential error
* Added test suite for py311
* New feature to change theme in slcli like dark, light o maintain in default
* Match virtual detail --prices option with hardware detail --prices option
* Fixing preset-list pricing table
* fix the call api cannot handle empty results
* Debug output changed to a valid JSON
* slcli hw add-notifications crashes with a bad user
* del-notification commands, rename the commands to notifications-add
* Add --extras to slcli order quote
* An error is displaying for volume with replica in slcli
- Drop patch fix-maint-issue.patch, included upstream.
-------------------------------------------------------------------
Mon Oct 17 18:04:18 UTC 2022 - Matej Cepl <mcepl@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-softlayer
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,17 +16,13 @@
#
%define skip_python2 1
Name: python-softlayer
Version: 6.1.2
Version: 6.1.4
Release: 0
Summary: A set of Python libraries that assist in calling the SoftLayer API
License: MIT
URL: https://github.com/softlayer/softlayer-python
Source: https://github.com/softlayer/softlayer-python/archive/v%{version}.tar.gz
# PATCH-FIX-UPSTREAM fix-maint-issue.patch bsc#1203311 mcepl@suse.com
# xmlrpc y2038 problem
Patch0: fix-maint-issue.patch
BuildRequires: %{python_module click >= 8.0.4}
BuildRequires: %{python_module prettytable >= 2.5.0}
BuildRequires: %{python_module prompt_toolkit >= 2}

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0b2cceb6833bdb08aa9fedd928a87e8adf9d56033e5d6fab1df2637616a6fad2
size 519685

3
v6.1.4.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c27914770a5cd754f204b4010875e2ee8ace34982a4848914e3b45ff7a5791f7
size 557171