Age | Commit message (Collapse) | Author | Files | Lines |
|
The existing implementation of IPC is not finished and isn't used
by any of the VNFs/TG implementation. It is used in the code but does
nothing from functionality perspective.
New syncronization mechanism is going to be implemented by using
different approach than it was designed before. Thus, the current
IPC mechanism is not going to be re-used. So, removing it.
The IPC consumer/producer implementation is left as it may be
required for other purposes.
- Remove SampleVNF MQ consumer class
- Remove IterationIPC MQ producer for VNF control messages
- Remove MQ producer from SampleVNFTrafficGen class
- Remove TrafficGeneratorProducer class
- Remove IterationIPC runner
- Remove unused task_id form VNF Generic initialization as it is not
required for synchronization of VNFs/TGs anymore.
- Fix UT
JIRA: YARDSTICK-1592
Change-Id: I65fe51bcbd1bfeea0c43eb79ca6fb2aab5b65ae7
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
"IterationIPC" runner class is a consumer for MQ aware VNFs. A MQ aware
traffic generator can send "started", "finished" and "iteration"
messages.
This feature implements a MQ producer in the runner in order to send
messages to the VNFs. The messages implemented are:
- "start_iteration"
- "stop_iteration"
JIRA: YARDSTICK-1286
Change-Id: I706f9a9dda5e5beed52231be7d71452945a7dbed
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
"IterationIPC" is a runner that runs a configurable number of times before
it returns. Each iteration has a configurable timeout. The loop control
depends on the feedback received from the running VNFs. The context PIDs
from the VNFs to listen the messages from are given in the scenario
"setup" method.
The MQ consumer, "RunnerIterationIPCConsumer", is subscribed to messages
sent to topic "messaging.TOPIC_TG". The endpoints are defined in the
class "RunnerIterationIPCEndpoint". Three are implemented:
"messaging.TG_METHOD_STARTED", "messaging.TG_METHOD_FINISHED" and
"messaging.TG_METHOD_ITERATION".
JIRA: YARDSTICK-1127
Change-Id: I4b2f11a15ef41e6f3c70bd64188d5c7fbcdb7eed
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Added MessagingProducer base class. A class implementing this base class
can send a cast message using the MQ service installed in the Yardstick
jumphost (RabbitMQ by default, other MQ could be implemented). The producer
will send messages to an specific topic.
Added MessagingConsumer base class. A class implementing this base class
will be able to receive any message sent by a MessagingPorducer class
publishing messages in the topic subscribed.
By default both Producer and Consumer "fanout" is True. That means every
Consumer will create a fanout Queue attached to the MQ Exchange topic. All
Consumers attached to this topic will receive the message sent by the
Producer [1].
Added Payload base class. To send data through the message queue service,
a Payload derived object should be created. This base class allows to
define the attributes container in the class, convert the object to a dict
and retrieve the object from a dict.
Added a new library, "oslo.messaging", to implement the RPC client and
server.
[1]http://blog.thedigitalcatonline.com/blog/2013/08/21/some-tips-about-amqp-direct-exchanges/
JIRA: YARDSTICK-1074
Change-Id: I63932b5fb3de2bdc1270fc83295630a2a349e2a6
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|