def test_vendordata_mitaka(self):
        _vdata_url = 'http://example.org/vdata'
        self.os_release.return_value = 'mitaka'

        self.test_config.set('vendor-data-url', _vdata_url)
        ctxt = neutron_contexts.NovaMetadataContext()()

        self.assertEqual(ctxt, {'vendordata_providers': []})
    def test_vendordata_dynamic(self):
        _vdata_url = 'http://example.org/vdata'
        self.os_release.return_value = 'pike'

        self.test_config.set('vendor-data-url', _vdata_url)
        ctxt = neutron_contexts.NovaMetadataContext()()

        self.assertEqual(ctxt['vendor_data_url'], _vdata_url)
        self.assertEqual(ctxt['vendordata_providers'], ['DynamicJSON'])
    def test_vendordata_static(self):
        _vdata = '{"good": "json"}'
        self.os_release.return_value = 'pike'

        self.test_config.set('vendor-data', _vdata)
        ctxt = neutron_contexts.NovaMetadataContext()()

        self.assertTrue(ctxt['vendor_data'])
        self.assertEqual(ctxt['vendordata_providers'], ['StaticJSON'])
예제 #4
0
    def test_NovaMetadataContext_no_relations(self, _relation_ids,
                                              _get_shared_secret,
                                              _get_local_ip):
        _relation_ids.return_value = []
        _get_shared_secret.return_value = 'buuid'
        _get_local_ip.return_value = '127.0.0.1'
        self.os_release.return_value = 'rocky'

        self.assertEqual(
            neutron_contexts.NovaMetadataContext()(), {
                'nova_metadata_host': '127.0.0.1',
                'nova_metadata_port': '8775',
                'nova_metadata_protocol': 'http',
                'shared_secret': 'buuid'
            })
예제 #5
0
    def test_vendordata_rocky(self, _relation_ids, _get_shared_secret,
                              _get_local_ip, parent):
        _get_shared_secret.return_value = 'asecret'
        _get_local_ip.return_value = '127.0.0.1'
        _relation_ids.return_value = []
        self.os_release.return_value = 'rocky'
        parent.return_value = {
            'vendor_data': True,
            'vendor_data_url': 'http://example.org/vdata',
            'vendordata_providers': 'StaticJSON,DynamicJSON',
        }

        ctxt = neutron_contexts.NovaMetadataContext()()

        self.assertNotIn('vendor_data', ctxt)
        self.assertNotIn('vendor_data_url', ctxt)
        self.assertNotIn('vendordata_providers', ctxt)
예제 #6
0
    def test_NovaMetadataContext_with_relations(self, _relation_ids,
                                                _related_units, _relation_get):
        _relation_ids.return_value = ['rid:1']
        _related_units.return_value = ['nova-cloud-contoller/0']
        _relation_get.return_value = {
            'nova-metadata-host': '10.0.0.10',
            'nova-metadata-port': '8775',
            'nova-metadata-protocol': 'http',
            'shared-metadata-secret': 'auuid'
        }
        self.os_release.return_value = 'rocky'

        self.assertEqual(
            neutron_contexts.NovaMetadataContext()(), {
                'nova_metadata_host': '10.0.0.10',
                'nova_metadata_port': '8775',
                'nova_metadata_protocol': 'http',
                'shared_secret': 'auuid'
            })
예제 #7
0
    def test_vendordata_queens(self, _relation_ids, _get_shared_secret,
                               _get_local_ip, parent):
        _get_shared_secret.return_value = 'asecret'
        _get_local_ip.return_value = '127.0.0.1'
        _relation_ids.return_value = []
        _vdata_url = 'http://example.org/vdata'
        _vdata_providers = 'StaticJSON,DynamicJSON'
        self.os_release.return_value = 'queens'
        parent.return_value = {
            'vendor_data': True,
            'vendor_data_url': _vdata_url,
            'vendordata_providers': _vdata_providers,
        }

        ctxt = neutron_contexts.NovaMetadataContext()()

        self.assertTrue(ctxt['vendor_data'])
        self.assertEqual(ctxt['vendordata_providers'], _vdata_providers)
        self.assertEqual(ctxt['vendor_data_url'], _vdata_url)