Difference between revisions of "Automation Analytics"

From tannerjc wiki
Jump to: navigation, search
(fullstack dev setup)
(FAQ)
Line 177: Line 177:
 
524200
 
524200
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
=== What should I do if the UI spins on a white page and never proceeds? ===
 +
 +
Check the network tab in chrome dev utils and look for any red entries. Double click on those and accept the certs.
  
 
== troubleshooting ==
 
== troubleshooting ==

Revision as of 13:15, 29 June 2020


frontend dev setup

use nvm to install and use node 10.15
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
source ~/.bashrc
nvm install 10.15
nvm use 10.15
clone the various repos
mkdir -p ~/workspace/github/RedHatInsights
git clone https://github.com/RedHatInsights/tower-analytics-frontend ~/workspace/github/RedHatInsights/tower-analytics-frontend
git clone https://github.com/RedHatInsights/insights-proxy ~/workspace/github/RedHatInsights/insights-proxy
fix the frontend spandx config
diff --git a/config/spandx.config.js b/config/spandx.config.js
index c40e554..611bc40 100644
--- a/config/spandx.config.js
+++ b/config/spandx.config.js
@@ -9,6 +9,5 @@ module.exports = {
         '/apps/automation-analytics': { host: `https://${localhost}:8002` },
         '/ansible/automation-analytics': { host: `https://${localhost}:8002` },
         '/beta/ansible/automation-analytics': { host: `https://${localhost}:8002` },
-        '/beta/config': { host: `http://${localhost}:8889` }
     }
 };
set the hosts file
cd ~/workspace/github/RedHatInsights/insights-proxy
sudo ./scripts/patch-etc-hosts.sh


start the proxy [requires docker or podman-docker]
cd ~/workspace/github/RedHatInsights/insights-proxy
SPANDX_CONFIG=~/workspace/github/RedHatInsights/tower-analytics-frontend/config/spandx.config.js ./scripts/run.sh


install the npm packages
cd ~/workspace/github/RedHatInsights/tower-analytics-frontend
npm install
DEBUG='express:*' npm start


open the "prod" url

https://prod.foo.redhat.com:1337/beta/ansible/automation-analytics/clusters

fullstack dev setup

The backend stack is in a private repo https://github.com/RedHatInsights/tower-analytics-backend

The stack is heavily reliant on docker-compose to spin up and podman-compose will fail if used.

fix the spandx config
[jtanner@corsair tower-analytics-frontend]$ git diff config/local-api.spandx.config.js
diff --git a/config/local-api.spandx.config.js b/config/local-api.spandx.config.js
index 0645a59..4529b37 100644
--- a/config/local-api.spandx.config.js
+++ b/config/local-api.spandx.config.js
@@ -11,7 +11,6 @@ module.exports = {
         '/apps/automation-analytics': { host: `https://${localhost}:8002` },
         '/ansible/automation-analytics': { host: `https://${localhost}:8002` },
         '/beta/ansible/automation-analytics': { host: `https://${localhost}:8002` },
-        '/beta/config': { host: `http://${localhost}:8889` },
         '/api/tower-analytics': { host: `http://${localhost}:8000` }
     }
 };
run the insights proxy
cd ~/workspace/github/RedHatInsights/insights-proxy
SPANDX_CONFIG=~/workspace/github/RedHatInsights/tower-analytics-frontend/config/local-api.spandx.config.js ./scripts/run.sh
run the backend
cd ~/workspace/github/RedHatInsights/tower-analytics-backend
docker-compose -f local_ui_dev.yml kill
docker-compose -f local_ui_dev.yml down
docker image prune -a
sudo rm -rf integration_test/__pycache__
docker-compose -f local_ui_dev.yml up
migrate the database and make some fake data
cd ~/workspace/github/RedHatInsights/tower-analytics-backend
make init
run the frontend
nvm use 10.15
cd ~/workspace/github/RedHatInsights/tower-analytics-frontend
npm install
DEBUG='express:*' npm start


open the urls ...

FAQ

How do I enable calls to the browser console in the frontend code?

eslint disabes console.log entries in the code, and needs configuration to allow it ...

diff --git a/.eslintrc.yml b/.eslintrc.yml
index c5d7d33..61835e5 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -72,6 +72,7 @@ rules:
   new-cap: 2
   no-bitwise: 2
   no-caller: 2
+  no-console: "off"
   no-mixed-spaces-and-tabs: 2
   no-multiple-empty-lines:
     - error
Another option is to add
/*eslint-disable */
at the top of the individual files.


How can I connect to the local backend postgres?

docker-compose -f local.yml exec postgres /bin/sh
su - postgres	
psql

How can I see what active queries are running in postgres?

SELECT * FROM pg_stat_activity WHERE state = 'active';

How do I kill a query in postgres?

SELECT pg_terminate_backend(<pid>);


How do I run a single frontend test file?

node_modules/jest/bin/jest.js --coverage=false src/Charts/PieChart.test.js


How do I fix inotify for vscode?

[jtanner@jtx1 tower-analytics-frontend]$ cat /etc/sysctl.d/01-watches.conf 
fs.inotify.max_user_watches = 524200
[jtanner@jtx1 tower-analytics-frontend]$ sudo systemctl restart systemd-sysctl.service
[jtanner@jtx1 tower-analytics-frontend]$ cat /proc/sys/fs/inotify/max_user_watches
524200

What should I do if the UI spins on a white page and never proceeds?

Check the network tab in chrome dev utils and look for any red entries. Double click on those and accept the certs.

troubleshooting

podman permission or OCI errors ...
sudo rm -rf  ~/.local/share/containers/