def test_reg_and_retieve_multi(self, m_get_ip, m_gethost): m_get_ip.return_value = '1.2.3.4' m_gethost.return_value = 'test-hostname' # register local host group. start.register_group_and_hostvars(self.client) # dummy external host registration. remote = {'ansible_eth0': {'ipv4': {'address': '4.4.4.4'}}, 'ansible_eth1': {'ipv4': {'address': '4.4.4.4'}}, 'ansible_hostname': 'the-other-host', 'api_interface': 'eth2', 'role': 'testr', 'id': '55'} party.Party(self.client, '/kolla/deploy_id/groups/testr', json.dumps(remote)).join() # make sure this function gets both hosts information. groups, hostvars = start.get_groups_and_hostvars(self.client) self.assertEqual(sorted(['1.2.3.4', '4.4.4.4']), sorted(groups['testr'])) exp_local = {'ansible_eth1': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_eth2': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_hostname': 'test-hostname', 'api_interface': 'eth2', 'role': 'testr', 'id': '1'} self.assertEqual(exp_local, hostvars['1.2.3.4']) self.assertEqual(remote, hostvars['4.4.4.4'])
def test_reg_and_retieve_multi(self, m_get_ip, m_gethost): m_get_ip.return_value = '1.2.3.4' m_gethost.return_value = 'test-hostname' # register local host group. start.register_group_and_hostvars(self.client) # dummy external host registration. remote = {'ansible_eth0': {'ipv4': {'address': '4.4.4.4'}}, 'ansible_eth1': {'ipv4': {'address': '4.4.4.4'}}, 'ansible_hostname': 'the-other-host', 'api_interface': 'eth2'} party.Party(self.client, '/kolla/deploy_id/testg/testr/.party', json.dumps(remote)).join() # make sure this function gets both hosts information. tf = start.TemplateFunctions(self.client) groups, hostvars = tf.get_groups_and_hostvars() self.assertEqual(sorted(['1.2.3.4', '4.4.4.4']), sorted(groups['testr'])) exp_local = {'ansible_eth1': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_eth2': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_hostname': 'test-hostname', 'api_interface': 'eth2'} self.assertEqual(exp_local, hostvars['1.2.3.4']) self.assertEqual(remote, hostvars['4.4.4.4']) ips = tf.list_ips_by_service('testg/testr') self.assertIn('1.2.3.4', ips) self.assertIn('4.4.4.4', ips) ipsp = tf.list_ips_by_service('testg/testr', port='3246') self.assertIn('1.2.3.4:3246', ipsp) self.assertIn('4.4.4.4:3246', ipsp)
def test_reg_and_retieve_single(self, m_get_ip, m_gethost): m_get_ip.return_value = '1.2.3.4' m_gethost.return_value = 'test-hostname' start.register_group_and_hostvars(self.client) tf = start.TemplateFunctions(self.client) groups, hostvars = tf.get_groups_and_hostvars() self.assertEqual({'testr': ['1.2.3.4']}, groups) exp = {'ansible_eth1': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_eth2': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_hostname': 'test-hostname', 'api_interface': 'eth2'} self.assertEqual(exp, hostvars['1.2.3.4'])
def test_reg_and_retieve_single(self, m_get_ip, m_gethost): m_get_ip.return_value = '1.2.3.4' m_gethost.return_value = 'test-hostname' start.register_group_and_hostvars(self.client) groups, hostvars = start.get_groups_and_hostvars(self.client) self.assertEqual({'testg': ['1.2.3.4']}, groups) exp = {'ansible_eth0': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_eth1': {'ipv4': {'address': '1.2.3.4'}}, 'ansible_hostname': 'test-hostname', 'role': 'testr', 'id': '1'} self.assertEqual(exp, hostvars['1.2.3.4'])
def test_nova_conf(self, m_write_file, m_get_ip, m_gethost, m_sleep): m_get_ip.return_value = '1.2.3.4' m_gethost.return_value = 'test-hostname' # register local host group. start.register_group_and_hostvars(self.client) self._register_service('openstack/nova/nova-compute', ['4.4.4.4']) self._register_service('infra/memcached/memcached', ['3.1.2.3', '3.1.2.4']) self._register_service('infra/rabbitmq/rabbitmq', ['2.1.2.3', '2.1.2.4']) self._register_service('openstack/glance/glance-api', ['1.1.2.3', '1.1.2.4']) self._define_variables() afile = {'source': 'nova.conf.j2', 'dest': '/etc/nova/nova.conf', 'owner': 'nova', 'perm': '0600'} conf = {'commands': {'setup': { 'command': 'true', 'files': {'afile': afile}}}} mod_dir = os.path.dirname(sys.modules[__name__].__file__) proj_dir = os.path.abspath(os.path.join(mod_dir, '..', '..', '..')) with open(os.path.join(proj_dir, 'config/nova/templates/nova.conf.j2')) as nc: template_contents = nc.read() self.client.create( '/kolla/did/openstack/nova/nova-compute/files/afile', template_contents.encode('utf-8'), makepath=True) cmp_file = os.path.join(mod_dir, 'nova-%s.conf' % self.out) with open(cmp_file) as cf: expect = cf.read() start.run_commands(self.client, conf) m_write_file.assert_called_once_with(afile, expect)