- Added 'Alternatives' section in lxd-to-nova-lxd-rename.rst too avoid pep8 error, and fixed other pep8 mistakes - changing testenv to python3 - removing sitepackages in tox.ini to avoid test env pollution - skip_missing_interpreters in tox.ini set to False to avoid false positives by skipping missing interpreters. Change-Id: Id746fff4bfe7b0dd3ccb2803793f78a194d81355
4.2 KiB
Renaming the lxd charm to nova-lxd
The initial 'push' to rename the charm to nova-lxd is:
- The name nova-lxd better reflects that the charm is used with nova. It is confusing for users that the (currently named) lxd charm must be used with the nova-compute charm, and can't be used in a different environment.
- It releases the name lxd for use as a general purpose charm for LXD, that could be created to allow clusters of LXD machines to configured with Juju and MaaS.
Problem Description
The name of the charm as lxd
is causing some confusion
in the community as potential users are unaware that it is an OpenStack
specific charm for nova as a subordinate. Therefore, changing the name
of the charm to nova-lxd
will help mitigate this
confusion.
Proposed Change
- The
lxd
charm will be copied tonova-lxd
with all of its existing functionality. - The existing
lxd
charm will be converted to a no-op charm with a blocked status message indicating that the user should use thenova-lxd
charm instead. Thelxd
charm will then be removed entirely after another cycle. - Making the existing
lxd
charm a no-op also has the advantage that existing installations will be unable to upgrade to the newer 'no-op' lxd charm as the relations will not match, thus forcing the operator to investigate as well as not breaking existing installations.
The charm name will be switched with the
juju upgrade-charm lxd --switch=nova-lxd
method of changing
a charm and this will be tested during upgrades.
Alternatives
No alternatives suggested.
Implementation
Assignee(s)
Primary assignee: ajkavanagh
Gerrit Topic
Use Gerrit topic "nova-lxd-charm" for all patches related to this spec.
git-review -t nova-lxd-charm
Work Items
There are the following, logically separate, pieces of work in this specification:
- Turning the existing
lxd
charm into a 'no-op' charm with a blocked status message. For the avoidance of doubt, Juju will refuse to upgrade an existinglxd
charm to this charm. The purpose of the blocked message is for new deployments where the deployment bundle should usenova-lxd
, but instead refers to the old name. In this case, the charm will not do anything as a subordinate except to show the blocked message. - Creating the new
nova-lxd
charm by copying the existinglxd
charm repository over. - Create project for nova-lxd charm on OpenStack on gerrit
- Create launchpad project for nova-lxd charm
Repositories
New git repository: openstack/charm-nova-lxd
This will be created as part of creating the charm-nova-lxd project on openstack.
Documentation
- Add notes the Charm Deployment Guide about the new charm.
- Add notes to the upgrades section to discuss how to upgrade from
lxd
tonova-lxd
, what issues may occur, and how to recover the situation.
Security
None noted.
Testing
As the charm is just being renamed, there should be no issues with unit and functional tests. They will not change as part of the specification.
However, the various bundles that use the lxd
charm will
need to be updated to refer to a nova-lxd
charm for the
19.04 release. These are contained in:
- github: openstack-charmers/openstack-bundles - openstack-lxd
- github: openstack-charmers/openstack-charm-testing
- README-lxd.md
- README-multihypervisor.md
- bundles/lxd/*
- bundles/multi-hypervisor/*
Testing on a MaaS will be necessary for the modified openstack-lxd bundles.
Dependencies
None noted.