include_system_packages is True and may obscure dependency isolation in venvs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gnocchi Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack AODH Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Barbican Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Barbican SoftHSM Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Ceph-FS Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Designate Charm |
Invalid
|
Medium
|
Unassigned | ||
OpenStack Designate-Bind Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Keystone LDAP integration |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Manila Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Manila Generic Backend Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Neutron API Open Daylight Charm (Retired) |
Won't Fix
|
Medium
|
Unassigned | ||
OpenStack Tempest Charm (Deprecated) |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack openvswitch-odl charm |
Won't Fix
|
Medium
|
Unassigned | ||
charms.openstack |
Invalid
|
Medium
|
Unassigned |
Bug Description
Use of include_
There is risk in that, and we should aim for full dependency isolation by setting this to False.
This should be coupled with an explicit declaration of use_venv: True, as use_venv has differing defaults across time and space.
Some (but not all) examples:
https:/
https:/
https:/
Still need to do a full grep to assess current use_venv and include_
Changed in charm-gnocchi: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-aodh: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-barbican: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-barbican-softhsm: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-ceph-fs: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-designate: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-designate-bind: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-keystone-ldap: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-manila: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-manila-generic: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-tempest: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-neutron-api-odl: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-openvswitch-odl: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charms.openstack: | |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in charm-designate: | |
status: | Triaged → Invalid |
Changed in charm-designate-bind: | |
status: | Triaged → Fix Released |
Changed in charm-keystone-ldap: | |
status: | Triaged → Fix Released |
Changed in charm-manila: | |
status: | Triaged → Fix Released |
Changed in charm-manila-generic: | |
status: | Triaged → Fix Released |
Changed in charm-tempest: | |
status: | Triaged → Fix Released |
The following confirms and details the current state of the two options, which are essentially at odds with one-another in terms of declaring dependencies in a sane way.
ie. When using a venv, we should never include system packages.
#### All src (reactive) OpenStack charms: beisner- bastion: ~/git/release- tools⟫ find -type f -name layer.yaml | sort src/layer. yaml softhsm/ src/layer. yaml src/layer. yaml fs/src/ layer.yaml bind/src/ layer.yaml src/layer. yaml src/layer. yaml ldap/src/ layer.yaml generic/ src/layer. yaml src/layer. yaml api-odl/ src/layer. yaml odl/src/ layer.yaml src/layer. yaml
ubuntu@
./aodh/
./barbican-
./barbican/
./ceph-
./designate-
./designate/
./gnocchi/
./keystone-
./manila-
./manila/
./neutron-
./openvswitch-
./tempest/
#### Those which take a stance on use_venv and/or include_ system_ packages: beisner- bastion: ~/git/release- tools⟫ find -type f -name layer.yaml | sort | xargs egrep "system|venv" src/layer. yaml: use_venv: True src/layer. yaml: include_ system_ packages: True softhsm/ src/layer. yaml: use_venv: true softhsm/ src/layer. yaml: include_ system_ packages: true src/layer. yaml: use_venv: true src/layer. yaml: include_ system_ packages: true src/layer. yaml: use_venv: True src/layer. yaml: include_ system_ packages: True src/layer. yaml: use_venv: True src/layer. yaml: include_ system_ packages: True ldap/src/ layer.yaml: use_venv: True ldap/src/ layer.yaml: include_ system_ packages: True src/layer. yaml: use_venv: true src/layer. yaml: include_ system_ packages: true api-odl/ src/layer. yaml: use_venv: True api-odl/ src/layer. yaml: include_ system_ packages: True odl/src/ layer.yaml: use_venv: True odl/src/ layer.yaml: include_ system_ packages: True
ubuntu@
./aodh/
./aodh/
./barbican-
./barbican-
./barbican/
./barbican/
./designate/
./designate/
./gnocchi/
./gnocchi/
./keystone-
./keystone-
./manila/
./manila/
./neutron-
./neutron-
./openvswitch-
./openvswitch-
#### Those which do not declare either, leaving it up to version chance:
ceph-fs
designate-bind
manila-generic
tempest