1. 18 Jan, 2021 1 commit
  2. 15 Jan, 2021 1 commit
  3. 12 Jan, 2021 3 commits
  4. 11 Jan, 2021 8 commits
  5. 06 Jan, 2021 1 commit
  6. 05 Jan, 2021 1 commit
    • Fabian Beitler's avatar
      Change file-path structure · 005d35b4
      Fabian Beitler authored
      Rewrite if statement to easier readable code
      Replace Path expressions a better way?
      Add absolute to get absolute path to file (I hope)
      Remove one obsolete import pytest
      Refactor method name to better name
      Redo nested if statement a better way
      Remove forgotten garbage methods
      Replace os path with pathlib
      Small Codestyle fixes
      Add check if both or neither xml arg was passed -> not xor
      Fix wrong required model handling
      Differ between xmlstrin and file
      Add tests for requirement check
      Add two xml files for test purposes
      Replace ImportError with Exception
      Remove unused var
      List all missing requirements
      Check server models in seperate Coroutine
      Add method to check requirements while xmlimport
      Add namespaces Node to Shortcuts
      005d35b4
  7. 04 Jan, 2021 8 commits
  8. 01 Jan, 2021 6 commits
    • Julien PRIGENT's avatar
      [HaClient] Asyncua ha client (#367) · f874f7db
      Julien PRIGENT authored
      * [HaClient] Asyncua client wrapper
      
      It exposes an interface similar to Client. You'll find some examples
      and tests to guide you through this new feature.
      
      Under the hood, it starts a keepalive task to monitor the status and
      service level for each server.
      
      It also includes an HaManager task which promotes a primary and
      reconnect unhealthy clients. Unhealthy clients are detected based
      on the socket status and keepalive data collected.
      
      The requests received by users as well as the HaManager decisions
      produce an ideal state called the "ideal_map". Regularly, the reconciliator task
      kicks in, lock this configuration, and applies the "ideal_map" configuration.
      It then stores the actual subscriptions status into the "real_map" using the
      lower level components of the library.
      
      Current limits:
      
      - We only support HA WARM mode and datachange notifications (no event/status_change).
      _ We support multiple subscriptions, but a node should only be subscribed once.
      
      Component details:
      
      - HaClient:
          - Configuration based on dataclasses: HaConfig (required) and HaConfigSecurity (optional)
          - Responsible to start up sides tasks: keepalive, hamanager, reconciliator
          - Mutates the ideal_map via VirtualSubscription
          - Generic hooks (i.e: to monitor subscription performance)
      
      - KeepAlive (task):
          - Regularly hits the server to check its service_level / status.
      
      - HaManager (task):
          - Promote primary / secondaries
          - Reconnect disconnected/unhealthy client based on the keepalive
          feedback.
      
      - Reconciliator (task):
          - Applies the ideal configuration
          - Perform checks on the call responses
          - Mutates the real_map
      
      - VirtualSubscription:
          - Key component of the ideal and real maps.
          - Exposes an interface similar to the subscription but only
          store the settings.
      
      * [HaClient] fix test for py3.8/py3.9
      
      CancelledError and TimeoutError have moved from concurrent.futures to
      asyncio. Note that CancelledError now inherits from BaseException and
      not Exception anymore. See https://bugs.python.org/issue32528 for the
      details.
      Finally, fix pytest_yield_fixture deprecation
      
      * [HaClient] address the comments (utils + refacto reconciliator)
      Co-authored-by: default avataroroulet <oroulet@users.noreply.github.com>
      f874f7db
    • oroulet's avatar
    • oroulet's avatar
      add sync methods necessary for uamodeler · 4dffb5d0
      oroulet authored
      4dffb5d0
    • oroulet's avatar
      more sync methods and fix typo in builder · b169eeca
      oroulet authored
      b169eeca
    • oroulet's avatar
      add necessary method for porting client GUI · 0a8316d0
      oroulet authored
      0a8316d0
    • oroulet's avatar
      34b7a83a
  9. 28 Dec, 2020 1 commit
    • Adam Roth's avatar
      Client Read File Transfer Method (#372) · f189d87b
      Adam Roth authored
      * add read file method
      
      * add read file example
      
      * refactor read file method parameters
      
      * update read file example
      
      * restore to original
      
      * add new ua file class
      
      * update ua file example with new class
      
      * updating ua file for more user control
      
      * add __aenter__ and __aexit__
      
      * separate file read class
      
      * make uafile class python
      f189d87b
  10. 25 Dec, 2020 3 commits
  11. 23 Dec, 2020 2 commits
  12. 22 Dec, 2020 5 commits