fusiondirectory-plugins issueshttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues2021-09-07T09:38:05Zhttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6118Editing a FaiTemplate that contains an entry make errors2021-09-07T09:38:05ZJonathan SwaelensEditing a FaiTemplate that contains an entry make errors### Description
Editing a FaiTemplate that contains an entry make errors
### Distribution Name and Version
Debian Buster
### FusionDirectory Version
1.4
### Plugin with the defect
FAI
### PHP version used
php7 from buster
### O...### Description
Editing a FaiTemplate that contains an entry make errors
### Distribution Name and Version
Debian Buster
### FusionDirectory Version
1.4
### Plugin with the defect
FAI
### PHP version used
php7 from buster
### Origin of php packages
distribution
### Steps to Reproduce
1. Create a FaiTemplate
2. Make one entry of a file and save
3. Try edit the entry and you will get an error
**Expected behavior:**
No error
**Actual behavior:**
There is an error and no way to edit it from FD
**Reproduces how often:**
100%
### Additional Information
Trace of the error (ugly copy paste)
```
0
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
512
1
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
447
function
management->execute
args
Array (empty)
2
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
1410
function
management->readPost
args
Array (empty)
3
file
/usr/share/fusiondirectory/plugins/admin/fai/class_faiManagement.inc
line
76
function
management::mainInc
args
0
faiManagement
1
4
file
/usr/share/fusiondirectory/include/class_pluglist.inc
line
576
function
faiManagement::mainInc
args
Array (empty)
5
file
/usr/share/fusiondirectory/html/main.php
line
228
function
pluglist::runMainInc
args
0
67
6
0
file
/usr/share/fusiondirectory/include/class_pluglist.inc
line
525
1
file
/usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc
line
2106
function
pluglist::pluginInfos
args
0
faiTemplateEntry
2
file
/usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc
line
324
function
simplePlugin::isAccount
args
0
cn
count
1
0
/etc/salt/minion.d/minion.conf
0
cn
description
count
1
0
Minion configuration
1
description
FAItemplatePath
count
1
0
/etc/salt/minion.d/minion.conf
2
FAItemplatePath
FAItemplateFile
count
1
0
# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: saltmaster.opensides.be
# Since salt uses detached ids it is possible to run multiple minions on the
# same machine but with different ids, this can be useful for salt compute
# clusters.
id: minimum.fusiondirectory.org
# Fingerprint of the master public key to validate the identity of your Salt master
# before the initial key exchange. The master fingerprint can be found by running
# "salt-key -f master.pub" on the Salt master.
master_finger: '3a:6d:ed:c5:5c:25:7d:ac:7f:d8:f5:77:3b:7c:37:76:40:ef:26:02:ba:a8:ea:9f:e5:cf:ab:d4:90:5d:33:f8'
3
FAItemplateFile
FAIowner
count
1
0
root.root
4
FAIowner
FAImode
count
1
0
0640
5
FAImode
objectClass
count
3
0
top
1
FAIclass
2
FAItemplateEntry
6
objectClass
count
7
dn
cn=/etc/salt/minion.d/minion.conf,cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
3
file
/usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc
line
255
function
simplePlugin->is_this_account
args
0
cn
count
1
0
/etc/salt/minion.d/minion.conf
0
cn
description
count
1
0
Minion configuration
1
description
FAItemplatePath
count
1
0
/etc/salt/minion.d/minion.conf
2
FAItemplatePath
FAItemplateFile
count
1
0
# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: saltmaster.opensides.be
# Since salt uses detached ids it is possible to run multiple minions on the
# same machine but with different ids, this can be useful for salt compute
# clusters.
id: minimum.fusiondirectory.org
# Fingerprint of the master public key to validate the identity of your Salt master
# before the initial key exchange. The master fingerprint can be found by running
# "salt-key -f master.pub" on the Salt master.
master_finger: '3a:6d:ed:c5:5c:25:7d:ac:7f:d8:f5:77:3b:7c:37:76:40:ef:26:02:ba:a8:ea:9f:e5:cf:ab:d4:90:5d:33:f8'
3
FAItemplateFile
FAIowner
count
1
0
root.root
4
FAIowner
FAImode
count
1
0
0640
5
FAImode
objectClass
count
3
0
top
1
FAIclass
2
FAItemplateEntry
6
objectClass
count
7
dn
cn=/etc/salt/minion.d/minion.conf,cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
4
file
/usr/share/fusiondirectory/plugins/admin/fai/class_faiTemplate.inc
line
54
function
simplePlugin->__construct
args
0
cn=/etc/salt/minion.d/minion.conf,cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
1
OBJECT - stdClass
5
file
/usr/share/fusiondirectory/include/simpleplugin/class_Attribute.inc
line
329
function
FAITemplateFilesAttribute->loadAttrValue
args
0
objectClass
count
2
0
FAIclass
1
FAItemplate
cn
count
1
0
SALT-MINION
description
count
1
0
Install salt-minon configuration
dn
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
6
file
/usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc
line
315
function
Attribute->loadValue
args
0
objectClass
count
2
0
FAIclass
1
FAItemplate
cn
count
1
0
SALT-MINION
description
count
1
0
Install salt-minon configuration
dn
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
7
file
/usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc
line
284
function
simplePlugin->loadAttributes
args
Array (empty)
8
file
/usr/share/fusiondirectory/plugins/admin/fai/class_faiSimplePluginClass.inc
line
28
function
simplePlugin->__construct
args
0
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
1
2
OBJECT - simpleTabs
3
1
9
file
/usr/share/fusiondirectory/include/simpleplugin/class_simpleTabs.inc
line
89
function
faiSimplePluginClass->__construct
args
0
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
1
2
OBJECT - simpleTabs
3
1
10
file
/usr/share/fusiondirectory/include/class_objects.inc
line
345
function
simpleTabs->__construct
args
0
FAITEMPLATE
1
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
11
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
959
function
objects::open
args
0
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
1
FAITEMPLATE
12
file
/usr/share/fusiondirectory/include/management/actions/class_Action.inc
line
175
function
management->editEntry
args
0
targets
Array (empty)
action
edit
subaction
13
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
426
function
Action->execute
args
0
OBJECT - faiManagement
1
targets
0
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
action
edit
subaction
14
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
507
function
management->handleAction
args
0
targets
0
cn=SALT-MINION,ou=templates,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=formation-fusiondirectory,dc=org
action
edit
subaction
15
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
447
function
management->execute
args
Array (empty)
16
file
/usr/share/fusiondirectory/include/management/class_management.inc
line
1410
function
management->readPost
args
Array (empty)
17
file
/usr/share/fusiondirectory/plugins/admin/fai/class_faiManagement.inc
line
76
function
management::mainInc
args
0
faiManagement
1
18
file
/usr/share/fusiondirectory/include/class_pluglist.inc
line
576
function
faiManagement::mainInc
args
Array (empty)
19
file
/usr/share/fusiondirectory/html/main.php
line
228
function
pluglist::runMainInc
args
0
67
```FusionDirectory 1.4Jonathan SwaelensJonathan Swaelenshttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6117Latest FAI test showed that default "aptitude" install method didn't work2021-06-17T13:26:40ZJonathan SwaelensLatest FAI test showed that default "aptitude" install method didn't work## Descriptive title for this enhancement
Latest FAI test showed that default "aptitude" install method didn't work
### Actual behavior
When we create a package class aptitude is the default install method
### Expected behavior
Repl...## Descriptive title for this enhancement
Latest FAI test showed that default "aptitude" install method didn't work
### Actual behavior
When we create a package class aptitude is the default install method
### Expected behavior
Replace the aptitude method by install method that looks still working for now
### Benefits
Using a method that work by default
### Possible Drawbacks
NoneFusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6100Adding partition for NVME disk in FAI not work correctly2022-09-13T14:42:44ZJonathan SwaelensAdding partition for NVME disk in FAI not work correctly## Descriptive title for this enhancement
Hello, right now FAI add the number of the partition after the disk (hda + 1, sdb + 1 ...).
But for NVME hard drive we have something like "identifier" + p + "partition number".
[create-hdd-fd....## Descriptive title for this enhancement
Hello, right now FAI add the number of the partition after the disk (hda + 1, sdb + 1 ...).
But for NVME hard drive we have something like "identifier" + p + "partition number".
[create-hdd-fd.ldif](/uploads/2e748a809381bbd84f506e47be92d9c1/create-hdd-fd.ldif)
[create-hdd-fd-work-fai.ldif](/uploads/3466a9b24ff9b1dc7d7d8b0714fb3c65/create-hdd-fd-marche-fai.ldif)
### Actual behavior
It only add the partition number
### Expected behavior
We need a proper way to use "p + parition number" for nvme
### Step by step description of new behaviour
1. Go to FAI
2. Create a HDD that use NVME identifier and parition
### Benefits
Proper support of NVME hard drive in FAI
### Possible Drawbacks
NoneFusionDirectory 1.3.1Angaman Ange CedrickAngaman Ange Cedrickhttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6071Adapt plugins code to dialog classes refactor2023-03-13T16:04:22ZCôme ChillietAdapt plugins code to dialog classes refactorAdapt all plugins to fd#6072 refactor.
Extra care should be put into webservice plugin to cleanup POST reading and render which should not happen when using FD through webservice.Adapt all plugins to fd#6072 refactor.
Extra care should be put into webservice plugin to cleanup POST reading and render which should not happen when using FD through webservice.FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6061Adapt plugins code to changes on error system2021-07-29T19:49:51ZCôme ChillietAdapt plugins code to changes on error systemRelated to fd#6071Related to fd#6071FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6054Crash in FAI plugin2020-10-14T08:46:45ZCôme ChillietCrash in FAI pluginWhen trying to create a workstation, I get:
```
<b>Fatal error</b>: Uncaught TypeError: Argument 1 passed to SelectAttribute::setChoices() must be of the type array, null given, called in /usr/share/fusiondirectory/plugins/admin/systems...When trying to create a workstation, I get:
```
<b>Fatal error</b>: Uncaught TypeError: Argument 1 passed to SelectAttribute::setChoices() must be of the type array, null given, called in /usr/share/fusiondirectory/plugins/admin/systems/class_faiStartup.inc on line 37 and defined in /usr/share/fusiondirectory/include/simpleplugin/attributes/class_SelectAttribute.inc:63
Stack trace:
#0 /usr/share/fusiondirectory/plugins/admin/systems/class_faiStartup.inc(37): SelectAttribute->setChoices(NULL)
#1 /usr/share/fusiondirectory/include/simpleplugin/class_Attribute.inc(206): FAIreleaseAttribute->setValue('%askme%')
#2 /usr/share/fusiondirectory/include/simpleplugin/attributes/class_SelectAttribute.inc(86): Attribute->resetToDefault()
#3 /usr/share/fusiondirectory/plugins/admin/systems/class_faiStartup.inc(45): SelectAttribute->setChoices(Array)
#4 /usr/share/fusiondirectory/include/simpleplugin/attributes/class_CompositeAttribute.inc(87): FAIreleaseAttribute->setParent(Object(faiStartup))
#5 /usr/share/fusiondirectory/include/simpleplugin/class_simplePlugin.inc(314): CompositeAttribu in <b>/usr/share/fusiondirectory/include/simpleplugin/attributes/class_SelectAttribute.inc</b> on line <b>63</b><br />
```FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6030Copy/pasting FAI partitions with lvm fails2020-02-25T08:08:22ZCôme ChillietCopy/pasting FAI partitions with lvm failsIt triggers an LDAP error:
```
La requête LDAP ajout a échoué !
Objet: FAIpartitionNr=1,cn=lvm,cn=DISKNAME,ou=disk,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=demo-fusiondirectory,dc=org
Erreur: No such object( lors de l'opéra...It triggers an LDAP error:
```
La requête LDAP ajout a échoué !
Objet: FAIpartitionNr=1,cn=lvm,cn=DISKNAME,ou=disk,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=demo-fusiondirectory,dc=org
Erreur: No such object( lors de l'opération sur le serveur LDAP "ldap://demo-dev.fusiondirectory.org")
```
After debugging it appears the real error is when creating `cn=lvm,cn=DISKNAME,ou=disk,ou=buster,ou=debian,ou=fai,ou=configs,ou=systems,dc=demo-fusiondirectory,dc=org`: `ldap_add(): Value array must have consecutive indices 0, 1, ...`FusionDirectory 1.4Jonathan SwaelensJonathan Swaelenshttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6007Migrate FAI plugin to selectManagement2021-01-31T14:59:49ZCôme ChillietMigrate FAI plugin to selectManagementFAI plugin is still using simpleSelectManagement.FAI plugin is still using simpleSelectManagement.FusionDirectory 1.4Jonathan SwaelensJonathan Swaelenshttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/6004fai code needs to be adapted to core changes2021-01-28T20:54:22ZCôme Chillietfai code needs to be adapted to core changesFatal error: Declaration of faiBaseSelector::update($force = false) must be compatible with baseSelector::update(bool $force = false): bool in /usr/share/fusiondirectory/plugins/admin/fai/class_faiBaseSelector.inc on line 0Fatal error: Declaration of faiBaseSelector::update($force = false) must be compatible with baseSelector::update(bool $force = false): bool in /usr/share/fusiondirectory/plugins/admin/fai/class_faiBaseSelector.inc on line 0FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5977Adapt plugins code to acl_base refactor2021-01-28T21:12:34ZCôme ChillietAdapt plugins code to acl_base refactorSee fd#5039See fd#5039FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5937Move away from simpleSelectManagement and associated attributes2021-01-28T21:22:18ZCôme ChillietMove away from simpleSelectManagement and associated attributesSee https://gitlab.fusiondirectory.org/fusiondirectory/fd/issues/5965See https://gitlab.fusiondirectory.org/fusiondirectory/fd/issues/5965FusionDirectory 1.4Jonathan SwaelensJonathan Swaelenshttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5936icons missing in filter selections2019-07-22T22:06:00ZCôme Chillieticons missing in filter selectionsSee fusiondirectory/fd#5976See fusiondirectory/fd#5976FusionDirectory 1.4bmortierbmortierhttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5933Reorder configuration tabs2021-01-29T14:44:43ZCôme ChillietReorder configuration tabsSee fd#5971See fd#5971FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5920Attribute::setUnique should not be called with TRUE2021-01-29T20:41:11ZCôme ChillietAttribute::setUnique should not be called with TRUEFusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5914Migrate plugins to new management class2023-03-13T15:59:57ZCôme ChillietMigrate plugins to new management classAll plugins should now be adapted to the new management class.
Systems and services being most likely the more complicated case they should be migrated last.All plugins should now be adapted to the new management class.
Systems and services being most likely the more complicated case they should be migrated last.FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5875Submit inputs need formnovalidate attribute2021-01-29T20:59:25ZCôme ChillietSubmit inputs need formnovalidate attributeOtherwise HTML5 input are validated and sometime block submit action.Otherwise HTML5 input are validated and sometime block submit action.FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5847Add a workaround for dracut that use FQDN for hostname2018-08-08T08:32:13ZJonathan SwaelensAdd a workaround for dracut that use FQDN for hostname## Descriptive title for this enhancement
Hello,
Dracut use the FQDN as hostname but it break FAI installation.
The workaround that I do is to pass HOSTNAME=machine-name to my PXE line
Example:
```
append initrd=initrd.img-install r...## Descriptive title for this enhancement
Hello,
Dracut use the FQDN as hostname but it break FAI installation.
The workaround that I do is to pass HOSTNAME=machine-name to my PXE line
Example:
```
append initrd=initrd.img-install root=x.x.x.x:/srv/fai/nfsroot ip=dhcp rootovl HOSTNAME=%cn%
```
### Actual behavior
We generate the PXE linux without HOSTNAME=%cn%
### Expected behavior
Add HOSTNAME=%cn% to the PXE command line when we tick the option "Dracut hostname fix" in fusiondirectory service argonaut-fuse fai configuration
### Step by step description of new behaviour
1. Go to service argonaut-fuse service fai configuration
2. Tick "dracut hostname fix"
3. Argonaut fuse will generate the PXE command line with HOSTNAME=%cn% if "dracut hostname fix" is ticked
### linked ticket
https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/issues/5845
https://gitlab.fusiondirectory.org/argonaut/argonaut/issues/5735
### Benefits
Permit to use FAI classes from FD and dracut to make install in FAI 5FusionDirectory 1.3Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5846Add vfat as filesystem for FAI partition2018-09-21T13:22:07ZJonathan SwaelensAdd vfat as filesystem for FAI partition## Descriptive title for this enhancement
We miss the filesystem vfat for FAI partition
### Actual behavior
Value "vfat" not exist
### Expected behavior
Adding the "vfat" value
### Step by step description of new behaviour
1. Make...## Descriptive title for this enhancement
We miss the filesystem vfat for FAI partition
### Actual behavior
Value "vfat" not exist
### Expected behavior
Adding the "vfat" value
### Step by step description of new behaviour
1. Make an FAI partition
2. Select vfat in filesystem list (ext4 ext3 ...)
### Benefits
We beed vfat to make EFI partitionFusionDirectory 1.3Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5844There are no foreignkey on FAI class2023-03-13T15:58:38ZJonathan SwaelensThere are no foreignkey on FAI class### Description
Hello,
All the fai class are missing a foreign key because when we remove them they are not removed in the profile.
### Distribution Name and Version
Debian
### FusionDirectory Version
1.2.1
### Plugin with the def...### Description
Hello,
All the fai class are missing a foreign key because when we remove them they are not removed in the profile.
### Distribution Name and Version
Debian
### FusionDirectory Version
1.2.1
### Plugin with the defect
FAI
### PHP version used
php7
### Origin of php packages
Debian
### Steps to Reproduce
1. Create FAI classes
2. Add them to a profile
3. Rename or remove a class
4. The profile didn't change
**Expected behavior:**
The class modification like rename or moving need to be apply on profile
The profile is not modified
**Reproduces how often:**
100%FusionDirectory 1.4Côme ChillietCôme Chilliethttps://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues/5826Adapt the code to core changes2019-04-10T08:12:26ZCôme ChillietAdapt the code to core changesThe code in core is changing for management refactor from fd#5135
The code in the plugins needs to be adapted accordingly.The code in core is changing for management refactor from fd#5135
The code in the plugins needs to be adapted accordingly.FusionDirectory 1.4Côme ChillietCôme Chilliet