From 6a23b3b2757b771d4ba177445f1d52b4c78c41a8 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand <benjamin.bertrand@esss.se> Date: Fri, 27 Apr 2018 21:31:48 +0200 Subject: [PATCH] Redefine default device types - rename physical to physical machine - IOC should be a tag JIRA INFRA-302 --- app/defaults.py | 11 ++++---- app/inventory/views.py | 2 +- ...a606be23b95_rename_physical_device_type.py | 26 +++++++++++++++++++ tests/functional/test_api.py | 2 +- 4 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 migrations/versions/ea606be23b95_rename_physical_device_type.py diff --git a/app/defaults.py b/app/defaults.py index 2f7f20c..afc5efa 100644 --- a/app/defaults.py +++ b/app/defaults.py @@ -21,14 +21,13 @@ defaults = [ models.Action(name='Set as parent'), models.Action(name='Update'), - models.DeviceType(name='Physical'), + models.DeviceType(name='Physical Machine'), models.DeviceType(name='Virtual Machine'), - models.DeviceType(name='Switch'), - models.DeviceType(name='Virtual IOC'), - models.DeviceType(name='Industrial PC IOC'), - models.DeviceType(name='MicroTCA IOC'), - models.DeviceType(name='VME IOC'), + models.DeviceType(name='Network'), + models.DeviceType(name='MicroTCA'), + models.DeviceType(name='VME'), models.DeviceType(name='PLC'), models.Tag(name='gateway', admin_only=True), + models.Tag(name='IOC', admin_only=False), ] diff --git a/app/inventory/views.py b/app/inventory/views.py index 7095eaf..898ad9d 100644 --- a/app/inventory/views.py +++ b/app/inventory/views.py @@ -331,7 +331,7 @@ def retrieve_free_stack_members(host_id): # In case of unknown host_id or if host_id is None current_app.logger.debug(f'Invalid host_id: {host_id}') return jsonify(data=disabled_data) - if str(host.device_type) != 'Switch': + if str(host.device_type) != 'Network': return jsonify(data=disabled_data) members = host.free_stack_members() selected_member = 'None' diff --git a/migrations/versions/ea606be23b95_rename_physical_device_type.py b/migrations/versions/ea606be23b95_rename_physical_device_type.py new file mode 100644 index 0000000..e5e0866 --- /dev/null +++ b/migrations/versions/ea606be23b95_rename_physical_device_type.py @@ -0,0 +1,26 @@ +"""Rename physical device type + +Revision ID: ea606be23b95 +Revises: 8f135d5efde2 +Create Date: 2018-04-27 19:30:16.398508 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'ea606be23b95' +down_revision = '8f135d5efde2' +branch_labels = None +depends_on = None + + +def upgrade(): + device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name')) + op.execute(device_type.update().where(device_type.c.name == 'Physical').values(name='Physical Machine')) + + +def downgrade(): + device_type = sa.sql.table('device_type', sa.sql.column('id'), sa.sql.column('name')) + op.execute(device_type.update().where(device_type.c.name == 'Physical Machine').values(name='Physical')) diff --git a/tests/functional/test_api.py b/tests/functional/test_api.py index 2a71aa0..3fe122d 100644 --- a/tests/functional/test_api.py +++ b/tests/functional/test_api.py @@ -797,7 +797,7 @@ def test_create_host(client, device_type_factory, user_token): def test_create_host_with_items(client, item_factory, device_type_factory, user_token): - device_type = device_type_factory(name='Switch') + device_type = device_type_factory(name='Network') item1 = item_factory(ics_id='AAA001') item2 = item_factory(ics_id='AAA002') # Check that we can pass a list of items ics_id -- GitLab