Skip to content
Snippets Groups Projects
  1. Oct 29, 2019
  2. Oct 24, 2019
  3. Sep 18, 2019
  4. Sep 17, 2019
  5. Aug 22, 2019
    • Benjamin Bertrand's avatar
      Implement user access on network scope · a89b002f
      Benjamin Bertrand authored
      Replace previous implementation based on the domain.
      
      The domain can be changed per network but in practice we always use the
      same domain in a network scope.
      We currently have 9 network scopes but only 3 domains.
      Using the network scope gives us finer granularity in practice.
      
      JIRA INFRA-1228 #action In Progress
      a89b002f
  6. Jul 10, 2019
    • Benjamin Bertrand's avatar
      Fix sorting of items with some null stack_member · ab9b49b8
      Benjamin Bertrand authored
       '<' not supported between instances of 'NoneType' and 'int'
      
      Sorting worked if all stack_members were None, but not if some were null
      and some int.
      Fixed by converting None to Infinity (so None values are at the end of
      the list.
      
      JIRA INFRA-1112 #action In Progress
      ab9b49b8
    • Benjamin Bertrand's avatar
      Add extra items info to hosts json model · 0318858e
      Benjamin Bertrand authored
      Linked items are by default returned as a list of ICS id.
      When recursive is True, a list of {ics_id, serial_number, stack_member}
      is returned instead.
      
      Items are always returned sorted by stack_member or ics_id when
      stack_member is null.
      
      Allow to add the serial_number and stack_member to the Ansible variables
      in csentry dynamic inventory. Useful for switches.
      
      JIRA INFRA-1111 #action In Progress
      0318858e
  7. Jun 14, 2019
  8. Jun 13, 2019
  9. May 13, 2019
    • Benjamin Bertrand's avatar
      Remove caching of user retrieval · be364ef4
      Benjamin Bertrand authored
      The caching of the load_user function already created several bugs
      (INFRA 908/1018).
      It requires to think about adding (or deleting in the admin view)
      the current_user to the session. This is easy to miss.
      
      It saves some database queries but we don't need this optimization.
      Performances are not impacted and are good enough so far.
      
      Removing the caching makes the application more robust and easier to
      maintain.
      
      JIRA INFRA-1025 #action In Progress
      be364ef4
  10. May 10, 2019
    • Benjamin Bertrand's avatar
      Fix job.status DeprecationWarning · 2e0d01bf
      Benjamin Bertrand authored
      job.status shall be replaced with job.get_status() (RQ)
      
      JIRA INFRA-1021 #action In Progress
      2e0d01bf
    • Benjamin Bertrand's avatar
      Allow users to delete their host · a6811ba9
      Benjamin Bertrand authored
      - admin can delete any hosts
      - normal users can delete hosts they created
      
      Note that still only admin users can delete hosts via the API (more dangerous
      operation as a script could delete many hosts).
      
      JIRA INFRA-1018 #action In Progress
      a6811ba9
  11. May 09, 2019
    • Benjamin Bertrand's avatar
      Fix IOC indexation · 2b588173
      Benjamin Bertrand authored
      Regression from b9c1b838
      
      Calling utils.trigger_ioc_repository_creation runs launch_task
      which does a db.session.add(task). This raises:
      
      SAWarning: Usage of the 'Session.add()' operation is not currently
      supported within the execution stage of the flush process. Results may
      not be consistent.  Consider using alternative event listeners or
      connection-level operations instead.
      
      SAWarning: Attribute history events accumulated on 1 previously clean
      instances within inner-flush event handlers have been reset, and will
      not result in database updates.
      
      The result is that the host is not added to the elasticsearch index.
      
      We can't trigger the task in after_update/after_insert events.
      Perform the call in the view instead. It's temporary anyway. This should
      be handled by IOC Factory.
      
      JIRA INFRA-1015
      2b588173
  12. May 08, 2019
    • Benjamin Bertrand's avatar
      Fix IOC repository creation · b9c1b838
      Benjamin Bertrand authored
      The set event is triggered too early and no interface is yet associated
      to the host. The fqdn is thus set to the name.
      
      JIRA INFRA-1015 #action In Progress
      b9c1b838
  13. Apr 05, 2019
  14. Apr 03, 2019
  15. Mar 27, 2019
  16. Mar 18, 2019
    • Benjamin Bertrand's avatar
      Trigger AWX inventory update on database change · e000c2f0
      Benjamin Bertrand authored
      A job running in AWX prevents an inventory sync (of the same
      inventory). This restricts AWX to run only one job at a time as
      the inventory is always updated on launch.
      To prevent this issue, the inventory is updated from AWX when needed.
      
      - The update is triggered on any model modification that is used in the
      inventory (AnsibleGroup, Cname, Domain, Host, Network, NetworkScope)
      - For Interface, the inventory sync is triggered by the
      trigger_core_services function as it depends on it
      - The inventory update job is put on the "high" queue so that it takes
      precedence over all other jobs.
      
      JIRA INFRA-887 #action In Progress
      e000c2f0
    • Benjamin Bertrand's avatar
      Use queues of different priorities · f30a711b
      Benjamin Bertrand authored
      Ensure that the trigger_core_services_update job is always processed
      before the other jobs (low queue).
      
      JIRA INFRA-887
      f30a711b
    • Benjamin Bertrand's avatar
      Allow users to create VM/VIOC · 8f209774
      Benjamin Bertrand authored
      - users with access to the network can create VIOC
      - VM can be created only in the ALLOWED_VM_CREATION_DOMAINS
      
      JIRA INFRA-775
      8f209774
    • Benjamin Bertrand's avatar
      Fix link to AWX job id for workflow jobs · 0d0471b7
      Benjamin Bertrand authored
      Add awx_resource field to the task table.
      The field is None for local tasks (like excel file creation).
      It's the awx resource used to launch the job otherwise.
      Currently job or workflow_job.
      
      JIRA INFRA-886 #action In Progress
      0d0471b7
  17. Mar 05, 2019
    • Benjamin Bertrand's avatar
      Remove tags and add is_ioc field to host table · f331b452
      Benjamin Bertrand authored
      Tags were basically only used for IOCs.
      Tags were linked to the interface (and not the host).
      But for IOC we assume it should always be the main (first) interface.
      
      Using a field on the host table will make it more obvious for users.
      
      Created a IOC dynamic group type, to create a group including all IOCs
      
      JIRA INFRA-862 #action In Progress
      f331b452
  18. Feb 28, 2019
  19. Feb 04, 2019
  20. Jan 25, 2019
    • Benjamin Bertrand's avatar
      Fix case insensitive search · 67b2f815
      Benjamin Bertrand authored
      Search on keyword can be made case insensitive by using a normalizer.
      But some fields with type keyword include several words.
      They are only returned by entering all words. This is not what
      most users expect.
      
      It's better to use the "text" type by default (for text fields) and add
      an extra "keyword" field of type "keyword" for sorting.
      
      JIRA INFRA-770
      67b2f815
  21. Dec 18, 2018
  22. Nov 30, 2018
    • Benjamin Bertrand's avatar
      Add extra fields to the API · e6494e47
      Benjamin Bertrand authored
      - add fqdn to host
      - add gateway to network
      - add netmask to interface
      - allow to pass recursive via the API (to expand interfaces in host)
      - add is_main property to interface (True if the interface is the main
        interface of the host)
      
      JIRA INFRA-640
      e6494e47
  23. Nov 29, 2018
  24. Nov 27, 2018
  25. Nov 06, 2018
    • Benjamin Bertrand's avatar
      Make host/interface/cname unique · fc7ac34a
      Benjamin Bertrand authored
      - Host names are unique (no 2 hosts with same name)
      - A host name shall not conflict with a cname or interface (if not main
      interface)
      - Interface names are unique (no 2 interfaces with same name)
      - An interface shall not conflict with a cname or host (if not assigned
      host)
      - cnames are only unique by domain (2 cnames can have the same name if
      different domains)
      - A cname shall not conflict with a host or interface
      - An interface has to be linked to a host
      
      Validation is implemented at the model level.
      Some is also implemented at the form level as it gives nicer feedback,
      but not all as it's a bit more complex when it requires check on several fields.
      
      JIRA INFRA-245
      fc7ac34a
    • Benjamin Bertrand's avatar
      Make mac addresses unique by interface · 16ac3272
      Benjamin Bertrand authored
      - mac is now a column in the interface table (no link to the mac table)
      - mac column is unique (can't have 2 interfaces with the same mac)
      - the mac table is kept for the items
      
      JIRA INFRA-639
      16ac3272
  26. Oct 18, 2018
  27. Oct 15, 2018
  28. Oct 11, 2018
    • Benjamin Bertrand's avatar
      Implement server side processing for network hosts · 3a2d05fa
      Benjamin Bertrand authored
      - switch to server side processing to retrieve network hosts
        (the table started to be bigger and takes time to load)
      - add full text search using elasticsearch
      
      Note that only the first IP is displayed in the host table (all
      interfaces were displayed before). Search can be performed on any
      interfaces.
      
      JIRA INFRA-595 #action In Progress
      3a2d05fa
Loading