Add nova-vgpu relation
Change-Id: Ie034a263c85c2909ce87ada632196772dbd265d2
This commit is contained in:
@@ -42,6 +42,7 @@ from nova_compute_hooks import (
|
|||||||
CONFIGS,
|
CONFIGS,
|
||||||
neutron_plugin_joined,
|
neutron_plugin_joined,
|
||||||
nova_ceilometer_joined,
|
nova_ceilometer_joined,
|
||||||
|
nova_vgpu_joined,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -62,6 +63,8 @@ def openstack_upgrade():
|
|||||||
neutron_plugin_joined(rid, remote_restart=True)
|
neutron_plugin_joined(rid, remote_restart=True)
|
||||||
for rid in relation_ids('nova-ceilometer'):
|
for rid in relation_ids('nova-ceilometer'):
|
||||||
nova_ceilometer_joined(rid, remote_restart=True)
|
nova_ceilometer_joined(rid, remote_restart=True)
|
||||||
|
for rid in relation_ids('nova-vgpu'):
|
||||||
|
nova_vgpu_joined(rid, remote_restart=True)
|
||||||
# NOTE(ajkavanagh) - if unit is paused (usually true for managed
|
# NOTE(ajkavanagh) - if unit is paused (usually true for managed
|
||||||
# upgrade) then the config_changed() function is a no-op
|
# upgrade) then the config_changed() function is a no-op
|
||||||
config_changed()
|
config_changed()
|
||||||
|
|||||||
1
hooks/nova-vgpu-relation-changed
Symbolic link
1
hooks/nova-vgpu-relation-changed
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
nova_compute_hooks.py
|
||||||
1
hooks/nova-vgpu-relation-joined
Symbolic link
1
hooks/nova-vgpu-relation-joined
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
nova_compute_hooks.py
|
||||||
@@ -248,6 +248,9 @@ def config_changed():
|
|||||||
for rid in relation_ids('nova-ceilometer'):
|
for rid in relation_ids('nova-ceilometer'):
|
||||||
nova_ceilometer_joined(rid, remote_restart=send_remote_restart)
|
nova_ceilometer_joined(rid, remote_restart=send_remote_restart)
|
||||||
|
|
||||||
|
for rid in relation_ids('nova-vgpu'):
|
||||||
|
nova_vgpu_joined(rid, remote_restart=send_remote_restart)
|
||||||
|
|
||||||
if is_relation_made("nrpe-external-master"):
|
if is_relation_made("nrpe-external-master"):
|
||||||
update_nrpe_config()
|
update_nrpe_config()
|
||||||
|
|
||||||
@@ -688,6 +691,20 @@ def nova_ceilometer_relation_changed():
|
|||||||
update_all_configs()
|
update_all_configs()
|
||||||
|
|
||||||
|
|
||||||
|
@hooks.hook('nova-vgpu-relation-joined')
|
||||||
|
def nova_vgpu_joined(relid=None, remote_restart=False):
|
||||||
|
if remote_restart:
|
||||||
|
rel_settings = {
|
||||||
|
'restart-trigger': str(uuid.uuid4())}
|
||||||
|
relation_set(relation_id=relid, relation_settings=rel_settings)
|
||||||
|
|
||||||
|
|
||||||
|
@hooks.hook('nova-vgpu-relation-changed')
|
||||||
|
@restart_on_change(restart_map())
|
||||||
|
def nova_vgpu_relation_changed():
|
||||||
|
update_all_configs()
|
||||||
|
|
||||||
|
|
||||||
@hooks.hook('nrpe-external-master-relation-joined',
|
@hooks.hook('nrpe-external-master-relation-joined',
|
||||||
'nrpe-external-master-relation-changed')
|
'nrpe-external-master-relation-changed')
|
||||||
def update_nrpe_config():
|
def update_nrpe_config():
|
||||||
|
|||||||
@@ -232,6 +232,10 @@ BASE_RESOURCE_MAP = {
|
|||||||
'ephemeral-backend'],
|
'ephemeral-backend'],
|
||||||
service=['nova-compute', 'nova'],
|
service=['nova-compute', 'nova'],
|
||||||
config_file=NOVA_CONF),
|
config_file=NOVA_CONF),
|
||||||
|
context.SubordinateConfigContext(
|
||||||
|
interface=['nova-vgpu'],
|
||||||
|
service=['nova-compute', 'nova'],
|
||||||
|
config_file=NOVA_CONF),
|
||||||
InstanceConsoleContext(),
|
InstanceConsoleContext(),
|
||||||
context.ZeroMQContext(),
|
context.ZeroMQContext(),
|
||||||
context.NotificationDriverContext(),
|
context.NotificationDriverContext(),
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ requires:
|
|||||||
nova-ceilometer:
|
nova-ceilometer:
|
||||||
interface: nova-ceilometer
|
interface: nova-ceilometer
|
||||||
scope: container
|
scope: container
|
||||||
|
nova-vgpu:
|
||||||
|
interface: nova-vgpu
|
||||||
|
scope: container
|
||||||
neutron-plugin:
|
neutron-plugin:
|
||||||
interface: neutron-plugin
|
interface: neutron-plugin
|
||||||
scope: container
|
scope: container
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ class TestNovaComputeUpgradeActions(CharmTestCase):
|
|||||||
super(TestNovaComputeUpgradeActions, self).setUp(openstack_upgrade,
|
super(TestNovaComputeUpgradeActions, self).setUp(openstack_upgrade,
|
||||||
TO_PATCH)
|
TO_PATCH)
|
||||||
|
|
||||||
|
@patch.object(openstack_upgrade, 'nova_vgpu_joined')
|
||||||
@patch.object(openstack_upgrade, 'nova_ceilometer_joined')
|
@patch.object(openstack_upgrade, 'nova_ceilometer_joined')
|
||||||
@patch.object(openstack_upgrade, 'neutron_plugin_joined')
|
@patch.object(openstack_upgrade, 'neutron_plugin_joined')
|
||||||
@patch.object(openstack_upgrade, 'relation_ids')
|
@patch.object(openstack_upgrade, 'relation_ids')
|
||||||
@@ -52,14 +53,15 @@ class TestNovaComputeUpgradeActions(CharmTestCase):
|
|||||||
def test_openstack_upgrade_true(self, log, upgrade_avail,
|
def test_openstack_upgrade_true(self, log, upgrade_avail,
|
||||||
action_set, config, relation_ids,
|
action_set, config, relation_ids,
|
||||||
neutron_plugin_joined,
|
neutron_plugin_joined,
|
||||||
nova_ceilometer_joined):
|
nova_ceilometer_joined, nova_vgpu_joined):
|
||||||
|
|
||||||
upgrade_avail.return_value = True
|
upgrade_avail.return_value = True
|
||||||
config.return_value = True
|
config.return_value = True
|
||||||
|
|
||||||
def fake_relation_ids(thing):
|
def fake_relation_ids(thing):
|
||||||
return {'neutron-plugin': ['1'],
|
return {'neutron-plugin': ['1'],
|
||||||
'nova-ceilometer': ['2']}[thing]
|
'nova-ceilometer': ['2'],
|
||||||
|
'nova-vgpu': ['3']}[thing]
|
||||||
|
|
||||||
relation_ids.side_effect = fake_relation_ids
|
relation_ids.side_effect = fake_relation_ids
|
||||||
|
|
||||||
@@ -70,6 +72,8 @@ class TestNovaComputeUpgradeActions(CharmTestCase):
|
|||||||
neutron_plugin_joined.assert_called_once_with("1", remote_restart=True)
|
neutron_plugin_joined.assert_called_once_with("1", remote_restart=True)
|
||||||
nova_ceilometer_joined.assert_called_once_with(
|
nova_ceilometer_joined.assert_called_once_with(
|
||||||
"2", remote_restart=True)
|
"2", remote_restart=True)
|
||||||
|
nova_vgpu_joined.assert_called_once_with(
|
||||||
|
"3", remote_restart=True)
|
||||||
|
|
||||||
@patch('charmhelpers.contrib.openstack.utils.config')
|
@patch('charmhelpers.contrib.openstack.utils.config')
|
||||||
@patch('charmhelpers.contrib.openstack.utils.action_set')
|
@patch('charmhelpers.contrib.openstack.utils.action_set')
|
||||||
|
|||||||
@@ -487,6 +487,10 @@ class NovaComputeRelationsTests(CharmTestCase):
|
|||||||
hooks.nova_ceilometer_relation_changed()
|
hooks.nova_ceilometer_relation_changed()
|
||||||
self.update_all_configs.assert_called()
|
self.update_all_configs.assert_called()
|
||||||
|
|
||||||
|
def test_nova_vgpu_relation_changed(self):
|
||||||
|
hooks.nova_ceilometer_relation_changed()
|
||||||
|
self.update_all_configs.assert_called()
|
||||||
|
|
||||||
def test_ceph_joined(self):
|
def test_ceph_joined(self):
|
||||||
self.libvirt_daemon.return_value = 'libvirt-bin'
|
self.libvirt_daemon.return_value = 'libvirt-bin'
|
||||||
hooks.ceph_joined()
|
hooks.ceph_joined()
|
||||||
|
|||||||
Reference in New Issue
Block a user