[kolla] Debugging with kolla-ansible

Erik McCormick emccormick at cirrusseven.com
Mon Feb 4 05:01:35 UTC 2019


Sorry for the delay. I didn't want to try and write this on my phone...

On Sun, Feb 3, 2019, 9:39 PM Michael Still <mikal at stillhq.com wrote:

> That sounds interesting... So if I only wanted to redeploy say the
> ironic_neutron_agent container, how would I do that with a tag?
>

To roll it out, update it's config, or upgrade to a new ticker tag, you'd
just do

kolla-ansible --tags neutron deploy | reconfigure | upgrade

I don't think its granular enough to do just the agent and I'm not sure
you'd want to anyway.


> Its not immediately obvious to me where the command line for docker comes
> from in the ansible. Is that just
> in ansible/roles/neutron/defaults/main.yml ? If so, I could tweak the
> container definition for the container I want to hack with the get its code
> from a volume, and then redeploy just that one container, yes?
>

I suppose that's one way to go about quick hacks. You could add a new
volume in that main.yml and then modify things in it. I think that would
get messy though. There aren't any volume definitions explicitly for that
container, so you'd have to add a whole section in there for it and I don't
know what other side effects that might have.

The slow but safe way to do it would be to point Kolla at your feature
branch and rebuild the image each time you want to test a new patch set.

In kolla-build.conf do something like:

[neutron-base-plugin-networking-baremetal]
type = url
location = https://github.com/openstack/networking-baremetal.git
reference = tonys-hacks

then something like

kolla-build --config-file /etc/kolla/kolla-build.conf --base centos --type
source --push --registry localhost:5000 --logs-dir /tmp ironic-neutron-agent

The really dirty but useful way to test small changes would be to just push
them into the container with 'docker cp' and restart the container. Note
that this will not work for config changes as those files get clobbered at
startup, but for hacking the actual python bits, it'll do.

Hope that's what you're looking for. If you drop by #opensatck-kolla during
US daylight hours you might get more suggestions from Eduardo or one of the
actual project devs. They probably have fancier methods.

Cheers,
Erik

>
> Thanks for your help!
>
> Michael
>
>
> On Mon, Feb 4, 2019 at 1:36 PM Erik McCormick <emccormick at cirrusseven.com>
> wrote:
>
>>
>>
>> On Sun, Feb 3, 2019, 9:17 PM Michael Still <mikal at stillhq.com wrote:
>>
>>> Heya,
>>>
>>> I'm chasing a bug at the moment, and have been able to recreate it with
>>> a stock kolla-ansible install. The next step is to add more debugging to
>>> the OpenStack code to try and chase down what's happening.
>>>
>>> Before I go off and do something wildly bonkers, does anyone have a nice
>>> way of overriding locally the container image that kolla is using for a
>>> given container?
>>>
>>> The best I've come up with at the moment is something like:
>>>
>>> - copy the contents of the container out to a directory on the host node
>>> - delete the docker container
>>> - create a new container which mimics the previous container (docker
>>> inspect and some muttering) and have that container mount the copied out
>>> stuff as a volume
>>>
>>> I considered just snapshotting the image being used by the current
>>> container, but I want a faster edit cycle than edit, snapshot, start
>>> provides.
>>>
>>> Thoughts?
>>> Michael
>>>
>>
>> Easiest way would be to deploy from a local registry. You can pull
>> everything from docker hub and just use kolla-build to build and push the
>> ones you're working on.
>>
>> Then just delete the image from wherever it's running, run a deploy with
>> --tags of the project you're messing with, and it'll deploy the new image,
>> or increment the docker tag when you push it and run upgrade.
>>
>> If I'm missing something and oversimplifying, let me know :).
>>
>> -Erik
>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190204/8c695799/attachment-0001.html>


More information about the openstack-discuss mailing list