Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented Interface entity with all its fields and basic operations #373

Merged
merged 1 commit into from Feb 21, 2017

Conversation

abalakh
Copy link
Contributor

@abalakh abalakh commented Feb 13, 2017

  • Implemented Interface entity (as before it was basically a stub with
    no available operations and even wrong path)
  • Added all possible fields variations
  • Implemented unit tests

Key features:

  • Interface requires a host id in its path, so some additional logic
    was required for initialization, read() and search()
  • Set of available Interface fields depends on Interface's type
    (some fields are only returned for specific type), extra logic was
    requred here too

@abalakh abalakh added the review label Feb 13, 2017
@abalakh abalakh self-assigned this Feb 13, 2017
@abalakh
Copy link
Contributor Author

abalakh commented Feb 13, 2017

Test results:

>>> host = entities.Host().create()
>>> host.interface
[nailgun.entities.Interface(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), host=nailgun.entities.Host(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), id=8)]
>>> host.interface[0].read()
nailgun.entities.Interface(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), domain=nailgun.entities.Domain(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), managed=True, ip=None, primary=True, mac=u'7a:95:88:94:3e:9c', provision=True, id=8, name=u'ynygrucya.ejfsnanrgc', subnet=None, host=nailgun.entities.Host(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), virtual=False, identifier=None, type=u'interface')
>>> interface = entities.Interface(id=8, host=3).read()
>>> interface.name = 'newnameforinterface'
>>> interface.update(['name'])
nailgun.entities.Interface(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), domain=nailgun.entities.Domain(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), managed=True, ip=None, primary=True, mac=u'7a:95:88:94:3e:9c', provision=True, id=8, name=u'newnameforinterface.ejfsnanrgc', subnet=None, host=nailgun.entities.Host(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), virtual=False, identifier=None, type=u'interface')
>>> entities.Interface(host=3, id=8).search()
[nailgun.entities.Interface(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), domain=nailgun.entities.Domain(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), managed=True, ip=None, primary=True, mac=u'7a:95:88:94:3e:9c', provision=True, id=8, name=u'newnameforinterface.ejfsnanrgc', subnet=None, host=nailgun.entities.Host(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), virtual=False, identifier=None, type=u'interface')]
>>> entities.Interface(host=3).create()
nailgun.entities.Interface(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), domain=None, managed=True, ip=u'15.2.12.168', primary=False, mac=u'50:c8:ad:79:7d:cf', provision=False, id=16, name=u'yjhpiyubg', subnet=None, host=nailgun.entities.Host(nailgun.config.ServerConfig(url='https://example.com', verify=False, auth=('admin', 'password')), id=3), virtual=False, identifier=None, type=u'interface')

* Implemented Interface entity (as before it was basically a stub with
no available operations and even wrong path)
* Added all possible fields variations
* Implemented unit tests

Key features:
* Interface requires a host id in its path, so some additional logic
was required for initialization, `read()` and `search()`
* Set of available Interface fields depends on Interface's ``type``
(some fields are only returned for specific type), extra logic was
requred here too
@coveralls
Copy link

coveralls commented Feb 13, 2017

Coverage Status

Coverage increased (+0.02%) to 98.605% when pulling 172fb56 on abalakh:host_interfaces into 602a4a5 on SatelliteQE:master.

Copy link
Contributor

@ldjebran ldjebran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

Copy link
Contributor

@svtkachenko svtkachenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK

@svtkachenko svtkachenko merged commit 0d7999b into SatelliteQE:master Feb 21, 2017
@abalakh abalakh deleted the host_interfaces branch February 21, 2017 15:10
abalakh added a commit to abalakh/nailgun that referenced this pull request Feb 21, 2017
…SatelliteQE#373)

* Implemented Interface entity (as before it was basically a stub with
no available operations and even wrong path)
* Added all possible fields variations
* Implemented unit tests

Key features:
* Interface requires a host id in its path, so some additional logic
was required for initialization, `read()` and `search()`
* Set of available Interface fields depends on Interface's ``type``
(some fields are only returned for specific type), extra logic was
requred here too
svtkachenko pushed a commit that referenced this pull request Feb 27, 2017
…#373) (#377)

* Implemented Interface entity (as before it was basically a stub with
no available operations and even wrong path)
* Added all possible fields variations
* Implemented unit tests

Key features:
* Interface requires a host id in its path, so some additional logic
was required for initialization, `read()` and `search()`
* Set of available Interface fields depends on Interface's ``type``
(some fields are only returned for specific type), extra logic was
requred here too
elyezer added a commit to elyezer/nailgun that referenced this pull request Mar 6, 2017
Shortlog of commits since last release:

    Andrii Balakhtar (4):
          Fix read() of hostgroup without content_source, lce or cv for 6.1
          Increase timeout for manifest delete/refresh (SatelliteQE#359)
          Provide default name length & type for ComputeResource entities (SatelliteQE#369)
          Implemented Interface entity with all its fields and basic operations (SatelliteQE#373)

    Djebran Lezzoum (1):
          Merge pull request SatelliteQE#380 from svtkachenko/ct_update_payload

    Elyézer Rezende (1):
          Update travis config

    Oleksandr Shtaier (8):
          Merge pull request SatelliteQE#341 from sghai/update-test
          Merge pull request SatelliteQE#342 from renzon/332
          Merge pull request SatelliteQE#344 from elyezer/update-travis
          Merge pull request SatelliteQE#352 from svtkachenko/sv_payload
          Merge pull request SatelliteQE#345 from abalakh/fix_hg_61_workaround
          Merge pull request SatelliteQE#366 from svtkachenko/update_template_kind
          Merge pull request SatelliteQE#361 from svtkachenko/update_sv
          Merge pull request SatelliteQE#383 from svtkachenko/63_image

    Renzo Nuccitelli (3):
          Added json method to Entity (SatelliteQE#326)
          Merge pull request SatelliteQE#347 from svtkachenko/add_image
          Implemented Entity __eq__ method comparing all fields (SatelliteQE#350)

    Stanislav Tkachenko (10):
          Add content related helpers for Repository entity. (SatelliteQE#327)
          Add Create and Delete mixins to Smart Proxy (SatelliteQE#343)
          Add mixins to Image
          Override create_payload and upload_payload for SmartVariable.
          Update Host.puppet_class field name. (SatelliteQE#346)
          Removed overriden read method for Smart Variable
          Update TemplateKind entity
          Add ProvisioningTemplate. (SatelliteQE#365)
          Fix update_payload method for ConfigTemplate/ProvisioningTemplate
          [6.2.z] Update Image and Host entities (SatelliteQE#356)

    oshtaier (2):
          Add UpdateMixin for CV Filter Rules entity
          Add host count field to CV entity

    renzon (5):
          Fixed ConfigTemplate create and update with TemplateCombination
          ListFiled handled on _payload
          api fixed and methods GET and DELETED added for TemplateCombination
          api fixed and methods GET and DELETED added for TemplateCombination
          api fixed and methods GET and DELETED added for TemplateCombination

    sghai (5):
          Updated discovery_rule entity with org & location (SatelliteQE#320)
          Added a new field root_pass to hostgroup entity (SatelliteQE#336)
          Added unit test for root_pass from hostgroup entity
          Merge pull request SatelliteQE#338 from oshtaier/cvf_update_mixin
          Merge pull request SatelliteQE#340 from oshtaier/cv_field
lpramuk pushed a commit to lpramuk/nailgun that referenced this pull request Sep 26, 2023
…SatelliteQE#373)

* Implemented Interface entity (as before it was basically a stub with
no available operations and even wrong path)
* Added all possible fields variations
* Implemented unit tests

Key features:
* Interface requires a host id in its path, so some additional logic
was required for initialization, `read()` and `search()`
* Set of available Interface fields depends on Interface's ``type``
(some fields are only returned for specific type), extra logic was
requred here too
lpramuk pushed a commit to lpramuk/nailgun that referenced this pull request Sep 26, 2023
Shortlog of commits since last release:

    Andrii Balakhtar (4):
          Fix read() of hostgroup without content_source, lce or cv for 6.1
          Increase timeout for manifest delete/refresh (SatelliteQE#359)
          Provide default name length & type for ComputeResource entities (SatelliteQE#369)
          Implemented Interface entity with all its fields and basic operations (SatelliteQE#373)

    Djebran Lezzoum (1):
          Merge pull request SatelliteQE#380 from svtkachenko/ct_update_payload

    Elyézer Rezende (1):
          Update travis config

    Oleksandr Shtaier (8):
          Merge pull request SatelliteQE#341 from sghai/update-test
          Merge pull request SatelliteQE#342 from renzon/332
          Merge pull request SatelliteQE#344 from elyezer/update-travis
          Merge pull request SatelliteQE#352 from svtkachenko/sv_payload
          Merge pull request SatelliteQE#345 from abalakh/fix_hg_61_workaround
          Merge pull request SatelliteQE#366 from svtkachenko/update_template_kind
          Merge pull request SatelliteQE#361 from svtkachenko/update_sv
          Merge pull request SatelliteQE#383 from svtkachenko/63_image

    Renzo Nuccitelli (3):
          Added json method to Entity (SatelliteQE#326)
          Merge pull request SatelliteQE#347 from svtkachenko/add_image
          Implemented Entity __eq__ method comparing all fields (SatelliteQE#350)

    Stanislav Tkachenko (10):
          Add content related helpers for Repository entity. (SatelliteQE#327)
          Add Create and Delete mixins to Smart Proxy (SatelliteQE#343)
          Add mixins to Image
          Override create_payload and upload_payload for SmartVariable.
          Update Host.puppet_class field name. (SatelliteQE#346)
          Removed overriden read method for Smart Variable
          Update TemplateKind entity
          Add ProvisioningTemplate. (SatelliteQE#365)
          Fix update_payload method for ConfigTemplate/ProvisioningTemplate
          [6.2.z] Update Image and Host entities (SatelliteQE#356)

    oshtaier (2):
          Add UpdateMixin for CV Filter Rules entity
          Add host count field to CV entity

    renzon (5):
          Fixed ConfigTemplate create and update with TemplateCombination
          ListFiled handled on _payload
          api fixed and methods GET and DELETED added for TemplateCombination
          api fixed and methods GET and DELETED added for TemplateCombination
          api fixed and methods GET and DELETED added for TemplateCombination

    sghai (5):
          Updated discovery_rule entity with org & location (SatelliteQE#320)
          Added a new field root_pass to hostgroup entity (SatelliteQE#336)
          Added unit test for root_pass from hostgroup entity
          Merge pull request SatelliteQE#338 from oshtaier/cvf_update_mixin
          Merge pull request SatelliteQE#340 from oshtaier/cv_field
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants