Unable to open Genieacs GUI after installing genieacs and its services as per documentation

I am creating a test TR server. I followed following document to do initial setups.

https://docs.genieacs.com/en/latest/installation-guide.html




I am installing it in Ubunutu 22.04. This is my netplan file:
root@TestTR069SRV:~# cat /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens160:
addresses:
- 192.168.21.90/24
ens192:
addresses:
- 172.16.xx.xx/29
routes:
- to: default
via: 172.16.xx.xx
nameservers:
addresses:
- 192.168.20.x
- 192.168.20.x
version: 2

Now i can ping gatway successfully from TR server.
oot@TestTR069SRV:~# ping 172.16.xx.xx
PING 172.16.xx.xx (172.16.xx.xx) 56(84) bytes of data.
64 bytes from 172.16.xx.xx: icmp_seq=1 ttl=255 time=0.139 ms

However, when i try to connect vi UI, i am not able to.
I am using http://192.168.21.90:3000.

However, i was able to access geniesacs ui when i had folllowing in netplan

network:
ethernets:
ens160:
addresses:
- 192.168.21.90/24
nameservers:
addresses:
- 192.168.20.x
- 192.168.20.x
search:
version: 2

  routes:
  - to: default
    via: 192.168.21.1

When it went using route 192.168.21.1, it opened Genieacs ui. But once i bring P2P IP in the configuration, and added it in netplan and applied as shown above. I am not able to access ui.

Please help. I can provide more details as needed to further address this issue.

Thanks

post

ss -natp |grep node

or netstat instead of ss if you are using a slackware-based linux distro

I am using Ubunutu 22.04 Jammy.
I tried ss -natp |grep node, i assume i put node IP where it says node.
image

nevermind the edit. run the command with sudo

not sure about ss but netstat does not work the same way as root than a normal user.

apologies, I missed that part. I have to guess genieacs is working but probably something is in the middle. Firewall may be?

I am able to access now. There was an issue with VLAN. P2P VLAN conflict had occured.
In adddition, TR server was bounced once. There was stale mongodb process. I had to restart the mongodb service and it worked as expected.

I am able to access genieacs-ui

1 Like

Since we will have multiple vender ONT in our setup. Currently we just have two for testing purpose, one is Huawei and another is PBT ONT.

At this point, i understand how to push mass update or specific ONT by specifying Serial Numbers.

Example:
const now = Date.now();
const serialNumber = declare(‘DeviceID.SerialNumber’, {value: 1}).value[0];

if (serialNumber === ‘485754430CD299A6’) {
declare(‘InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.Username’, {value: now}, {value: ‘0045537’});
declare(‘InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.Password’, {value: now}, {value: ‘0045537’});
declare(‘InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANPPPConnection.1.X_HW_VLAN’, {value: now}, {value: 30});
}

For instance, if i just want to roll out firmware updates or any updates on just PBT ONTs. Is there a way to bundle PBT ONTs only and push the updates. Or may be bundle with model number / software version or similar way to update and make config changes on ONT( specific model number within same vender ONT )

Lets say, i want to bundle just ONT with model number EG8141A5

I hope i am making sense. Any help will be greatly appreciated. Let me know if i need to open another thread for this.

Regards,

going offtopic here. If I want to push a parameter/whatever to a specific CPE, all I have to do is to set the appropriate tags to a CPE and then force a connection request of said CPE.

(I use tags in a different way as others, to signal when a CPE needs something particular, and it’s removed when the job is done)

on the other hand, if I had to do a “mass update”, since I don´t have PERIODIC_INFORM enabled, what I would do is to rely on a bash script to do the trick:

#!/bin/bash

lista=$(curl -s 'http://the.acs.com:7557/devices/?projection=_id'  -X GET )

nada="[

]"

[[ "$lista" == "$nada" ]] && exit 0


logger CONNREQ start

lista2=$(echo $lista| python -m json.tool |egrep "_id" |egrep -o '(":\s)(.*)' |egrep -o '\s(.*)' | egrep -o '[^" ]*')

while IFS= read -r devid
do
    curl -s 'http://the.acs.com:7557/devices/'$devid'/tasks?connection_request' -X POST 
    sleep 2

done < <(echo "$lista2")

logger CONNREQ end

the sleep 2 is to avoid faults on ACS side due to concurrent queries. adjust as necesary. YMMV. also sorry about the spannish mix.

Thanks @rudymartin

I am stilll little confused and not sure if that bash script answers my question regarding bundle update based on specific model . Would you be able to provide me an example to push PP0E username (0045537), PPPoE password (0045537) ( same as username for now), X_HW_VLAN ( 30) , for CPE with model numbers EG8141A5.

Note: assume there are 100s of CPE with given model number.

Thanks again.

don’t handle that via ACS. Use OLT profile for each CPE. We have exactly the same model and that’s how we do things.