diff --git a/contrib/docker/docker/resources/docker_container.py b/contrib/docker/docker/resources/docker_container.py index 5d5001e31..1b0fee8dd 100644 --- a/contrib/docker/docker/resources/docker_container.py +++ b/contrib/docker/docker/resources/docker_container.py @@ -130,6 +130,7 @@ class DockerContainer(resource.Resource): 'info': _('Container info'), 'network_info': _('Container network info'), 'network_ip': _('Container ip address'), + 'network_gateway': _('Container ip gateway'), 'network_tcp_ports': _('Container TCP ports'), 'network_udp_ports': _('Container UDP ports'), 'logs': _('Container logs'), @@ -183,6 +184,10 @@ class DockerContainer(resource.Resource): client = self.get_client() networkinfo = self._container_networkinfo(client, self.resource_id) return networkinfo['IPAddress'] + if name == 'network_gateway': + client = self.get_client() + networkinfo = self._container_networkinfo(client, self.resource_id) + return networkinfo['Gateway'] if name == 'network_tcp_ports': client = self.get_client() networkinfo = self._container_networkinfo(client, self.resource_id) diff --git a/contrib/docker/docker/tests/test_docker_container.py b/contrib/docker/docker/tests/test_docker_container.py index 4801bdc63..2ba021fda 100644 --- a/contrib/docker/docker/tests/test_docker_container.py +++ b/contrib/docker/docker/tests/test_docker_container.py @@ -81,6 +81,7 @@ class DockerContainerTest(HeatTestCase): def test_resource_attributes(self): container = self.create_container('Blog') # Test network info attributes + self.assertEqual('172.17.42.1', container.FnGetAtt('network_gateway')) self.assertEqual('172.17.0.3', container.FnGetAtt('network_ip')) self.assertEqual('1080', container.FnGetAtt('network_tcp_ports')) self.assertEqual('', container.FnGetAtt('network_udp_ports'))