TrueNAS CORE/Enterprise/SCALE Middleware Git Repository

Overview

TrueNAS CORE/Enterprise/SCALE main source repo

Want to contribute or collaborate? Join our Slack instance.

IMPORTANT NOTE:

This is the master branch of freenas, which is used for the creation and testing of TrueNAS CORE / Enterprise and TrueNAS SCALE Nightly builds. Submit Pull Requests here if you want to get changes into the next major release of TrueNAS. To build this source repo, checkout https://github.com/freenas/build for CORE/Enterprise and https://github.com/truenas/truenas-build for SCALE

Pull Request Instructions / Jenkins Commands

When submitting a pull-request, Jenkins will attempt to verify the changes to ensure it does not break our builds and/or passes QA tests.

The following commands may be used to interact with that service:

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

If the build fails for other various reasons you can rebuild.

"retest this please" to start a new build
"retest this please CLEAN" to start a new build, non-incremental
Comments
  • Bug #10794:

    Bug #10794:

    Added UI to System -> Boot which allows the user to tag a Boot Environment as "Keep" As keep tag is set it calls be = Update.FindClone("default"); Update.CloneSetAttr(be, keep = True) and handled accordingly.

    opened by rohitkeshri1986 32
  • Add the mii monitoring during bond creation

    Add the mii monitoring during bond creation

    This PR add the miimon polling rate during the creation of the bond interface. The missing miimon configuration prevent the failover of the interface.

    This fix can be improved, the selection of monitoring and monitoring rate is now static, an addition to the UI can be useful to select the wanted monitoring type (ARP or MII), polling rate and/or arp target

    This issue is referenced here in the forum

    opened by MatteoManzoni 20
  • fix(snmp): Large SNMP improvement

    fix(snmp): Large SNMP improvement

    • Use AgentX instead of pass command to simplify code and improve performance
    • Update the structure of MIB file to follow conventions for table
    • Expose zvols state

    Tickets: #24402, #25734

    opened by themylogin 18
  • NAS-107639 / 21.02 / Set default compression to zstandard

    NAS-107639 / 21.02 / Set default compression to zstandard

    This is a draft PR, investigating if there are any side effect of setting zstandard as the default compression algorithm on pool creation (which is, by default, inherited by created datasets).

    Notes:

    • I'm not very sure about the need to manually set the featureflag in case of zstd

    edit, after testing and checking things

    • This shouldn't apply to the boot pool, as that one isn't created using the middleware afaik (middleware specifically lists these as being mounted under /mnt, which the bootpool isn't)
    • Did some performance tests on an 2c/4t intel pentium CPU, 10gbe and 3x2disk mirrors. I don't think this is going to cause any significant slowdown on less-powerfull systems
    • pools created from scratch on 12, aren't compatible with 12 anyhow in a lot of cases, so this wouldn't cause significant (new) compatibility issues (you can't import a pool created in TrueNAS 12/20.10 in 11 afaik)

    Some actual data: General note: These numbers are supposed to be bottlenecked mostly by CPU and/or RAM. However they are not made to be a representation for performance, they are supposed to be used as a comparative reference only, meant to give a vague idea of performance delta. If you see weird results, it mostly is due to the test being CPU bottlenecked or test environment issues.

    Allan Jude has done further research on performance here: https://docs.google.com/spreadsheets/d/1TvCAIDzFsjuLuea7124q-1UtMd0C9amTgnXm2yPtiUQ/edit#gid=0

    His number are more based on a real-world hardware scenario. I highly suggest going through them.

    Note about random performance: Random has been set to an 8K "extremely low" recordsize and mixed blocksizes.


    Sequential Read:

    image

    image


    Sequential Write


    image image


    Sequential Read-Write


    image

    image


    Random Read


    image

    image


    Random Write


    image image


    Random Read-Write


    image image


    RAWR DATA

    Compression Algorithm Performance.xlsx

    test_results_1577651989.terse.txt

    Test script: https://github.com/Ornias1993/zfs-compression-test

    Note: For the IO slides, I've been lazy and column K is actually iops instead of bandwidth ;)

    opened by Ornias1993 16
  • NAS-118328 / 22.12 / Do not encrypt ix-applications dataset

    NAS-118328 / 22.12 / Do not encrypt ix-applications dataset

    This PR adds changes to not allow encrypting ix-applications dataset even if parent is encrypted and also not allow migrating ix-applications dataset to another pool if source is encrypted as this results in various edge cases which after discussing with Caleb we have decided not to handle.

    opened by sonicaj 15
  • NAS-115542 / 22.12 / fix uuidd service

    NAS-115542 / 22.12 / fix uuidd service

    2 issues.

    1. uuidd user/group don't exist so override the systemd unit file with nobody/nogroup since we don't need or use this service. If a user manually starts this service, it will at least start with the overridden user/group information.
    2. mask uuidd.service and uuidd.socket because, again, we don't need or use it
    opened by yocalebo 14
  • Add AlertServices

    Add AlertServices

    Small purpose.

    Two new alert services :

    • ~AnyWebhookAlerteService : A way to call any arbitrary webhook to send alertes~
    • FreeTelecomAlerteService : Alert service specifically designed to use the SMS api of the client of Free Telecom https://mobile.free.fr

    A Pull Request introducing the alert servie exist into the WebUI.

    opened by zorglube 14
  • let middleware handle the process of mounting geli providers

    let middleware handle the process of mounting geli providers

    Redmine: https://redmine.ixsystems.com/issues/31035

    Much more detail in that redmine ticket but I will summarize here.

    We are auto-mounting geli providers early in the boot process. While this isn't necessarily a problem on a single-node system, this causes problems for all TrueNAS HA appliances. Functionality for managing the destruction/mounting/decrypting of geli providers has been added to the webUI and middleware so I'm disabling this section in rc.conf.local

    opened by yocalebo 14
  • NAS-116385 / 22.12 / Hyper-V enlightenments

    NAS-116385 / 22.12 / Hyper-V enlightenments

    Add support for Hyper-V enlightenments which are important part of running Windows VMs on. I tried to follow TrueNAS philosophy of keeping it simple and hence the single flag to enable most commonly supported flags. Other option could be adding a option per each Hyper-V feature but that would quickly clutter the UI.

    This is my first PR for TrueNAS so please instruct me if something is missing/incorrect.

    no-time-tracked 
    opened by heppu 13
  • NAS-113937 / 22.02 / Improve executing commands with a user context implementation

    NAS-113937 / 22.02 / Improve executing commands with a user context implementation

    This PR adds changes to use python to change user context in a process and then having a reusable implementation which can be used in other places as required to execute certain functions as some user.

    jira 
    opened by sonicaj 13
  • NAS-119518 / 23.10 / Refine whitelisted host paths for apps validation

    NAS-119518 / 23.10 / Refine whitelisted host paths for apps validation

    Context

    In docker we were not able to distinguish between a host path as required by the container itself to function or if it being a user specified host path.

    With the change to containerd we can now make that distinction and paths have been updated accordingly so as to narrow down whitelisted paths which were allowed earlier.

    opened by Qubad786 2
  • NAS-119610 / 23.10 / Remove unnecessary method

    NAS-119610 / 23.10 / Remove unnecessary method

    Remove filesystem.file_get_contents since it doesn't have any type of validation and doesn't mix well with our rootless login functionality. This was a private method (only available across websocket connections) and was only used in our integration test suite, so I've fixed those tests accordingly.

    jira backport-22.12.1 
    opened by yocalebo 2
  • NAS-119507 / 23.10 / Don't delete builtin idmap table entries on constraint violation

    NAS-119507 / 23.10 / Don't delete builtin idmap table entries on constraint violation

    It's not altogether clear how a user got in this situation, but the production impact of nuking the default domain idmap entry is rather profound. In the case of idmap-related tables we should remove the foreign key rather than deleting the table entry (at least if it's a builtin entry).

    backport-22.12.1 
    opened by anodos325 3
  • NAS-119473 / 23.10 / Use pyparted for `disk.format`

    NAS-119473 / 23.10 / Use pyparted for `disk.format`

    Two concerns:

    • Exact partition sizes do not match with this approach (on 8GB HDD swap gets 900k smaller and data partition gets 900k larger), I guess it's alright?
    • With incorrect arguments middleware will now SEGFAULT
    jira 
    opened by themylogin 3
Releases(TS-22.02-RC.1-2)
Owner
TrueNAS
The world's most popular Open-Source Software Defined Storage.
TrueNAS
Code Specialist 27 Oct 16, 2022
Core ML tools contain supporting tools for Core ML model conversion, editing, and validation.

Core ML Tools Use coremltools to convert machine learning models from third-party libraries to the Core ML format. The Python package contains the sup

Apple 3k Jan 8, 2023
Git Plan - a better workflow for git

git plan A better workflow for git. Git plan inverts the git workflow so that you can write your commit message first, before you start writing code.

Rory Byrne 178 Dec 11, 2022
git-cola: The highly caffeinated Git GUI

git-cola: The highly caffeinated Git GUI git-cola is a powerful Git GUI with a slick and intuitive user interface. Copyright (C) 2007-2020, David Agu

git-cola 2k Dec 30, 2022
git git《Transformer Meets Tracker: Exploiting Temporal Context for Robust Visual Tracking》(CVPR 2021) GitHub:git2] 《Masksembles for Uncertainty Estimation》(CVPR 2021) GitHub:git3]

Transformer Meets Tracker: Exploiting Temporal Context for Robust Visual Tracking Ning Wang, Wengang Zhou, Jie Wang, and Houqiang Li Accepted by CVPR

NingWang 236 Dec 22, 2022
git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's partial clone and sparse checkout features.

Partial Submodules for Git git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's

Nathan Reed 15 Sep 22, 2022
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

Zachary 1 Apr 9, 2022
Dicionario-git-github - Dictionary created to help train new users of Git and GitHub applications

Dicionário ?? Dicionário criado com o objetivo de auxiliar no treinamento de nov

Felippe Rafael 1 Feb 7, 2022
Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.

Readme web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applic

null 2k Dec 31, 2022
Abilian Social Business Engine - an enterprise social networking / collaboration platform.

About Abilian SBE (Social Business Engine) is a platform for social business applications, and more specifically collaborative / enterprise 2.0 busine

Abilian open source projects 63 Dec 29, 2022
Abilian Social Business Engine - an enterprise social networking / collaboration platform.

About Abilian SBE (Social Business Engine) is a platform for social business applications, and more specifically collaborative / enterprise 2.0 busine

Abilian open source projects 63 Dec 29, 2022
MozDef: Mozilla Enterprise Defense Platform

MozDef: Documentation: https://mozdef.readthedocs.org/en/latest/ Give MozDef a Try in AWS: The following button will launch the Mozilla Enterprise Def

Mozilla 2.2k Jan 8, 2023
Splunk Add-On to collect audit log events from Github Enterprise Cloud

GitHub Enterprise Audit Log Monitoring Splunk modular input plugin to fetch the enterprise audit log from GitHub Enterprise Support for modular inputs

Splunk GitHub 12 Aug 18, 2022
RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

RockNext is an Open Source extending ERPNext built on top of Frappe bringing enterprise ready utilization.

Matheus Breguêz 13 Oct 12, 2022
Pritunl is a distributed enterprise vpn server built using the OpenVPN protocol.

Pritunl is a distributed enterprise vpn server built using the OpenVPN protocol.

Pritunl 3.8k Jan 3, 2023
Pyrin is an application framework built on top of Flask micro-framework to make life easier for developers who want to develop an enterprise application using Flask

Pyrin A rich, fast, performant and easy to use application framework to build apps using Flask on top of it. Pyrin is an application framework built o

Mohamad Nobakht 10 Jan 25, 2022
A lightweight Python module to interact with the Mitre Att&ck Enterprise dataset.

enterpriseattack - Mitre's Enterprise Att&ck A lightweight Python module to interact with the Mitre Att&ck Enterprise dataset. Built to be used in pro

xakepnz 7 Jan 1, 2023
The Dash Enterprise App Gallery "Oil & Gas Wells" example

This app is based on the Dash Enterprise App Gallery "Oil & Gas Wells" example. For more information and more apps see: Dash App Gallery See the Dash

Austin Caudill 1 Nov 8, 2021
stellar-add-guest is a small tool to generate a new guest for Stellar Wireless (Enterprise mode) in OmniVista 2500 hosted on OmniSwitch with AOS Release 8

stellar-add-guest is a small tool to generate a new guest for Stellar Wireless (Enterprise mode) in OmniVista 2500 hosted on OmniSwitch with AOS Release 8.

BennyE 3 Jan 24, 2022