Stable artefacts for stable/2023.1 (antelope)

This patch is to lock the stable/2023.1 (antelope release) charms
down so that as much as possible.
In particular, this patch does:

- set the .gitreview to stable/2023.1
- lock zaza and zaza-openstack-tests to stable/antelope branches
- for reactive charms Add build.lock files to lock the layers
  and python modules used to build the charm.
- for ops framework charms, extract a pip freeze from the
  charmcraft container after building the charm to lock the
  modules used to build the charm.
- drop the kinetic bundles if the exist. (Note the updates to
  tests.yaml is in another batch (topic: antelope-voting)
- update the bundles so that they point to the antelope specific
  channels.  e.g. 2023.1/edge for OpenStack charms, 23.03/edge for
  OVN charms, quincy/edge for Ceph charms and generally, the
  appropriate LTS Jammy branch for the various support charms.

Change-Id: I4a84b4e295f3d1c1178d863cd573168ffc2c3a1f
This commit is contained in:
Alex Kavanagh 2023-04-20 19:03:45 +01:00
parent c4e0b9944f
commit 5397f617f6
8 changed files with 267 additions and 83 deletions

View File

@ -2,3 +2,5 @@
host=review.opendev.org host=review.opendev.org
port=29418 port=29418
project=openstack/charm-masakari-monitors.git project=openstack/charm-masakari-monitors.git
defaultbranch=stable/2023.1

182
src/build.lock Normal file
View File

@ -0,0 +1,182 @@
{
"locks": [
{
"type": "layer",
"item": "layer:options",
"url": "https://github.com/juju-solutions/layer-options.git",
"vcs": null,
"branch": "fcdcea4e5de3e1556c24e6704607862d0ba00a56",
"commit": "fcdcea4e5de3e1556c24e6704607862d0ba00a56"
},
{
"type": "layer",
"item": "layer:basic",
"url": "https://github.com/juju-solutions/layer-basic.git",
"vcs": null,
"branch": "a41b3559d629993d960af65104108f66ab9795a8",
"commit": "a41b3559d629993d960af65104108f66ab9795a8"
},
{
"type": "layer",
"item": "layer:openstack",
"url": "https://github.com/openstack/charm-layer-openstack",
"vcs": null,
"branch": "1c9e662d78b328c6d4587171ccba08572e8dcf25",
"commit": "1c9e662d78b328c6d4587171ccba08572e8dcf25"
},
{
"type": "layer",
"item": "masakari-monitors",
"url": null,
"vcs": null,
"branch": null,
"commit": ""
},
{
"type": "layer",
"item": "interface:tls-certificates",
"url": "https://github.com/juju-solutions/interface-tls-certificates",
"vcs": null,
"branch": "61e9f278fc8c8119b1d4810ac39e2275be58e9ce",
"commit": "61e9f278fc8c8119b1d4810ac39e2275be58e9ce"
},
{
"type": "layer",
"item": "interface:keystone-credentials",
"url": "https://github.com/openstack/charm-interface-keystone-credentials",
"vcs": null,
"branch": "53e93b8820899f2251d207ed5d5c3b212ceb64de",
"commit": "53e93b8820899f2251d207ed5d5c3b212ceb64de"
},
{
"type": "python_module",
"package": "charms.reactive",
"vcs": null,
"version": "1.5.2"
},
{
"type": "python_module",
"package": "psutil",
"vcs": null,
"version": "5.9.5"
},
{
"type": "python_module",
"package": "Jinja2",
"vcs": null,
"version": "3.1.2"
},
{
"type": "python_module",
"package": "pyaml",
"vcs": null,
"version": "21.10.1"
},
{
"type": "python_module",
"package": "packaging",
"vcs": null,
"version": "23.1"
},
{
"type": "python_module",
"package": "poetry_core",
"vcs": null,
"version": "1.5.2"
},
{
"type": "python_module",
"package": "charmhelpers",
"url": "git+https://github.com/juju/charm-helpers.git",
"branch": "stable/antelope",
"version": "b9444c20fdf3dc938790ed208cd1053b60055590",
"vcs": "git"
},
{
"type": "python_module",
"package": "MarkupSafe",
"vcs": null,
"version": "2.1.2"
},
{
"type": "python_module",
"package": "flit_core",
"vcs": null,
"version": "3.8.0"
},
{
"type": "python_module",
"package": "netifaces",
"vcs": null,
"version": "0.11.0"
},
{
"type": "python_module",
"package": "pbr",
"vcs": null,
"version": "5.11.1"
},
{
"type": "python_module",
"package": "netaddr",
"vcs": null,
"version": "0.7.19"
},
{
"type": "python_module",
"package": "dnspython",
"vcs": null,
"version": "2.3.0"
},
{
"type": "python_module",
"package": "setuptools_scm",
"vcs": null,
"version": "6.4.2"
},
{
"type": "python_module",
"package": "setuptools",
"vcs": null,
"version": "62.1.0"
},
{
"type": "python_module",
"package": "PyYAML",
"vcs": null,
"version": "6.0"
},
{
"type": "python_module",
"package": "tomli",
"vcs": null,
"version": "2.0.1"
},
{
"type": "python_module",
"package": "pip",
"vcs": null,
"version": "22.0.4"
},
{
"type": "python_module",
"package": "charms.openstack",
"url": "git+https://github.com/openstack/charms.openstack.git",
"branch": "stable/antelope",
"version": "7a589883545284e0a6303c7977402afb38e99d46",
"vcs": "git"
},
{
"type": "python_module",
"package": "Cython",
"vcs": null,
"version": "0.29.34"
},
{
"type": "python_module",
"package": "wheel",
"vcs": null,
"version": "0.40.0"
}
]
}

View File

@ -5,5 +5,5 @@
# #
# Functional Test Requirements (let Zaza's dependencies solve all dependencies here!) # Functional Test Requirements (let Zaza's dependencies solve all dependencies here!)
git+https://github.com/openstack-charmers/zaza.git#egg=zaza git+https://github.com/openstack-charmers/zaza.git@stable/antelope#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/antelope#egg=zaza.openstack

View File

@ -43,28 +43,28 @@ applications:
keystone-mysql-router: keystone-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
cinder-mysql-router: cinder-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
neutron-api-mysql-router: neutron-api-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
glance-mysql-router: glance-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
nova-cloud-controller-mysql-router: nova-cloud-controller-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
masakari-mysql-router: masakari-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
vault-mysql-router: vault-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
placement-mysql-router: placement-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster charm: ch:mysql-innodb-cluster
@ -73,7 +73,7 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge channel: 8.0/edge
glance: glance:
charm: ch:glance charm: ch:glance
@ -83,7 +83,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '3' - '3'
channel: latest/edge channel: 2023.1/edge
cinder: cinder:
charm: ch:cinder charm: ch:cinder
@ -94,7 +94,7 @@ applications:
glance-api-version: 2 glance-api-version: 2
to: to:
- '4' - '4'
channel: latest/edge channel: 2023.1/edge
keystone: keystone:
charm: ch:keystone charm: ch:keystone
@ -105,7 +105,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '5' - '5'
channel: latest/edge channel: 2023.1/edge
neutron-api: neutron-api:
charm: ch:neutron-api charm: ch:neutron-api
@ -118,7 +118,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '6' - '6'
channel: latest/edge channel: 2023.1/edge
neutron-gateway: neutron-gateway:
charm: ch:neutron-gateway charm: ch:neutron-gateway
@ -129,12 +129,12 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '7' - '7'
channel: latest/edge channel: 2023.1/edge
neutron-openvswitch: neutron-openvswitch:
charm: ch:neutron-openvswitch charm: ch:neutron-openvswitch
num_units: 0 num_units: 0
channel: latest/edge channel: 2023.1/edge
nova-cloud-controller: nova-cloud-controller:
charm: ch:nova-cloud-controller charm: ch:nova-cloud-controller
@ -146,7 +146,7 @@ applications:
debug: true debug: true
to: to:
- '23' - '23'
channel: latest/edge channel: 2023.1/edge
nova-compute: nova-compute:
charm: ch:nova-compute charm: ch:nova-compute
@ -167,14 +167,14 @@ applications:
- '8' - '8'
- '9' - '9'
- '10' - '10'
channel: latest/edge channel: 2023.1/edge
rabbitmq-server: rabbitmq-server:
charm: ch:rabbitmq-server charm: ch:rabbitmq-server
num_units: 1 num_units: 1
to: to:
- '11' - '11'
channel: latest/edge channel: 3.9/edge
masakari: masakari:
charm: ch:masakari charm: ch:masakari
@ -185,7 +185,7 @@ applications:
- '12' - '12'
- '13' - '13'
- '14' - '14'
channel: latest/edge channel: 2023.1/edge
ceph-mon: ceph-mon:
charm: ch:ceph-mon charm: ch:ceph-mon
@ -197,7 +197,7 @@ applications:
- '15' - '15'
- '16' - '16'
- '17' - '17'
channel: latest/edge channel: quincy/edge
ceph-osd: ceph-osd:
charm: ch:ceph-osd charm: ch:ceph-osd
@ -211,11 +211,11 @@ applications:
- '18' - '18'
- '19' - '19'
- '20' - '20'
channel: latest/edge channel: quincy/edge
cinder-ceph: cinder-ceph:
charm: ch:cinder-ceph charm: ch:cinder-ceph
channel: latest/edge channel: 2023.1/edge
masakari-monitors: masakari-monitors:
charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm
@ -225,21 +225,21 @@ applications:
options: options:
corosync_transport: unicast corosync_transport: unicast
cluster_count: 3 cluster_count: 3
channel: latest/edge channel: 2.4/edge
pacemaker-remote: pacemaker-remote:
charm: ch:pacemaker-remote charm: ch:pacemaker-remote
options: options:
enable-stonith: False enable-stonith: False
enable-resources: False enable-resources: False
channel: latest/edge channel: jammy/edge
vault: vault:
num_units: 1 num_units: 1
charm: ch:vault charm: ch:vault
to: to:
- '21' - '21'
channel: latest/edge channel: 1.8/edge
placement: placement:
charm: ch:placement charm: ch:placement
@ -248,7 +248,7 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '22' - '22'
channel: latest/edge channel: 2023.1/edge
relations: relations:

View File

@ -43,28 +43,28 @@ applications:
keystone-mysql-router: keystone-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
cinder-mysql-router: cinder-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
neutron-api-mysql-router: neutron-api-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
glance-mysql-router: glance-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
nova-cloud-controller-mysql-router: nova-cloud-controller-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
masakari-mysql-router: masakari-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
vault-mysql-router: vault-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
placement-mysql-router: placement-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster charm: ch:mysql-innodb-cluster
@ -73,7 +73,7 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge channel: 8.0/edge
glance: glance:
charm: ch:glance charm: ch:glance
@ -83,7 +83,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '3' - '3'
channel: latest/edge channel: 2023.1/edge
cinder: cinder:
charm: ch:cinder charm: ch:cinder
@ -94,7 +94,7 @@ applications:
glance-api-version: 2 glance-api-version: 2
to: to:
- '4' - '4'
channel: latest/edge channel: 2023.1/edge
keystone: keystone:
charm: ch:keystone charm: ch:keystone
@ -105,7 +105,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '5' - '5'
channel: latest/edge channel: 2023.1/edge
neutron-api: neutron-api:
charm: ch:neutron-api charm: ch:neutron-api
@ -118,7 +118,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '6' - '6'
channel: latest/edge channel: 2023.1/edge
neutron-gateway: neutron-gateway:
charm: ch:neutron-gateway charm: ch:neutron-gateway
@ -129,12 +129,12 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '7' - '7'
channel: latest/edge channel: 2023.1/edge
neutron-openvswitch: neutron-openvswitch:
charm: ch:neutron-openvswitch charm: ch:neutron-openvswitch
num_units: 0 num_units: 0
channel: latest/edge channel: 2023.1/edge
nova-cloud-controller: nova-cloud-controller:
charm: ch:nova-cloud-controller charm: ch:nova-cloud-controller
@ -146,7 +146,7 @@ applications:
debug: true debug: true
to: to:
- '23' - '23'
channel: latest/edge channel: 2023.1/edge
nova-compute: nova-compute:
charm: ch:nova-compute charm: ch:nova-compute
@ -167,14 +167,14 @@ applications:
- '8' - '8'
- '9' - '9'
- '10' - '10'
channel: latest/edge channel: 2023.1/edge
rabbitmq-server: rabbitmq-server:
charm: ch:rabbitmq-server charm: ch:rabbitmq-server
num_units: 1 num_units: 1
to: to:
- '11' - '11'
channel: latest/edge channel: 3.9/edge
masakari: masakari:
charm: ch:masakari charm: ch:masakari
@ -185,7 +185,7 @@ applications:
- '12' - '12'
- '13' - '13'
- '14' - '14'
channel: latest/edge channel: 2023.1/edge
ceph-mon: ceph-mon:
charm: ch:ceph-mon charm: ch:ceph-mon
@ -197,7 +197,7 @@ applications:
- '15' - '15'
- '16' - '16'
- '17' - '17'
channel: latest/edge channel: quincy/edge
ceph-osd: ceph-osd:
charm: ch:ceph-osd charm: ch:ceph-osd
@ -211,11 +211,11 @@ applications:
- '18' - '18'
- '19' - '19'
- '20' - '20'
channel: latest/edge channel: quincy/edge
cinder-ceph: cinder-ceph:
charm: ch:cinder-ceph charm: ch:cinder-ceph
channel: latest/edge channel: 2023.1/edge
masakari-monitors: masakari-monitors:
charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm
@ -225,21 +225,21 @@ applications:
options: options:
corosync_transport: unicast corosync_transport: unicast
cluster_count: 3 cluster_count: 3
channel: latest/edge channel: 2.4/edge
pacemaker-remote: pacemaker-remote:
charm: ch:pacemaker-remote charm: ch:pacemaker-remote
options: options:
enable-stonith: False enable-stonith: False
enable-resources: False enable-resources: False
channel: latest/edge channel: jammy/edge
vault: vault:
num_units: 1 num_units: 1
charm: ch:vault charm: ch:vault
to: to:
- '21' - '21'
channel: latest/edge channel: 1.8/edge
placement: placement:
charm: ch:placement charm: ch:placement
@ -248,7 +248,7 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '22' - '22'
channel: latest/edge channel: 2023.1/edge
relations: relations:

View File

@ -43,28 +43,28 @@ applications:
keystone-mysql-router: keystone-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
cinder-mysql-router: cinder-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
neutron-api-mysql-router: neutron-api-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
glance-mysql-router: glance-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
nova-cloud-controller-mysql-router: nova-cloud-controller-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
masakari-mysql-router: masakari-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
vault-mysql-router: vault-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
placement-mysql-router: placement-mysql-router:
charm: ch:mysql-router charm: ch:mysql-router
channel: latest/edge channel: 8.0/edge
mysql-innodb-cluster: mysql-innodb-cluster:
charm: ch:mysql-innodb-cluster charm: ch:mysql-innodb-cluster
@ -73,7 +73,7 @@ applications:
- '0' - '0'
- '1' - '1'
- '2' - '2'
channel: latest/edge channel: 8.0/edge
glance: glance:
charm: ch:glance charm: ch:glance
@ -83,7 +83,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '3' - '3'
channel: latest/edge channel: 2023.1/edge
cinder: cinder:
charm: ch:cinder charm: ch:cinder
@ -94,7 +94,7 @@ applications:
glance-api-version: 2 glance-api-version: 2
to: to:
- '4' - '4'
channel: latest/edge channel: 2023.1/edge
keystone: keystone:
charm: ch:keystone charm: ch:keystone
@ -105,7 +105,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '5' - '5'
channel: latest/edge channel: 2023.1/edge
neutron-api: neutron-api:
charm: ch:neutron-api charm: ch:neutron-api
@ -118,7 +118,7 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '6' - '6'
channel: latest/edge channel: 2023.1/edge
neutron-gateway: neutron-gateway:
charm: ch:neutron-gateway charm: ch:neutron-gateway
@ -129,12 +129,12 @@ applications:
worker-multiplier: 0.25 worker-multiplier: 0.25
to: to:
- '7' - '7'
channel: latest/edge channel: 2023.1/edge
neutron-openvswitch: neutron-openvswitch:
charm: ch:neutron-openvswitch charm: ch:neutron-openvswitch
num_units: 0 num_units: 0
channel: latest/edge channel: 2023.1/edge
nova-cloud-controller: nova-cloud-controller:
charm: ch:nova-cloud-controller charm: ch:nova-cloud-controller
@ -146,7 +146,7 @@ applications:
debug: true debug: true
to: to:
- '23' - '23'
channel: latest/edge channel: 2023.1/edge
nova-compute: nova-compute:
charm: ch:nova-compute charm: ch:nova-compute
@ -167,14 +167,14 @@ applications:
- '8' - '8'
- '9' - '9'
- '10' - '10'
channel: latest/edge channel: 2023.1/edge
rabbitmq-server: rabbitmq-server:
charm: ch:rabbitmq-server charm: ch:rabbitmq-server
num_units: 1 num_units: 1
to: to:
- '11' - '11'
channel: latest/edge channel: 3.9/edge
masakari: masakari:
charm: ch:masakari charm: ch:masakari
@ -185,7 +185,7 @@ applications:
- '12' - '12'
- '13' - '13'
- '14' - '14'
channel: latest/edge channel: 2023.1/edge
ceph-mon: ceph-mon:
charm: ch:ceph-mon charm: ch:ceph-mon
@ -197,7 +197,7 @@ applications:
- '15' - '15'
- '16' - '16'
- '17' - '17'
channel: latest/edge channel: quincy/edge
ceph-osd: ceph-osd:
charm: ch:ceph-osd charm: ch:ceph-osd
@ -211,11 +211,11 @@ applications:
- '18' - '18'
- '19' - '19'
- '20' - '20'
channel: latest/edge channel: quincy/edge
cinder-ceph: cinder-ceph:
charm: ch:cinder-ceph charm: ch:cinder-ceph
channel: latest/edge channel: 2023.1/edge
masakari-monitors: masakari-monitors:
charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm
@ -225,21 +225,21 @@ applications:
options: options:
corosync_transport: unicast corosync_transport: unicast
cluster_count: 3 cluster_count: 3
channel: latest/edge channel: 2.4/edge
pacemaker-remote: pacemaker-remote:
charm: ch:pacemaker-remote charm: ch:pacemaker-remote
options: options:
enable-stonith: False enable-stonith: False
enable-resources: False enable-resources: False
channel: latest/edge channel: jammy/edge
vault: vault:
num_units: 1 num_units: 1
charm: ch:vault charm: ch:vault
to: to:
- '21' - '21'
channel: latest/edge channel: 1.8/edge
placement: placement:
charm: ch:placement charm: ch:placement
@ -248,7 +248,7 @@ applications:
openstack-origin: *openstack-origin openstack-origin: *openstack-origin
to: to:
- '22' - '22'
channel: latest/edge channel: 2023.1/edge
relations: relations:

View File

@ -1,5 +1,5 @@
psutil psutil
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack git+https://github.com/openstack/charms.openstack.git@stable/antelope#egg=charms.openstack
git+https://github.com/juju/charm-helpers.git#egg=charmhelpers git+https://github.com/juju/charm-helpers.git@stable/antelope#egg=charmhelpers

View File

@ -19,7 +19,7 @@ mock>=1.2
nose>=1.3.7 nose>=1.3.7
coverage>=3.6 coverage>=3.6
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack git+https://github.com/openstack/charms.openstack.git@stable/antelope#egg=charms.openstack
# #
# Revisit for removal / mock improvement: # Revisit for removal / mock improvement:
# #