Need assistance

Neil Hanlon neil at shrug.pw
Wed Nov 9 11:58:24 UTC 2022


On Wed, Nov 9, 2022, 05:51 Gk Gk <ygk.kmr at gmail.com> wrote:

> Thanks Melanie for the reply. I am able to use pdb successfully for the
> trace. But I am observing a strange behaviour with the python source files.
> Whenever I make any changes to the source files
> , for example, insert a pdb statement in servers.py, it is taking a minute
> or more for the changes to take effect. For example, after the change, if I
> run the uwsgi command at the terminal manually with --honour-stdin option,
> then immediately if I fire the nova list command, it is not taking effect.
> Only after a minute or so of making the change, it is taking effect.
> Somewhat strange.
>
> My next question is, inside the nova-api container, I am trying to trace
> how nova-api service starts. The systemd file has this content:
> ---
> ExecStart = /openstack/venvs/uwsgi-20.2.1-python3/bin/uwsgi --autoload
> --ini /etc/uwsgi/nova-api-os-compute.ini
> ----
> So I have checked the file /etc/uwsgi/nova-api-os-compute.ini , which has
> the below content:
> ---
> wsgi-file = /openstack/venvs/nova-20.2.1/bin/nova-api-wsgi
> --
>
> Is the above file '/openstack/venvs/nova-20.2.1/bin/nova-api-wsgi' the one
> from which the nova-api service starts at all ?
>

That is correct. The nova-api-wsgi and nova-metadata-wsgi entry points read
nova.conf and api-paste.ini to generate the required WSGI application.

Those scripts are just python entry points so you should be able to follow
along there, barring some setuptools magic invoked.

>
>
> Thanks
> Kumar
>
> On Wed, Nov 9, 2022 at 5:39 AM melanie witt <melwittt at gmail.com> wrote:
>
>> On Tue Nov 08 2022 03:03:18 GMT-0800 (Pacific Standard Time), Gk Gk
>> <ygk.kmr at gmail.com> wrote:
>> > Hi All,
>> >
>> > I have a OSA setup. I am trying to trace the control flow of nova-api
>> > using pdb in the file
>> >
>> "/openstack/venvs/nova-20.2.1/lib/python3.6/site-packages/nova/objects/instance.py".
>> >
>> > My goal is to trace the flow for "nova list --all" command. I am
>> > launching the nova-api service  manually from the command line as
>> follows:
>> >
>> > #/openstack/venvs/uwsgi-20.2.1-python3/bin/uwsgi --ini
>> > /etc/uwsgi/nova-api-os-compute.ini   --workers 1
>> >
>> > I am executing "nova list --all" command in another terminal.  I have
>> > inserted pdb in instance.py as follows:
>> >
>> > ----
>> >      @base.remotable_classmethod
>> >      def get_all(cls, context, expected_attrs=None):
>> >          import pdb; pdb.set_trace()
>> >          """Returns all instances on all nodes."""
>> >          db_instances = db.instance_get_all(
>> >                  context,
>> columns_to_join=_expected_cols(expected_attrs))
>> >          return _make_instance_list(context, cls(), db_instances,
>> >                                     expected_attrs)
>> > ---
>> >
>> > But when I fire the nova list --all command, I see no pdb prompt being
>> > shown in the nova-api window. Can anyone help me how to use the pdb to
>> > trace the flow of control  for "nova list --all" command ?
>>
>> It looks like running nova-api that way is still running as a background
>> process:
>>
>>
>> https://stackoverflow.com/questions/34914704/bdbquit-raised-when-debugging-python-with-pdb
>>
>> I got that result ^ when I tried it locally.
>>
>> I was however able to get success with remote pdb:
>>
>> https://docs.openstack.org/devstack/latest/systemd.html#using-remote-pdb
>>
>> so maybe give that a try. Note that the code where you set the trace in
>> nova/objects/instance.py is not actually hit when doing a server list.
>> You may have instead meant:
>>
>>
>> https://github.com/openstack/nova/blob/c97507dfcd57cce9d76670d3b0d48538900c00e9/nova/compute/api.py#L2991
>>
>> Also note that as a community we're trying to get away from using the
>> legacy 'nova' command and recommend using the openstackclient instead:
>>
>>
>> https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/server.html#server-list
>>
>> The 'nova' CLI is no longer being maintained and we're adding to the
>> novaclient python bindings only when necessary.
>>
>> HTH,
>> -melwitt
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20221109/b263711c/attachment-0001.htm>


More information about the openstack-discuss mailing list