Thanks for the update. Will check and let you know.

On Mon, May 20, 2024 at 4:39 PM <smooney@redhat.com> wrote:
On Mon, 2024-05-20 at 16:04 +0530, Lohit S wrote:
> For my changes to reflect, do I need to run ./stack.sh?
the normal convention is to let devstack install normally first just to get a workign deployment
once devstack is working and you have confirmed you can boot vms
create a second clone of nova ourside the devstack directory i.e. in your home directory

make your modification to that copy of nova and then activate the devstack virtual env located in /opt/stack/data/venv?
i belive that is where its stored. once the venv is activated do 
"pip install -c /opt/stack/requirements/upper-constraints.txt  -e <path to your cloned repo>"
this will make your workign copy of nova the active one in the virutal env.

then you simple need to restart the nova systemd service files for your local changes to take effect.

the only exctption to this is if your are creating db change in which case you may need to run a db sync via
nova-manage to apply them

you should not need to unstack or stack offten.

you can use NOVA_REPO to point to this copy and NOVA_BRANCH to automate checking out a copy with your local changes
if you want too.

the reason for creating a sepreat copy and pip instlaling it like this is generally i like to run devstack with
RECLONE=True however that will cause devstack to delete the repos that it has already cloned and if you put your code in
the default devstack copy of nova then your code would be delete if you did unstack.sh and stack.sh


for many change to nova/neutorn you wont actully need to use devstack for devleopment.

if its a bug fix its ofthen preferable to do 99% of the developemnt with unit/functional tests and then only use
devstack at the end to verify that evertyhing is actully workign as intneded.
i.e. if your tryign to fix a bug its often better to start by creating a repoducer test case, then in a second
commit fix the bug. devstack is not needed for that but it can be useful to actully figure out why the bug happens in
the first case.

regards
sean
>
>
> On Mon, May 20, 2024 at 1:44 PM Hoai-Thu Vuong <thuvh87@gmail.com> wrote:
>
> > I think you can point NOVA_REPO to your remote or point NOVA_DIR to your
> > current directory.
> >
> > https://opendev.org/openstack/devstack/src/commit/0eab4f97e4018aca826b5586d8a8f30f82f3540b/lib/nova#L978
> >
> >
> > On Mon, May 20, 2024 at 12:54 PM Lohit S <s.lohitdv@gmail.com> wrote:
> >
> > > Hi, I have completed the DevStack setup locally. Now I have one doubt. If
> > > I want to contribute to Nova or Neutron, I have cloned the Nova or Neutron
> > > repository. I have made some changes. How do I test these changes in local?
> > >
> > > On Wed, May 15, 2024 at 1:30 AM Matthew Swigart <
> > > matthew.swigart35@gmail.com> wrote:
> > >
> > > > Hi Lohit, I also got similar issue before. I solved the issue by using
> > > > latest Ubuntu OS. I used Ubuntu 22.04 Jammy and run stack.sh file after
> > > > cloning devstack repo.
> > > > And everything was good to go.
> > > > If you are still not able to solve the issue, then please let me know.
> > > > Hope my question help you well at least.
> > > >
> > > > Regards,
> > > > Matthew
> > > >
> > > > ------------------------------
> > > > *From:* Lohit S <s.lohitdv@gmail.com>
> > > > *Sent:* Tuesday, May 14, 2024 12:30 PM
> > > > *To:* openstack-discuss@lists.openstack.org <
> > > > openstack-discuss@lists.openstack.org>
> > > > *Subject:* Issue in Devstack Setup
> > > >
> > > > Hi Team,
> > > >      I had tried to set the DevStack in the local Linux Ubuntu machine.
> > > > During that time I had executed the ./stack.sh file. Following issue is
> > > > generated. How to fix this issue.
> > > >
> > > >
> > > > Collecting fixtures>=3.0.0 (from stestr>=1.0.0->os-testr)
> > > >   Using cached fixtures-3.0.0-py2.py3-none-any.whl.metadata (19 kB)
> > > > Collecting PyYAML>=3.10.0 (from stestr>=1.0.0->os-testr)
> > > >   Using cached PyYAML-5.4.1.tar.gz (175 kB)
> > > >   Installing build dependencies ... done
> > > >   Getting requirements to build wheel ... error
> > > >   error: subprocess-exited-with-error
> > > >
> > > >   × Getting requirements to build wheel did not run successfully.
> > > >   │ exit code: 1
> > > >   ╰─> [54 lines of output]
> > > >       running egg_info
> > > >       writing lib3/PyYAML.egg-info/PKG-INFO
> > > >       writing dependency_links to
> > > > lib3/PyYAML.egg-info/dependency_links.txt
> > > >       writing top-level names to lib3/PyYAML.egg-info/top_level.txt
> > > >       Traceback (most recent call last):
> > > >         File
> > > > "/opt/stack/data/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> > > > line 353, in <module>
> > > >           main()
> > > >         File
> > > > "/opt/stack/data/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> > > > line 335, in main
> > > >           json_out['return_val'] = hook(**hook_input['kwargs'])
> > > >                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >         File
> > > > "/opt/stack/data/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py",
> > > > line 118, in get_requires_for_build_wheel
> > > >           return hook(config_settings)
> > > >                  ^^^^^^^^^^^^^^^^^^^^^
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/build_meta.py",
> > > > line 325, in get_requires_for_build_wheel
> > > >           return self._get_build_requires(config_settings,
> > > > requirements=['wheel'])
> > > >
> > > >  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/build_meta.py",
> > > > line 295, in _get_build_requires
> > > >           self.run_setup()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/build_meta.py",
> > > > line 311, in run_setup
> > > >           exec(code, locals())
> > > >         File "<string>", line 271, in <module>
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/__init__.py",
> > > > line 104, in setup
> > > >           return distutils.core.setup(**attrs)
> > > >                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py",
> > > > line 184, in setup
> > > >           return run_commands(dist)
> > > >                  ^^^^^^^^^^^^^^^^^^
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/core.py",
> > > > line 200, in run_commands
> > > >           dist.run_commands()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py",
> > > > line 969, in run_commands
> > > >           self.run_command(cmd)
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/dist.py",
> > > > line 967, in run_command
> > > >           super().run_command(command)
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py",
> > > > line 988, in run_command
> > > >           cmd_obj.run()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py",
> > > > line 321, in run
> > > >           self.find_sources()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py",
> > > > line 329, in find_sources
> > > >           mm.run()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py",
> > > > line 550, in run
> > > >           self.add_defaults()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/command/egg_info.py",
> > > > line 588, in add_defaults
> > > >           sdist.add_defaults(self)
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/command/sdist.py",
> > > > line 102, in add_defaults
> > > >           super().add_defaults()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py",
> > > > line 250, in add_defaults
> > > >           self._add_defaults_ext()
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py",
> > > > line 335, in _add_defaults_ext
> > > >           self.filelist.extend(build_ext.get_source_files())
> > > >                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >         File "<string>", line 201, in get_source_files
> > > >         File
> > > > "/tmp/pip-build-env-vadud0tf/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py",
> > > > line 107, in __getattr__
> > > >           raise AttributeError(attr)
> > > >       AttributeError: cython_sources
> > > >       [end of output]
> > > >
> > > >   note: This error originates from a subprocess, and is likely not a
> > > > problem with pip.
> > > > error: subprocess-exited-with-error
> > > >
> > > > × Getting requirements to build wheel did not run successfully.
> > > > │ exit code: 1
> > > > ╰─> See above for output.
> > > >
> > > > note: This error originates from a subprocess, and is likely not a
> > > > problem with pip.
> > > > +inc/python:pip_install:1                  exit_trap
> > > > +./stack.sh:exit_trap:549                  local r=1
> > > > ++./stack.sh:exit_trap:550                  jobs -p
> > > > +./stack.sh:exit_trap:550                  jobs=
> > > > +./stack.sh:exit_trap:553                  [[ -n '' ]]
> > > > +./stack.sh:exit_trap:559                  '[' -f '' ']'
> > > > +./stack.sh:exit_trap:564                  kill_spinner
> > > > +./stack.sh:kill_spinner:459               '[' '!' -z '' ']'
> > > > +./stack.sh:exit_trap:566                  [[ 1 -ne 0 ]]
> > > > +./stack.sh:exit_trap:567                  echo 'Error on exit'
> > > > Error on exit
> > > > +./stack.sh:exit_trap:569                  type -p generate-subunit
> > > > +./stack.sh:exit_trap:572                  [[ -z /opt/stack/logs ]]
> > > > +./stack.sh:exit_trap:575
> > > >  /opt/stack/data/venv/bin/python3
> > > > /home/lohit/OpenSource/openstack/Org/devStack/devstack/tools/worlddump.py
> > > > -d /opt/stack/logs
> > > > World dumping... see /opt/stack/logs/worlddump-2024-05-14-161809.txt for
> > > > details
> > > > +./stack.sh:exit_trap:584                  exit 1
> > > >
> > >
> >
> > --
> > Thu.
> >