Merge "Provide Amphora stats for Octavia no-op drivers"

This commit is contained in:
Zuul 2024-01-10 19:16:14 +00:00 committed by Gerrit Code Review
commit 5750e4512d
3 changed files with 26 additions and 1 deletions

View File

@ -11,10 +11,14 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import random
from oslo_log import log as logging
from octavia.amphorae.drivers import driver_base
from octavia.common import data_models
from octavia.db import api as db_apis
from octavia.db import repositories
LOG = logging.getLogger(__name__)
@ -34,6 +38,21 @@ class NoopManager(object):
self.amphoraconfig[(listener.id, amphora_id)] = (
listener, amphora_id, timeout_dict, "update_amp")
# Add some dummy stats to the DB when using noop driver
listener_stats_repo = repositories.ListenerStatisticsRepository()
stats_obj = data_models.ListenerStatistics(
listener_id=listener.id,
amphora_id=amphora.id,
bytes_in=random.randrange(1000000000),
bytes_out=random.randrange(1000000000),
active_connections=random.randrange(1000000000),
total_connections=random.randrange(1000000000),
request_errors=random.randrange(1000000000),
received_time=float(random.randrange(1000000000)),
)
listener_stats_repo.replace(session=db_apis.get_session(),
stats_obj=stats_obj)
def update(self, loadbalancer):
LOG.debug("Amphora %s no-op, update listener %s, vip %s",
self.__class__.__name__,

View File

@ -57,7 +57,8 @@ class TestNoopAmphoraLoadBalancerDriver(base.TestCase):
constants.CONN_MAX_RETRIES: 3,
constants.CONN_RETRY_INTERVAL: 4}
def test_update_amphora_listeners(self):
@mock.patch('octavia.db.api.get_session')
def test_update_amphora_listeners(self, mock_session):
self.driver.update_amphora_listeners(self.load_balancer, self.amphora,
self.timeout_dict)
self.assertEqual((self.listener, self.amphora.id, self.timeout_dict,

View File

@ -0,0 +1,5 @@
---
other:
- |
Add fake Amphora stats for when Octavia runs in noop mode / using
noop drivers.