the default listen_ip. make a loop for more flexibility. Get a listen ip specifically for that host. see if components have listen_ip defined before using ansible_default_ipv4 Make service files look for listen_ip variable. implemented listen_ip variable here too
		
			
				
	
	
		
			24 lines
		
	
	
		
			784 B
		
	
	
	
		
			Desktop File
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			784 B
		
	
	
	
		
			Desktop File
		
	
	
	
	
	
| [Unit]
 | |
| Description=Openstack nova-controller Container
 | |
| After=docker.service
 | |
| Requires=docker.service
 | |
| 
 | |
| [Service]
 | |
| TimeoutStartSec=0
 | |
| Restart=always
 | |
| ExecStartPre=-/usr/bin/docker kill %n
 | |
| ExecStartPre=-/usr/bin/docker rm %n
 | |
| ExecStart=/usr/bin/docker run --name %n \
 | |
|   {{ env_vars | replace('\n', '') }} \
 | |
|   --add-host=mariadb:{{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }} \
 | |
|   --add-host=keystone:{{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }} \
 | |
|   --privileged \
 | |
|   -v /srv/nova-controller/root:/root \
 | |
|   -p 8774:8774 \
 | |
|   -p 8778:8778 \
 | |
|   -p 6080:6080 \
 | |
|   {{ docker_image }} /etc/run.sh
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 |