From 440c42766292eb5473dea0ffcc3d58193fedc060 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Thu, 23 Mar 2017 16:09:56 -0700 Subject: [PATCH] Remove deprecated networks syntax And simplify. Change-Id: I8be53c228de9be5dc3cb39ff9d90cda6bbde9124 --- doc/source/configuration.rst | 8 ++++---- nodepool/cmd/config_validator.py | 12 +----------- nodepool/config.py | 19 +------------------ nodepool/fakeprovider.py | 15 ++++++++------- nodepool/provider_manager.py | 9 ++------- nodepool/tests/fixtures/multiple_pools.yaml | 4 ---- nodepool/tests/fixtures/node.yaml | 2 +- nodepool/tests/fixtures/node_az.yaml | 2 -- nodepool/tests/fixtures/node_cmd.yaml | 4 ---- .../tests/fixtures/node_disabled_label.yaml | 2 -- .../tests/fixtures/node_diskimage_fail.yaml | 2 -- .../tests/fixtures/node_diskimage_pause.yaml | 2 -- nodepool/tests/fixtures/node_ipv6.yaml | 10 +++++++--- .../tests/fixtures/node_launch_retry.yaml | 2 -- nodepool/tests/fixtures/node_net_name.yaml | 5 ++--- 15 files changed, 26 insertions(+), 72 deletions(-) diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst index 82a71cb00..e9c063faf 100644 --- a/doc/source/configuration.rst +++ b/doc/source/configuration.rst @@ -245,7 +245,7 @@ Example:: availability-zones: - az1 networks: - - name: 'some-network-name' + - some-network-name labels: - name: trusty min-ram: 8192 @@ -362,7 +362,7 @@ Example:: availability-zones: - az1 networks: - - name: 'some-network-name' + - some-network-name labels: - name: trusty min-ram: 8192 @@ -392,9 +392,9 @@ Example:: control of the distribution you can use multiple logical providers each providing a different list of availabiltiy zones. - ``networks`` (dict) + ``networks`` (list) Specify custom Neutron networks that get attached to each - node. Specify the ``name`` of the network (a string). + node. Specify the name or id of the network as a string. .. _provider_diskimages: diff --git a/nodepool/cmd/config_validator.py b/nodepool/cmd/config_validator.py index f9a8ba454..a22ae9413 100644 --- a/nodepool/cmd/config_validator.py +++ b/nodepool/cmd/config_validator.py @@ -29,16 +29,6 @@ class ConfigValidator: 'cleanup': str, } - old_network = { - 'net-id': str, - 'net-label': str, - } - - network = { - 'name': v.Required(str), - 'public': bool, # Ignored, but kept for backwards compat - } - pool_label = { v.Required('name'): str, v.Required('diskimage'): str, @@ -48,7 +38,7 @@ class ConfigValidator: pool = { 'name': str, - 'networks': [v.Any(old_network, network)], + 'networks': [str], 'max-servers': int, 'labels': [pool_label], 'availability-zones': [str], diff --git a/nodepool/config.py b/nodepool/config.py index 708dfd572..c169a2871 100644 --- a/nodepool/config.py +++ b/nodepool/config.py @@ -125,11 +125,6 @@ class DiskImage(ConfigValue): return "" % self.name -class Network(ConfigValue): - def __repr__(self): - return "" % (self.name, self.id) - - def loadConfig(config_path): retry = 3 @@ -265,19 +260,7 @@ def loadConfig(config_path): p.pools[pp.name] = pp pp.max_servers = pool['max-servers'] pp.azs = pool.get('availability-zones') - pp.networks = [] - for network in pool.get('networks', []): - n = Network() - pp.networks.append(n) - if 'net-id' in network: - n.id = network['net-id'] - n.name = None - elif 'net-label' in network: - n.name = network['net-label'] - n.id = None - else: - n.name = network.get('name') - n.id = None + pp.networks = pool.get('networks', []) pp.labels = {} for label in pool.get('labels', []): pl = ProviderLabel() diff --git a/nodepool/fakeprovider.py b/nodepool/fakeprovider.py index 3e9c93b34..ccf74259c 100644 --- a/nodepool/fakeprovider.py +++ b/nodepool/fakeprovider.py @@ -87,7 +87,9 @@ class FakeOpenStackCloud(object): networks = [dict(id='fake-public-network-uuid', name='fake-public-network-name'), dict(id='fake-private-network-uuid', - name='fake-private-network-name')] + name='fake-private-network-name'), + dict(id='fake-ipv6-network-uuid', + name='fake-ipv6-network-name')] self.networks = networks self._flavor_list = [ Dummy(Dummy.FLAVOR, id='f1', ram=8192, name='Fake Flavor'), @@ -103,8 +105,10 @@ class FakeOpenStackCloud(object): return None def get_network(self, name_or_id, filters=None): - return dict(id='fake-network-uuid', - name='fake-network-name') + for net in self.networks: + if net['id'] == name_or_id or net['name'] == name_or_id: + return net + return self.networks[0] def _create( self, instance_list, instance_type=Dummy.INSTANCE, @@ -115,7 +119,7 @@ class FakeOpenStackCloud(object): # if keyword 'ipv6-uuid' is found in provider config, # ipv6 address will be available in public addr dict. for nic in nics: - if 'ipv6-uuid' not in nic['net-id']: + if nic['net-id'] != 'fake-ipv6-network-uuid': continue addresses = dict( public=[dict(version=4, addr='fake'), @@ -226,9 +230,6 @@ class FakeOpenStackCloud(object): def delete_server(self, name_or_id, delete_ips=True): self._delete(name_or_id, self._server_list) - def list_networks(self): - return dict(networks=self.networks) - class FakeUploadFailCloud(FakeOpenStackCloud): log = logging.getLogger("nodepool.FakeUploadFailCloud") diff --git a/nodepool/provider_manager.py b/nodepool/provider_manager.py index 94b3ae277..ca14f3063 100644 --- a/nodepool/provider_manager.py +++ b/nodepool/provider_manager.py @@ -186,13 +186,8 @@ class ProviderManager(object): create_args['availability_zone'] = az nics = [] for network in networks: - if network.id: - nics.append({'net-id': network.id}) - elif network.name: - net_id = self.findNetwork(network.name)['id'] - nics.append({'net-id': net_id}) - else: - raise Exception("Invalid 'networks' configuration.") + net_id = self.findNetwork(network)['id'] + nics.append({'net-id': net_id}) if nics: create_args['nics'] = nics # Put provider.name and image_name in as groups so that ansible diff --git a/nodepool/tests/fixtures/multiple_pools.yaml b/nodepool/tests/fixtures/multiple_pools.yaml index 5eefb9af9..3d1a77eff 100644 --- a/nodepool/tests/fixtures/multiple_pools.yaml +++ b/nodepool/tests/fixtures/multiple_pools.yaml @@ -31,8 +31,6 @@ providers: max-servers: 1 availability-zones: - az1 - networks: - - net-id: 'some-uuid' labels: - name: fake-label1 diskimage: fake-image @@ -43,8 +41,6 @@ providers: max-servers: 1 availability-zones: - az2 - networks: - - net-id: 'some-uuid' labels: - name: fake-label2 diskimage: fake-image diff --git a/nodepool/tests/fixtures/node.yaml b/nodepool/tests/fixtures/node.yaml index ddb7e8712..9495ea8de 100644 --- a/nodepool/tests/fixtures/node.yaml +++ b/nodepool/tests/fixtures/node.yaml @@ -30,7 +30,7 @@ providers: availability-zones: - az1 networks: - - net-id: 'some-uuid' + - net-name labels: - name: fake-label diskimage: fake-image diff --git a/nodepool/tests/fixtures/node_az.yaml b/nodepool/tests/fixtures/node_az.yaml index e8fe9aa12..38174d2bd 100644 --- a/nodepool/tests/fixtures/node_az.yaml +++ b/nodepool/tests/fixtures/node_az.yaml @@ -27,8 +27,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' availability-zones: - az1 labels: diff --git a/nodepool/tests/fixtures/node_cmd.yaml b/nodepool/tests/fixtures/node_cmd.yaml index 99552ac4f..173e1f770 100644 --- a/nodepool/tests/fixtures/node_cmd.yaml +++ b/nodepool/tests/fixtures/node_cmd.yaml @@ -27,8 +27,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' labels: - name: fake-label1 diskimage: fake-image1 @@ -46,8 +44,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' labels: - name: fake-label2 diskimage: fake-image2 diff --git a/nodepool/tests/fixtures/node_disabled_label.yaml b/nodepool/tests/fixtures/node_disabled_label.yaml index 0f4555a4e..8f36b8921 100644 --- a/nodepool/tests/fixtures/node_disabled_label.yaml +++ b/nodepool/tests/fixtures/node_disabled_label.yaml @@ -27,8 +27,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' labels: - name: fake-label diskimage: fake-image diff --git a/nodepool/tests/fixtures/node_diskimage_fail.yaml b/nodepool/tests/fixtures/node_diskimage_fail.yaml index 41bf600a9..edbb3cdc8 100644 --- a/nodepool/tests/fixtures/node_diskimage_fail.yaml +++ b/nodepool/tests/fixtures/node_diskimage_fail.yaml @@ -27,8 +27,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' labels: - name: fake-label diskimage: fake-image diff --git a/nodepool/tests/fixtures/node_diskimage_pause.yaml b/nodepool/tests/fixtures/node_diskimage_pause.yaml index 4e6a6816e..0d1f6cf08 100644 --- a/nodepool/tests/fixtures/node_diskimage_pause.yaml +++ b/nodepool/tests/fixtures/node_diskimage_pause.yaml @@ -30,8 +30,6 @@ providers: pools: - name: main max-servers: 96 - networks: - - net-id: 'some-uuid' labels: - name: fake-label diskimage: fake-image diff --git a/nodepool/tests/fixtures/node_ipv6.yaml b/nodepool/tests/fixtures/node_ipv6.yaml index b26755754..4bfad862e 100644 --- a/nodepool/tests/fixtures/node_ipv6.yaml +++ b/nodepool/tests/fixtures/node_ipv6.yaml @@ -32,7 +32,9 @@ providers: - name: main max-servers: 96 networks: - - net-id: 'ipv6-uuid' + # This activates a flag in fakeprovider to give us an ipv6 + # network + - 'fake-ipv6-network-name' labels: - name: fake-label1 diskimage: fake-image @@ -48,7 +50,9 @@ providers: - name: main max-servers: 96 networks: - - net-id: 'ipv6-uuid' + # This activates a flag in fakeprovider to give us an ipv6 + # network + - 'fake-ipv6-network-name' labels: - name: fake-label2 diskimage: fake-image @@ -65,7 +69,7 @@ providers: - name: main max-servers: 96 networks: - - net-id: 'some-uuid' + - 'some-name' labels: - name: fake-label3 diskimage: fake-image diff --git a/nodepool/tests/fixtures/node_launch_retry.yaml b/nodepool/tests/fixtures/node_launch_retry.yaml index 94a2d60c0..afdf5be7f 100644 --- a/nodepool/tests/fixtures/node_launch_retry.yaml +++ b/nodepool/tests/fixtures/node_launch_retry.yaml @@ -24,8 +24,6 @@ providers: - name: fake-image pools: - name: main - networks: - - net-id: 'some-uuid' max-servers: 96 labels: - name: fake-label diff --git a/nodepool/tests/fixtures/node_net_name.yaml b/nodepool/tests/fixtures/node_net_name.yaml index 365e0b0ac..72a5a101c 100644 --- a/nodepool/tests/fixtures/node_net_name.yaml +++ b/nodepool/tests/fixtures/node_net_name.yaml @@ -25,9 +25,8 @@ providers: - name: main max-servers: 96 networks: - - name: 'fake-public-network-name' - public: true - - name: 'fake-private-network-name' + - 'fake-public-network-name' + - 'fake-private-network-name' labels: - name: fake-label diskimage: fake-image