Update charm with latest config from release-tools

Additionally, update bundle to point at released
charm-manila

Change-Id: Icb93b78747798a61db6706846ab9f532cbd058cd
This commit is contained in:
Chris MacNaughton 2019-11-19 15:25:31 +01:00
parent 73924a6994
commit f5b7f41f8d
10 changed files with 230 additions and 124 deletions

View File

@ -1,3 +1,8 @@
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos. See the 'global' dir contents for available
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# Build requirements
charm-tools>=2.4.4
simplejson
simplejson

View File

@ -135,6 +135,8 @@ class ManilaGaneshaCharm(charms_openstack.charm.HAOpenStackCharm,
source_config_key = 'openstack-origin'
packages = [
'ceph-common',
'python3-cephfs',
'python3-rados',
'nfs-ganesha-ceph',
'manila-share',
'python3-manila',

View File

@ -1,12 +1,8 @@
# This file is managed centrally. If you find the need to modify this as a
# one-off, please don't. Intead, consult #openstack-charms and ask about
# requirements management in charms via bot-control. Thank you.
charm-tools>=2.4.4
coverage>=3.6
mock>=1.2
flake8>=2.2.4,<=2.4.1
stestr>=2.2.0
requests>=2.18.4
python-manilaclient
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos. See the 'global' dir contents for available
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# 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-openstack-tests.git#egg=zaza.openstack

View File

@ -1,5 +1,5 @@
series: bionic
variables:
options:
source: &source cloud:bionic-rocky
services:
manila-ganesha:
@ -9,7 +9,7 @@ services:
options:
openstack-origin: *source
ceph-mon:
charm: /home/ubuntu/ceph-mon
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
source: *source
@ -27,7 +27,7 @@ services:
source: *source
manila:
# charm: cs:~openstack-charmers-next/manila
charm: /home/ubuntu/manila/build/builds/manila
charm: cs:~openstack-charmers-next/manila
num_units: 1
options:
openstack-origin: *source

View File

@ -9,7 +9,7 @@ services:
options:
openstack-origin: *source
ceph-mon:
charm: /home/ubuntu/ceph-mon
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
source: *source
@ -27,7 +27,7 @@ services:
source: *source
manila:
# charm: cs:~openstack-charmers-next/manila
charm: /home/ubuntu/manila/build/builds/manila
charm: cs:~openstack-charmers-next/manila
num_units: 1
options:
openstack-origin: *source

View File

@ -0,0 +1,161 @@
series: bionic
options:
source: &source cloud:bionic-train
services:
manila-ganesha:
num_units: 1
series: bionic
charm: ../../../manila-ganesha
options:
openstack-origin: *source
ceph-mon:
charm: cs:~openstack-charmers-next/ceph-mon
num_units: 3
options:
source: *source
ceph-osd:
charm: cs:~openstack-charmers-next/ceph-osd
num_units: 3
options:
source: *source
storage:
osd-devices: 'cinder,10G'
ceph-fs:
charm: cs:~openstack-charmers-next/ceph-fs
num_units: 2
options:
source: *source
manila:
# charm: cs:~openstack-charmers-next/manila
charm: cs:~openstack-charmers-next/manila
num_units: 1
options:
openstack-origin: *source
default-share-backend: cephfsnfs1
share-protocols: NFS
nova-cloud-controller:
charm: cs:~openstack-charmers-next/nova-cloud-controller
num_units: 1
options:
network-manager: Neutron
openstack-origin: *source
placement:
charm: cs:~openstack-charmers-next/placement
num_units: 1
options:
openstack-origin: *source
nova-compute:
charm: cs:~openstack-charmers-next/nova-compute
num_units: 2
constraints: mem=8G
options:
config-flags: default_ephemeral_format=ext4
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: *source
glance:
charm: cs:~openstack-charmers-next/glance
num_units: 1
options:
openstack-origin: *source
neutron-api:
charm: cs:~openstack-charmers-next/neutron-api
num_units: 1
options:
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *source
neutron-openvswitch:
charm: cs:~openstack-charmers-next/neutron-openvswitch
neutron-gateway:
charm: cs:~openstack-charmers-next/neutron-gateway
num_units: 1
options:
bridge-mappings: physnet1:br-ex
openstack-origin: *source
rabbitmq-server:
charm: cs:~openstack-charmers-next/rabbitmq-server
num_units: 1
options:
source: *source
percona-cluster:
charm: cs:~openstack-charmers-next/percona-cluster
num_units: 1
options:
source: *source
keystone:
charm: cs:~openstack-charmers-next/keystone
num_units: 1
options:
openstack-origin: *source
relations:
- - ceph-mon
- ceph-osd
- - ceph-mon
- ceph-fs
- - ceph-mon
- manila-ganesha
- - manila-ganesha
- percona-cluster
- - manila-ganesha
- rabbitmq-server
- - manila-ganesha
- keystone
- - manila
- manila-ganesha
- - manila
- rabbitmq-server
- - manila
- keystone
- - keystone
- percona-cluster
- - manila
- percona-cluster
- - 'neutron-api:shared-db'
- 'percona-cluster:shared-db'
- - 'neutron-api:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-api:neutron-api'
- 'nova-cloud-controller:neutron-api'
- - 'placement:placement'
- 'nova-cloud-controller:placement'
- - 'placement:amqp'
- 'rabbitmq-server:amqp'
- - 'placement:shared-db'
- 'percona-cluster:shared-db'
- - 'placement:identity-service'
- 'keystone:identity-service'
- - 'neutron-api:neutron-plugin-api'
- 'neutron-gateway:neutron-plugin-api'
- - 'neutron-api:identity-service'
- 'keystone:identity-service'
- - 'nova-compute:neutron-plugin'
- 'neutron-openvswitch:neutron-plugin'
- - 'nova-cloud-controller:shared-db'
- 'percona-cluster:shared-db'
- - 'neutron-gateway:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-compute:amqp'
- 'rabbitmq-server:amqp'
- - 'neutron-openvswitch:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-cloud-controller:identity-service'
- 'keystone:identity-service'
- - 'nova-cloud-controller:cloud-compute'
- 'nova-compute:cloud-compute'
- - 'glance:identity-service'
- 'keystone:identity-service'
- - 'glance:shared-db'
- 'percona-cluster:shared-db'
- - 'glance:amqp'
- 'rabbitmq-server:amqp'
- - 'nova-compute:image-service'
- 'glance:image-service'
- - 'nova-cloud-controller:image-service'
- 'glance:image-service'
- - 'nova-cloud-controller:quantum-network-service'
- 'neutron-gateway:quantum-network-service'

View File

@ -3,10 +3,10 @@ dev_bundles:
- bionic
gate_bundles:
- bionic-rocky
- bionic-queens
- bionic-stein
- bionic-train
smoke_bundles:
- bionic-stein
- bionic-train
target_deploy_status: {}
tests:
- local_tests.manila_ganesha.tests.ManilaGaneshaTests

View File

@ -1,89 +1,35 @@
# Classic charm: ./tox.ini
# Source charm (with zaza): ./src/tox.ini
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos.
# within individual charm repos. See the 'global' dir contents for available
# choices of tox.ini for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
[tox]
envlist = pep8,py37
envlist = pep8
skipsdist = True
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
sitepackages = False
# NOTE: Avoid false positives by not skipping missing interpreters.
skip_missing_interpreters = False
[testenv]
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
CHARM_DIR={envdir}
AMULET_SETUP_TIMEOUT=5400
whitelist_externals = juju
passenv = HOME TERM CS_* OS_* TEST_*
deps = -r{toxinidir}/test-requirements.txt
install_command =
pip install {opts} {packages}
commands = stestr run {posargs}
whitelist_externals = juju
passenv = HOME TERM AMULET_* CS_API_* OS_*
deps = -r{toxinidir}/test-requirements.txt
[testenv:py27]
basepython = python2.7
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
# temporarily disable py27
commands = /bin/true
[testenv:py3]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
; keep zuul happy until we change the py35 job
[testenv:py35]
basepython = python3.5
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py36]
basepython = python3.6
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py37]
basepython = python3.7
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:pep8]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = flake8 {posargs} hooks unit_tests tests actions lib
charm-proof
deps=charm-tools
commands = charm-proof
[testenv:cover]
# Technique based heavily upon
# https://github.com/openstack/nova/blob/master/tox.ini
[testenv:func-noop]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
setenv =
{[testenv]setenv}
PYTHON=coverage run
commands =
coverage erase
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
coverage report
[coverage:run]
branch = True
concurrency = multiprocessing
parallel = True
source =
.
omit =
.tox/*
*/charmhelpers/*
unit_tests/*
[testenv:venv]
basepython = python3
commands = {posargs}
functest-run-suite --help
[testenv:func]
basepython = python3
@ -95,11 +41,10 @@ basepython = python3
commands =
functest-run-suite --keep-model --smoke
[testenv:func-dev]
[testenv:func-target]
basepython = python3
commands =
functest-run-suite --keep-model --dev
functest-run-suite --keep-model --bundle {posargs}
[flake8]
ignore = E402,E226
exclude = */charmhelpers
[testenv:venv]
commands = {posargs}

View File

@ -1,12 +1,14 @@
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos. See the 'global' dir contents for available
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# Lint and unit test requirements
flake8
flake8>=2.2.4,<=2.4.1
stestr>=2.2.0
requests>=2.18.4
charms.reactive
mock>=1.2
nose>=1.3.7
coverage>=3.6
git+https://github.com/openstack/charms.openstack.git#egg=charms-openstack
# TODO: Migrate to zaza-openstack-charms
python-manilaclient
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack

45
tox.ini
View File

@ -1,12 +1,15 @@
# Source charm: ./tox.ini
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos.
# within individual charm repos. See the 'global' dir contents for available
# choices of tox.ini for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
[tox]
skipsdist = True
envlist = pep8,py37
# NOTE(beisner): Avoid build/test env pollution by not enabling sitepackages.
envlist = pep8,py3
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
sitepackages = False
# NOTE(beisner): Avoid false positives by not skipping missing interpreters.
# NOTE: Avoid false positives by not skipping missing interpreters.
skip_missing_interpreters = False
[testenv]
@ -16,45 +19,36 @@ setenv = VIRTUAL_ENV={envdir}
LAYER_PATH={toxinidir}/layers
INTERFACE_PATH={toxinidir}/interfaces
JUJU_REPOSITORY={toxinidir}/build
passenv = http_proxy https_proxy USER
passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY
install_command =
pip install {opts} {packages}
[testenv:build]
basepython = python2.7
deps =
-r{toxinidir}/requirements.txt
[testenv:build]
basepython = python3
commands =
charm-build --log-level DEBUG -o {toxinidir}/build src {posargs}
[testenv:py27]
basepython = python2.7
deps =
# Reactive source charms are Python3-only, but a py27 unit test target
# is required by OpenStack Governance. Remove this shim as soon as
# permitted. http://governance.openstack.org/reference/cti/python_cti.html
whitelist_externals = true
commands = true
[testenv:py34]
basepython = python3.4
[testenv:py3]
basepython = python3
deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
commands = stestr run --slowest {posargs}
[testenv:py35]
basepython = python3.5
deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
commands = stestr run --slowest {posargs}
[testenv:py36]
basepython = python3.6
deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
commands = stestr run --slowest {posargs}
[testenv:py37]
basepython = python3.7
deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs}
commands = stestr run --slowest {posargs}
[testenv:pep8]
basepython = python3
@ -72,7 +66,7 @@ setenv =
PYTHON=coverage run
commands =
coverage erase
stestr run {posargs}
stestr run --slowest {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
@ -90,8 +84,9 @@ omit =
unit_tests/*
[testenv:venv]
basepython = python3
commands = {posargs}
[flake8]
# E402 ignore necessary for path append before sys module import in actions
ignore = E402,W504
ignore = E402,W504