How to observe parameters or values and take actions on a cluster using OpenStack for Reinforcement Learning algorithm implementation?

asked 2020-06-18 09:55:57 -0500

TheCuriousOne2991 gravatar image

updated 2020-06-20 06:31:19 -0500

I want to optimise the cluster resource utilisation and power usage with OpenStack and want to test Reinforcement Algorithms on the same.

For that I would need to observe states, take an action back on environment and observe the rewards.

I am completely new to OpenStack and have no idea how to proceed for custom strategy or objective and how to test for RL algorithms for the same.

I tried reading about Actions, Goals, Strategy and Watcher module but still confused about the approach and which to use for writing custom solution/strategy. If Watcher could be used.. how to implement custom strategy after observations and how to take actions back on Cluster?

Please guide for the same.

edit retag flag offensive close merge delete


I know nothing about machine learning, but I understand that you need some data from an OpenStack cloud. What kind of data would that be?

The usual tool for collecting performance and usage data in a cloud is Ceilometer.

Bernd Bausch gravatar imageBernd Bausch ( 2020-06-18 23:46:46 -0500 )edit

Thanks for the reply.. The data is usual CPU, disk, Memory and Power utilisation values... I need to observe these -> Analyse -> Take action on cluster -> Observe again.. in a loop.. any ideas? How could one implement custom strategy to take actions after observing the state?

TheCuriousOne2991 gravatar imageTheCuriousOne2991 ( 2020-06-19 03:34:21 -0500 )edit

Ceilometer can retrieve all this. See here: You could also use Prometheus which, I just learned, also has a plugin for retrieving OpenStack data of that sort.

Bernd Bausch gravatar imageBernd Bausch ( 2020-06-19 04:55:04 -0500 )edit

Ceilometer/Prometheus only address the data gathering part. You mentioned Watcher, which seems to be targeted to your problem (although I don't know how you can add machine learning to it). You probably know more about Watcher than I do.

Bernd Bausch gravatar imageBernd Bausch ( 2020-06-19 04:58:49 -0500 )edit

Yes... have already setup prometheus... But there has to be a loop for Observing -> Analyzing(and decide action using custom strategy) -> take action -> Observe again. How and where to implement custom strategy (ML) to observe and modify cluster(ie take actions on it)

TheCuriousOne2991 gravatar imageTheCuriousOne2991 ( 2020-06-19 04:59:32 -0500 )edit