Smart action disappeared - not listing anywhere

Feature(s) impacted

I have a smart action set for all active environments on our FA instances. All of a sudden, smart action disappeared in our development environment. By saying development environment, it’s the name only, but the environment is set as type remote :slight_smile:

A few days ago the option was listed on the role permissions and also on the collection smart action list. But now it was swallowed by a dark hole :slight_smile: We have a feature being blocked by this, can you help me to understand the places that I need to check, please? No warnings or errors on the server.

The schema file is updated and matching in all the other remote environments we have, and the smart action is not available only in one of them.

Environment ID: 71755
Smart action name: SamlConfiguration

Observed behavior

Smart action is not listed, despite being present on schema and code

Expected behavior

See the smart action on the role permissions and on the collection smart actions list

Context

  • Project name: TymeshiftFA
  • Environment name: DEVELOPMENT
  • Recent changes made on your end if any: updated to FA latest version

I can see that many of your environments have migrated to agent version 8.5.8 (and contain the SamlConfiguration smart action), but not all.

The last schema we received for your DEVELOPMENT environment is still in version 7.8.0 without the SamlConfiguration smart action.

Can you double check that

  • The agent was restarted (the schema is sent when the agent starts)
  • The .forestadmin-schema.json file is up to date on that environment

Hey @romaing :wave:

This is weird because a few weeks ago we had this working as expected. The .forestadmin-schema.json is the same in all environments. We checked with our DevOps team and the smart action definition is present.

/app $ cat .forestadmin-schema.json | grep SamlConfiguration
      "field": "SamlConfigurationCertificate",
      "field": "SamlConfigurationEntryPoint",
      "field": "SamlConfigurationIssuer",
      "field": "SamlConfigurationLastChanged",
      "name": "SamlConfiguration",
      "endpoint": "/forest/actions/addSamlConfiguration",

We have restarted our PODs, which in theory would send any schema change for you, right? We are kind of blind now and one of our teams is seriously blocked by this.

We also tried to log in on the POD and run the schema:update from there, but we are getting the error: × The configuration file "../config/databases.js" does not exist., which is ok because we do not have this file. Our database setting and mapping are done in a different file. When running the command passing -c path_to_file, we end up with a Cannot find module error.

Is there a way to check the schema version via a command on our side?
Any other tip we can do on our end?

UPDATE: just got a DM from a developer that another smart action is missing on this environment, while present in other environments: AccountV2UpdateCache. :exploding_head:

I checked our logs and we’re not getting any call on the schema endpoint on our end for this environment…

Can you try the following command on your end to force a manual update?
(this needs to be executed in your project’s folder)

forest schema:apply --secret ENV_SECRET_OF_THE_ENVIRONMENT

To fix the issue properly however, a further investigation will be needed.
Are you getting this logs when your agent starts?
image

What does the next log line says?

Hey @romaing ,

thanks for the reply. The command was successfully executed.

Can you check if you got something on your side, please?
Meanwhile, I will check what is the next line with our DevOps team

Executing this command solved the issue, and we can see all missing options available now. Thanks a lot :heart:

1 Like

@Raphael_Neves :wave:

Nice to know it solved your issue :tada:

Even though this works, it should really only be used in such cases though. The “classic” development workflow should handle this case normally, and as we weren’t able to locate any issue with your project, that’s why it was suggested to you.

If this were to happen again, don’t hesitate to contact us prior to running this command, just in case we are able to spot any issue associated :slight_smile:

Thanks

1 Like

Hey @jeffladiray , by the classic development workflow I am assuming the new branch strategies, right?
If yes, we still need to migrate our account to use the new flow.

The team responsible to maintain our Forest instance is aware now of the procedure to take, and hopefully, soon we will migrate to the new development flow.

Hey @Raphael_Neves :wave:

I’m not speaking about the new branch strategies specifically :slight_smile: However, if you want to migrate to this new flow, feel free to reach us out by email :).

What I mean is that for both the new development workflow & the previous one, the .forestadmin-schema.json should always be posted when your production server restarts.
In your case, it seems like this was the issue (The .forestadmin-schema.json not being posted).

To be as clear as possible, your forest admin agent is supposed to be read and post the .forestadmin-schema.json of the production server as long as NODE_ENV=production, and FOREST_DISABLE_AUTO_SCHEMA_APPLY is not defined
In development, your .forestadmin-schema.json is always regenerated and sent to our server.

Let me know if that helps.