Merge "Provide Amphora stats for Octavia no-op drivers"
This commit is contained in:
@@ -11,10 +11,14 @@
|
|||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
import random
|
||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
|
||||||
from octavia.amphorae.drivers import driver_base
|
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__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -34,6 +38,21 @@ class NoopManager(object):
|
|||||||
self.amphoraconfig[(listener.id, amphora_id)] = (
|
self.amphoraconfig[(listener.id, amphora_id)] = (
|
||||||
listener, amphora_id, timeout_dict, "update_amp")
|
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):
|
def update(self, loadbalancer):
|
||||||
LOG.debug("Amphora %s no-op, update listener %s, vip %s",
|
LOG.debug("Amphora %s no-op, update listener %s, vip %s",
|
||||||
self.__class__.__name__,
|
self.__class__.__name__,
|
||||||
|
@@ -57,7 +57,8 @@ class TestNoopAmphoraLoadBalancerDriver(base.TestCase):
|
|||||||
constants.CONN_MAX_RETRIES: 3,
|
constants.CONN_MAX_RETRIES: 3,
|
||||||
constants.CONN_RETRY_INTERVAL: 4}
|
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.driver.update_amphora_listeners(self.load_balancer, self.amphora,
|
||||||
self.timeout_dict)
|
self.timeout_dict)
|
||||||
self.assertEqual((self.listener, self.amphora.id, self.timeout_dict,
|
self.assertEqual((self.listener, self.amphora.id, self.timeout_dict,
|
||||||
|
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
other:
|
||||||
|
- |
|
||||||
|
Add fake Amphora stats for when Octavia runs in noop mode / using
|
||||||
|
noop drivers.
|
Reference in New Issue
Block a user