summaryrefslogtreecommitdiff
path: root/HACKING.rst
diff options
context:
space:
mode:
authorDaniel Watkins <oddbloke@ubuntu.com>2020-06-26 12:08:48 -0400
committerGitHub <noreply@github.com>2020-06-26 12:08:48 -0400
commit6b5b5b4e77c04eef2c73bdc9103e85ebce93cc3e (patch)
treeb5e098b88d421b880e2f49f9e5ec71191bc5f942 /HACKING.rst
parent2be12238f1c55802eb14dfc5c4523283788ef4e4 (diff)
downloadvyos-cloud-init-6b5b5b4e77c04eef2c73bdc9103e85ebce93cc3e.tar.gz
vyos-cloud-init-6b5b5b4e77c04eef2c73bdc9103e85ebce93cc3e.zip
HACKING.rst: add details of net refactor tracking (#456)
Diffstat (limited to 'HACKING.rst')
-rw-r--r--HACKING.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/HACKING.rst b/HACKING.rst
index d98e1d40..1e8aca7a 100644
--- a/HACKING.rst
+++ b/HACKING.rst
@@ -426,6 +426,9 @@ implementation. This can be done incrementally, one function at a
time:
* pick an unmigrated ``cloudinit.distros.networking.Networking`` method
+* find it in the `the list of bugs tagged net-refactor`_ and assign
+ yourself to it (see :ref:`Managing Work/Tracking Progress` below for
+ more details)
* refactor all of its callers to call the ``distro.net.<func>`` method
on ``Distro`` instead of the ``cloudinit.net.<func>`` function. (This
is likely to be the most time-consuming step, as it may require
@@ -613,6 +616,24 @@ Note that the functions in ``cloudinit.net`` use inconsistent parameter
names for "string that contains a device name"; we can standardise on
``devname`` (the most common one) in the refactor.
+Managing Work/Tracking Progress
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To ensure that we won't have multiple people working on the same part
+of the refactor at the same time, there is a bug for each function.
+You can see the current status by looking at `the list of bugs tagged
+net-refactor`_.
+
+When you're working on refactoring a particular method, ensure that you
+have assigned yourself to the corresponding bug, to avoid duplicate
+work.
+
+Generally, when considering what to pick up to refactor, it is best to
+start with functions in ``cloudinit.net`` which are not called by
+anything else in ``cloudinit.net``. This allows you to focus only on
+refactoring that function and its callsites, rather than having to
+update the other ``cloudinit.net`` function also.
+
References
~~~~~~~~~~
@@ -628,3 +649,4 @@ References
.. _this comment in PR #363: https://github.com/canonical/cloud-init/pull/363#issuecomment-628829489
.. _abstractmethod: https://docs.python.org/3/library/abc.html#abc.abstractmethod
.. _type aliases: https://docs.python.org/3/library/typing.html#type-aliases
+.. _the list of bugs tagged net-refactor: https://bugs.launchpad.net/cloud-init/+bugs?field.tag=net-refactor