def test_cloud_compute_flatdhcp_context(self, netman): netman.return_value = 'flatdhcpmanager' self.relation_ids.return_value = 'cloud-compute:0' self.related_units.return_value = 'nova-cloud-controller/0' self.test_relation.set({ 'network_manager': 'FlatDHCPManager', 'ec2_host': 'novaapihost' }) cloud_compute = context.CloudComputeContext() ex_ctxt = { 'network_manager': 'flatdhcpmanager', 'network_manager_config': { 'ec2_dmz_host': 'novaapihost', 'flat_interface': 'eth1' }, 'service_protocol': None, 'service_host': None, 'service_port': None, 'admin_tenant_name': None, 'admin_user': None, 'admin_password': None, 'auth_protocol': None, 'auth_host': None, 'auth_port': None, 'api_version': None, } self.assertEqual(ex_ctxt, cloud_compute())
def test_cloud_compute_volume_context_cinder(self, netman): netman.return_value = None self.relation_ids.return_value = 'cloud-compute:0' self.related_units.return_value = 'nova-cloud-controller/0' cloud_compute = context.CloudComputeContext() self.test_relation.set({'volume_service': 'cinder'}) self.assertEqual({'volume_service': 'cinder'}, cloud_compute())
def test_cloud_compute_context_restart_trigger(self, nm): nm.return_value = None cloud_compute = context.CloudComputeContext() with patch.object(cloud_compute, 'restart_trigger') as rt: rt.return_value = 'footrigger' ctxt = cloud_compute() self.assertEqual(ctxt.get('restart_trigger'), 'footrigger') with patch.object(cloud_compute, 'restart_trigger') as rt: rt.return_value = None ctxt = cloud_compute() self.assertEqual(ctxt.get('restart_trigger'), None)
def test_cloud_compute_vendordata_context(self, netman): self.relation_ids.return_value = 'cloud-compute:0' self.related_units.return_value = 'nova-cloud-controller/0' data = ('{"vendor_data": true, "vendor_data_url": "fake_url",' ' "foo": "bar",' ' "vendordata_providers": "StaticJSON,DynamicJSON"}') self.test_relation.set({'vendor_data': data}) cloud_compute = context.CloudComputeContext() ex_ctxt = { 'vendor_data': True, 'vendor_data_url': 'fake_url', 'vendordata_providers': 'StaticJSON,DynamicJSON', } self.assertEqual(ex_ctxt, cloud_compute())
def test_cloud_compute_flatdhcp_context(self, netman): netman.return_value = 'flatdhcpmanager' self.relation_ids.return_value = 'cloud-compute:0' self.related_units.return_value = 'nova-cloud-controller/0' self.test_relation.set({ 'network_manager': 'FlatDHCPManager', 'ec2_host': 'novaapihost'}) cloud_compute = context.CloudComputeContext() ex_ctxt = { 'network_manager': 'flatdhcpmanager', 'network_manager_config': { 'ec2_dmz_host': 'novaapihost', 'flat_interface': 'eth1' }, } self.assertEqual(ex_ctxt, cloud_compute())
def test_cloud_compute_neutron_ctxt_dns_domain(self, netman, url, plugin): self.relation_ids.return_value = 'cloud-compute:0' self.related_units.return_value = 'nova-cloud-controller/0' netman.return_value = 'neutron' plugin.return_value = 'ovs' url.return_value = 'http://nova-c-c:9696' NEUTRON_CONTEXT.update({'dns_domain': 'example.tld'}) self.test_relation.set(NEUTRON_CONTEXT) cloud_compute = context.CloudComputeContext() ex_ctxt = { 'network_manager': 'neutron', 'network_manager_config': { 'api_version': '2.0', 'auth_protocol': 'https', 'service_protocol': 'http', 'auth_port': '5000', 'dns_domain': 'example.tld', 'keystone_host': 'keystone_host', 'neutron_admin_auth_url': 'https://keystone_host:5000/v2.0', 'neutron_admin_password': '******', 'neutron_admin_tenant_name': 'admin', 'neutron_admin_username': '******', 'neutron_admin_domain_name': 'admin_domain', 'neutron_auth_strategy': 'keystone', 'neutron_plugin': 'ovs', 'neutron_security_groups': True, 'neutron_url': 'http://nova-c-c:9696', 'service_protocol': 'http', 'service_port': '5000', }, 'service_host': 'keystone_host', 'admin_tenant_name': 'admin', 'admin_user': '******', 'admin_password': '******', 'admin_domain_name': 'admin_domain', 'auth_port': '5000', 'auth_protocol': 'https', 'auth_host': 'keystone_host', 'api_version': '2.0', 'dns_domain': 'example.tld', 'service_protocol': 'http', 'service_port': '5000', } self.assertEqual(ex_ctxt, cloud_compute()) self._save_flag_file.assert_called_with( path='/etc/nova/nm.conf', data='neutron')
def test_cloud_compute_cross_az_context(self, netman): netman.return_value = None self.relation_ids.return_value = 'cloud-compute:1' self.related_units.return_value = 'nova-cloud-controller/0' cloud_compute = context.CloudComputeContext() # Check no cross_az_attach value set, defaults to cross_az_attach=True self.test_relation.set({'volume_service': 'cinder'}) self.assertEqual({'volume_service': 'cinder', 'cross_az_attach': True}, cloud_compute()) # Check that explicit True setting for cross_az_attach self.test_relation.set({'volume_service': 'cinder', 'cross_az_attach': True}) self.assertEqual({'volume_service': 'cinder', 'cross_az_attach': True}, cloud_compute()) # Check false setting for cross_az_attach self.test_relation.set({'volume_service': 'cinder', 'cross_az_attach': False}) self.assertEqual({'volume_service': 'cinder', 'cross_az_attach': False}, cloud_compute())
def test_cloud_compute_context_no_relation(self): self.relation_ids.return_value = [] cloud_compute = context.CloudComputeContext() self.assertEqual({}, cloud_compute())