aegir issueshttps://gitlab.com/aegir/aegir/-/issues2023-10-12T15:34:07Zhttps://gitlab.com/aegir/aegir/-/issues/80Re-enable aegir:input console translations2023-10-12T15:34:07ZDerek LaventureRe-enable aegir:input console translationsIn a [recent commit](52371e7b9240060ee28eec14ff5ab5b85640ff60), we removed calls to `$this-trans()` from [AegirInputCommand](profile/modules/input_command/src/Command/AegirInputCommand.php), since they weren't working, and simply showing...In a [recent commit](52371e7b9240060ee28eec14ff5ab5b85640ff60), we removed calls to `$this-trans()` from [AegirInputCommand](profile/modules/input_command/src/Command/AegirInputCommand.php), since they weren't working, and simply showing the translation keys.
As best we can tell, this problem goes back to the upstream issue here: https://github.com/hechoendrupal/drupal-console/issues/3010 and we couldn't make any headway attempting to inject the missing TranslatorManager service which seems to be missing at the point we call the `trans()` method.https://gitlab.com/aegir/aegir/-/issues/61Fix Form API bug when creating a site2023-10-12T15:37:50ZDerek LaventureFix Form API bug when creating a siteWhen creating a new site, running the Install operation succeeds, but throws an error when first selecting the Platform on which to deploy:
`Error message: An illegal choice has been detected. Please contact the site administrator.`
We...When creating a new site, running the Install operation succeeds, but throws an error when first selecting the Platform on which to deploy:
`Error message: An illegal choice has been detected. Please contact the site administrator.`
We believe this is due to the AJAX call that's triggered when a Platform is selected, that comes back to populate the Install Profile options on the radio buttons below. This may just be due to bitrot since this was originally implemented in a much older version of D8, but is probably just a matter of reviewing the AJAX mechanism for the Platform form field, and implementing the update to the Install Profile field correctly.https://gitlab.com/aegir/aegir/-/issues/31"Getting Started" instructions do not work with fish shell2023-10-12T15:37:51ZJon Pugh"Getting Started" instructions do not work with fish shellNot sure if there would be others that would also not work...
```
~/P/aegir master . d
d (line 11): Unexpected end of string, quotes are not balanced
export PATH="$LOCAL_DIR/bin:$PATH"
^
from sou...Not sure if there would be others that would also not work...
```
~/P/aegir master . d
d (line 11): Unexpected end of string, quotes are not balanced
export PATH="$LOCAL_DIR/bin:$PATH"
^
from sourcing file d
called on line 230 of file /usr/share/fish/config.fish
in function “.”
called on standard input
source: Error while reading file “d”
```https://gitlab.com/aegir/aegir/-/issues/22Install site with no platform shouldn't be possible2023-10-12T15:37:50ZDerek LaventureInstall site with no platform shouldn't be possibleOn a fresh Aegir5 install, it is possible to create a new Site entity, and attempt to run its Install operation, without ever having created and deployed a Platform. This results in breakage.
The operation log shows an error from Ansibl...On a fresh Aegir5 install, it is possible to create a new Site entity, and attempt to run its Install operation, without ever having created and deployed a Platform. This results in breakage.
The operation log shows an error from Ansible like this:
`fatal: [localhost]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'field_platform_path' is undefined"}`https://gitlab.com/aegir/aegir/-/issues/20Can delete Platform with Sites still on it2023-10-12T15:37:48ZDerek LaventureCan delete Platform with Sites still on ithttps://gitlab.com/aegir/aegir/-/issues/19Clicking on View button for an Operation before it posts any logs lands at st...2023-10-12T15:37:48ZDerek LaventureClicking on View button for an Operation before it posts any logs lands at strange empty pageImmediately after starting a new operation, if it hasn't POSTed back any logs from the Ansible playbook run yet, the modal fails and redirects to a blank screen with one little window in the top:
![screenshot](/uploads/5b19e5e778bc48f9...Immediately after starting a new operation, if it hasn't POSTed back any logs from the Ansible playbook run yet, the modal fails and redirects to a blank screen with one little window in the top:
![screenshot](/uploads/5b19e5e778bc48f9cbcfca6e7b496c09/Selection_014.png)
Opening up the output pane reveals JSON like:
> [{"command":"settings","settings":{"pluralDelimiter":"\u0003","ajaxPageState":{"libraries":"aegir_operation\/task_log,core\/drupal.dialog.ajax,views\/views.module","theme":"eldir","theme_token":null},"ajaxTrustedUrl":[],"user":{"uid":"1","permissionsHash":"07d363bdae6f4e463b94cd759154632de9109026fbaf30527bccbb5c72699d14"}},"merge":true},{"command":"add_css","data":"\u003Clink rel=\u0022stylesheet\u0022 href=\u0022\/core\/assets\/vendor\/jquery.ui\/themes\/base\/core.css?0\u0022 media=\u0022all\u0022 \/\u003E\n\u003Clink rel=\u0022stylesheet\u0022 href=\u0022\/core\/assets\/vendor\/jquery.ui\/themes\/base\/resizable.css?0\u0022 media=\u0022all\u0022 \/\u003E\n\u003Clink rel=\u0022stylesheet\u0022 href=\u0022\/core\/modules\/views\/css\/views.module.css?0\u0022 media=\u0022all\u0022 \/\u003E\n\u003Clink rel=\u0022stylesheet\u0022 href=\u0022\/core\/assets\/vendor\/jquery.ui\/themes\/base\/theme.css?0\u0022 media=\u0022all\u0022 \/\u003E\n\u003Clink rel=\u0022stylesheet\u0022 href=\u0022\/profiles\/aegir\/modules\/operation\/css\/task_log.css?0\u0022 media=\u0022all\u0022 \/\u003E\n"},{"command":"insert","method":"append","selector":"body","data":"\u003Cscript src=\u0022\/core\/assets\/vendor\/domready\/ready.min.js?v=1.0.8\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery\/jquery.min.js?v=3.2.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/underscore\/underscore-min.js?v=1.8.3\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery-once\/jquery.once.min.js?v=2.2.0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/drupalSettingsLoader.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/drupal.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/drupal.init.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/data-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/disable-selection-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/form-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/labels-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/jquery-1-7-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/scroll-parent-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/tabbable-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/unique-id-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/version-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/focusable-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/ie-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/keycode-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/plugin-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/safe-active-element-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/safe-blur-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/widget-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/progress.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/misc\/progress.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/ajax.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/misc\/ajax.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/debounce.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/displace.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/drupal.bootstrap.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/attributes.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/theme.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/modal.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/widgets\/mouse-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/widgets\/draggable-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/position-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/assets\/vendor\/jquery.ui\/ui\/widgets\/resizable-min.js?v=1.12.1\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/modal.jquery.ui.bridge.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/dialog\/dialog.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/dialog\/dialog.position.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/core\/misc\/dialog\/dialog.ajax.js?v=8.5.4\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/themes\/bootstrap\/js\/misc\/dialog.ajax.js?0\u0022\u003E\u003C\/script\u003E\n\u003Cscript src=\u0022\/profiles\/aegir\/modules\/operation\/js\/task_log.js?v=1.x\u0022\u003E\u003C\/script\u003E\n","settings":null},{"command":"openDialog","selector":"#drupal-modal","settings":null,"data":"\u003Cdiv class=\u0022view view-task-log view-id-task_log view-display-id-task_log_modal\u0022\u003E\n \n \n \n \u003Cdiv class=\u0022view-content\u0022\u003E\n \u003Cdiv class=\u0022operation-status-failed views-row\u0022\u003E\u003Cdiv class=\u0022views-field views-field-task-log-output-value\u0022\u003E\u003Cspan class=\u0022field-content\u0022\u003E\u003Cpre class=\u0022task-log-row first-task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003ERunning command: \/usr\/local\/bin\/ansible-playbook --inventory localhost, --extra-vars @\/tmp\/tmprNxV1N.yml \/tmp\/tmpyD_Cx1.yml\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003EPLAY [localhost] ***************************************************************\n\nTASK [Gathering Facts] *********************************************************\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost]\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\nTASK [Display all variables for the playbook (passed from the front-end).] *****\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost] =\u0026gt; (item=None) =\u0026gt; {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;field_drupal_vhost_url\u0026quot;: \u0026quot;coolio.aegir.vm\u0026quot;\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost] =\u0026gt; (item=None) =\u0026gt; {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;field_drupal_vhost_url_aliases\u0026quot;: []\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost] =\u0026gt; (item=None) =\u0026gt; {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;aegir_uuids\u0026quot;: {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;aegir_site\u0026quot;: \u0026quot;3a1173aa-af54-4ce3-8ca0-bde7305e3893\u0026quot;, \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;operation\u0026quot;: \u0026quot;855e2a45-e3bf-4eef-a930-63bd859f2403\u0026quot;, \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;tasks\u0026quot;: null\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E }\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost] =\u0026gt; (item=None) =\u0026gt; {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;field_drupal7_install_profile\u0026quot;: \u0026quot;PLACEHOLDER\u0026quot;\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\nTASK [drupal7_select_target_platform : Ensure target platform exists] **********\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok: [localhost] =\u0026gt; {\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E \u0026quot;msg\u0026quot;: \u0026quot;TODO\u0026quot;\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003E}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\nTASK [drupal_create_database : Create database.] *******************************\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: green\u0022\u003Echanged: [localhost]\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003ETASK [drupal_create_database : Create database user.] **************************\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: green\u0022\u003Echanged: [localhost]\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\nTASK [drupal_create_vhost : Add Apache vhost configuration.] *******************\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: darkred\u0022\u003Efatal: [localhost]: FAILED! =\u0026gt; {\u0026quot;changed\u0026quot;: false, \u0026quot;msg\u0026quot;: \u0026quot;AnsibleUndefinedVariable: \u0026#039;field_platform_path\u0026#039; is undefined\u0026quot;}\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\u003C\/span\u003E\u003C\/pre\u003E\u003Cpre class=\u0022task-log-row last-task-log-row\u0022\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\nPLAY RECAP *********************************************************************\n\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: darkred\u0022\u003Elocalhost\u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E : \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: blue\u0022\u003Eok=5 \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: green\u0022\u003Echanged=2 \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E warnings=0 unreachable=0 \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: darkred\u0022\u003Efailed=1 \u003C\/span\u003E\u003Cspan style=\u0022background-color: black; color: white\u0022\u003E\n\n\u003C\/span\u003E\u003C\/pre\u003E\u003C\/span\u003E\u003C\/div\u003E\u003C\/div\u003E\n\n \u003C\/div\u003E\n \n \u003C\/div\u003E\n","dialogOptions":{"dialogClass":"modal-dialog-class","width":"80%","modal":true,"title":"Operation log"}}]
>https://gitlab.com/aegir/aegir/-/issues/18Install Site on non-deployed Platform error2023-10-12T15:37:50ZDerek LaventureInstall Site on non-deployed Platform errorOn a fresh platform where the entity has been created, but not deployed for some reason, it is possible to install a site on the entity, but it will fail to run the Install Site operation, throwing an error like this from Ansible:
```
A...On a fresh platform where the entity has been created, but not deployed for some reason, it is possible to install a site on the entity, but it will fail to run the Install Site operation, throwing an error like this from Ansible:
```
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 2] No such file or directory: '/var/aegir/platforms/drupal7-2'
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_lM7q0X/ansible_module_command.py\", line 248, in <module>\n main()\n File \"/tmp/ansible_lM7q0X/ansible_module_command.py\", line 192, in main\n os.chdir(chdir)\nOSError: [Errno 2] No such file or directory: '/var/aegir/platforms/drupal7-2'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
```