[openstack-dev] [nova-docker][ceilometer][heat] Autoscaling docker in openstack

Zane Bitter zbitter at redhat.com
Fri Apr 17 17:18:55 UTC 2015


On 17/04/15 10:11, VACHNIS, AVI (AVI) wrote:
> Hi,
>
> @Ashish, if the limitation you've mentioned for #1 still exists, I join
> your question how heat auto-scale-group may work w/o ceilometer being
> able to collect docker metrics?

Yeah, you're correct. Approach #2 has exactly the same problem as 
approach #1, and adds in a few more.

The solution is either to write a Ceilometer agent for the Nova-Docker 
driver, or otherwise jury rig something to push your own custom metrics 
into Ceilometer. The cfn-push-stats tool in heat-cfntools might help 
with the latter.

> @Sergey, hey. Are you saying that ceilometer do collects metrics on
> docker underlying nova::server resource?

I guess it actually does collect metrics on the OS::Nova::Server that 
you're running Docker on (assuming you put in on an OS::Nova::Server), 
but that doesn't really help you since all of the containers are 
deployed on that server - if the workload on the server gets too high, 
then autoscaling will deploy even more containers to it, thus making 
things worse :D

cheers,
Zane.

> -Avi
>
> ------ Original message------
>
> *From: *ashish.jain14 at wipro.com
>
> *Date: *Fri, Apr 17, 2015 4:56 PM
>
> *To: *openstack-dev at lists.openstack.org;
>
> *Subject:*Re: [openstack-dev] [nova-docker][ceilometer][heat]
> Autoscaling docker in openstack
>
> Hi Segey,
>
>
> So IIUC approach #2 may still help to autoscale docker on openstack. I
> will try that out and post questions on heat irc thanks.
>
>
> Regards
>
> Ashish
>
> ------------------------------------------------------------------------
> *From:* Sergey Kraynev <skraynev at mirantis.com>
> *Sent:* Friday, April 17, 2015 7:01 PM
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [nova-docker][ceilometer][heat]
> Autoscaling docker in openstack
> Hi, Ashish.
>
> Honestly I am not familiar with most part of these ways, but can add
> more information from Heat side (item 2).
>
> I am surprised, that you have missed Heat autoscaling mechanism (You
> should look it :) ). It's one of the important part of Heat project.
> It allows to scale vms/stacks by using Ceilometer alarms. There are
> couple examples of autoscale templates:
>
> https://github.com/openstack/heat-templates/blob/master/hot/autoscaling.yaml     (with
> LoadBalancer)
> https://github.com/openstack/heat-templates/blob/master/hot/asg_of_servers.yaml
> https://github.com/openstack/heat-templates/blob/master/hot/asg_of_stacks.yaml
> <https://github.com/openstack/heat-templates/blob/master/hot/asg_of_servers.yaml>
>
> <https://github.com/openstack/heat-templates/blob/master/hot/asg_of_servers.yaml>
> It's true, that Docker plugin for Heat create docker server on
> Nova::Server resource. So you may write template Docker resource +
> Server resource (similar on third template) and scale by using
> Ceilometer alarms.
> If you have any questions how to use it, please got to #heat irc channel
> and ask us :)
> Also another way (AFAIK) is to use SoftwareDeployment/Config and deploy
> Server with docker inside (without docker plugin). In this way, I
> suppose, Steve Baker can help with advise :)
>
>
> On 17 April 2015 at 16:06, <ashish.jain14 at wipro.com
> <mailto:ashish.jain14 at wipro.com>> wrote:
>
>
>     Hi,
>
>     I have been working on running docker on openstack. I had a
>     discussion on multiple IRC and IIUC there are 5 different ways of
>     running docker on openstack. IIUC currently there is no way to
>     autoscale docker on openstack. Please correct me if I am wrong
>
>
>     1) Using nova-docker driver - Running docker as a Nova::Server using
>     nova-docker hypervisor
>     2) Using nova-plugin for heat - Running docker using
>     DockerInc::Docker::Container
>     3) Using magnum - IIUC no automation as of now, manually it is
>     possible. Not enough documentation available
>     4) heat compose - Saw some samples available
>     @https://github.com/openstack/heat-templates/tree/master/hot/software-config/elements/heat-config-docker-compose
>     5) Swarm support - Still in development
>
>     Issues with each on the above approaches
>
>     1) Using nova-docker driver - IIUC there is no way for ceilometer to
>     collect and emit statistics for docker hypervisor. So that mean
>     ceilometer does not have any stats available once you switch to
>     docker driver.
>     This link
>     (https://github.com/openstack/ceilometer/tree/master/ceilometer/compute/virt)
>     currently does not have anything for docker hypervisor.
>
>     2) Using nova-plugin for heat - Using this approach docker
>     containers run on a Nova VM. However I do not see any illustration
>     which suggests that you can autoscale using this approach.
>
>     3) Using magnum - Currently only possible by manually invoking it.
>
>     4) heat compose - Sample available at the above link just talks
>     about deploying it up but nothing about auto scaling
>
>     5) Swarm Support - Still in dev
>
>     While I understand some of these options may enable us during the
>     future release to autoscale docker on openstack. But looking
>     currently I feel option #1 is most mature(probably) and by plugging
>     in a ceilometer inspector for docker hypervisor it may be possible.
>     Another approach could be to using cfn-push-stats to probably push
>     some stats from docker container.
>
>     Please advice through your valued suggestions that time being what
>     is the best way to achieve auto scaling for docker on openstack. I
>     am ready to contribute to it in the best possible way.
>
>     Regards
>     Ashish
>
>
>
>
>
>
>     The information contained in this electronic message and any
>     attachments to this message are intended for the exclusive use of
>     the addressee(s) and may contain proprietary, confidential or
>     privileged information. If you are not the intended recipient, you
>     should not disseminate, distribute or copy this e-mail. Please
>     notify the sender immediately and destroy all copies of this message
>     and any attachments. WARNING: Computer viruses can be transmitted
>     via email. The recipient should check this email and any attachments
>     for the presence of viruses. The company accepts no liability for
>     any damage caused by any virus transmitted by this email.
>     www.wipro.com <http://www.wipro.com>
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> The information contained in this electronic message and any attachments
> to this message are intended for the exclusive use of the addressee(s)
> and may contain proprietary, confidential or privileged information. If
> you are not the intended recipient, you should not disseminate,
> distribute or copy this e-mail. Please notify the sender immediately and
> destroy all copies of this message and any attachments. WARNING:
> Computer viruses can be transmitted via email. The recipient should
> check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus
> transmitted by this email. www.wipro.com
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>




More information about the OpenStack-dev mailing list