diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2017-03-07 10:43:56 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2017-03-07 13:59:10 +0800 |
commit | 010d2c95261820add617047a030e4d06563a6613 (patch) | |
tree | 9e0df51f9458b9794c88a444ea1ba515aa42a8ca | |
parent | 7c3c3d2a629f5bf5373d21780963a143d45e6067 (diff) |
create external network
Change-Id: I6621fed21832f3e4653c2d236bb29de421b5b573
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r-- | deploy/post/execute.py | 18 | ||||
-rw-r--r-- | deploy/post/neutron.py | 22 |
2 files changed, 35 insertions, 5 deletions
diff --git a/deploy/post/execute.py b/deploy/post/execute.py index 8758b401..3f05d005 100644 --- a/deploy/post/execute.py +++ b/deploy/post/execute.py @@ -9,9 +9,25 @@ import neutron +def _config_admin_external_network(): + name = 'admin_external' + body = { + 'network': { + 'name': name, + 'admin_state_up': True, + 'shared': True, + 'provider:network_type': 'flat', + 'provider:physical_network': 'physnet1', + 'router:external': True + } + } + + return name, body + + def main(): neutron.Neutron().list_networks() - + neutron.Neutron().create_network(*(_config_admin_external_network())) if __name__ == '__main__': main() diff --git a/deploy/post/neutron.py b/deploy/post/neutron.py index 0dffdfc3..9c81ed24 100644 --- a/deploy/post/neutron.py +++ b/deploy/post/neutron.py @@ -17,9 +17,23 @@ class Neutron(object): self.client = neutronclient.Client(api_v, session=session) def list_networks(self): - networks = self.client.list_networks()['networks'] - for network in networks: - print network + return self.client.list_networks()['networks'] - def create_admin_ext_net(self): + def create_network(self, name, body): + if not self.is_network_exist(name): + self._create_network(name, body) + else: + print('admin_ext [{}] already exist'.format(name)) pass + + def is_network_exist(self, name): + return [] != filter(lambda n: n['name'] == name, self.list_networks()) + + def _create_network(self, name, body): + try: + nid = self.client.create_network(body=body)['network']['id'] + print('_create_admin_ext_net [{}] with id: {}'.format(name, nid)) + return nid + except Exception, e: + print('_create_admin_ext_net [{}] fail with: {}'.format(name, e)) + return None |