Skip to content
Snippets Groups Projects
  1. Jul 10, 2019
    • 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
  2. Jun 14, 2019
  3. Jun 13, 2019
  4. 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
  5. 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
  6. 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
  7. 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
  8. Apr 05, 2019
  9. Apr 03, 2019
  10. Mar 27, 2019
  11. 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
  12. 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
  13. Feb 28, 2019
  14. Feb 04, 2019
  15. 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
  16. Dec 18, 2018
  17. 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
  18. Nov 29, 2018
  19. Nov 27, 2018
  20. 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
  21. Oct 18, 2018
  22. Oct 15, 2018
  23. Oct 11, 2018
  24. Oct 05, 2018
  25. Sep 28, 2018
    • Benjamin Bertrand's avatar
      Do not take into account old deferred tasks · 2ed77eb2
      Benjamin Bertrand authored
      A deferred task will remain deferred forever if the task it depends on
      fails. When checking for waiting tasks, we should ignore deferred tasks
      that are too old.
      "Too old" is currently set to 30 minutes. We shouldn't have tasks that
      take that long. We might want to shorten that even a bit (to not block
      new identical tasks to be run) but if a task failed there is probably
      something to be done.
      
      JIRA INFRA-559 #action In Progress
      2ed77eb2
    • Benjamin Bertrand's avatar
      Add button to delete hosts · f3206d0a
      Benjamin Bertrand authored
      - set cascade to all and delete-orphan to delete interfaces when
        deleting a host
      - button added on the view host page to delete host (admin only)
      
      JIRA INFRA-557 #action In Progress
      f3206d0a
    • Benjamin Bertrand's avatar
      Add button to export items to excel file · 8471ec5b
      Benjamin Bertrand authored
      Retrieving all items from the database takes some time.
      The task is thus handled by the RQ worker.
      We use ajax to periodically monitor the status of the job
      and redirect to the file when ready.
      A progress bar is displayed to let the user see the progress.
      
      The mechanism put in place could be re-used for other use cases.
      
      JIRA INFRA-545 #action In Progress
      8471ec5b
  26. Sep 13, 2018
  27. Aug 21, 2018
Loading