Don't hardcode service counts to check health
In [core-network.py](docker-compose/core-network.py#L322) , the `deploy()` function takes a `count` argument giving the expected number of running services in "good health" condition: ```python deploy(BASIC_W_NRF, 9) ``` This hand-coding of the count is error-prone, hard to maintain, and not friendly to user customization (e.g `--type start-custom MYFILE.yaml`). Instead, it is possible to inspect the yaml file (with the python yaml module) to extract the (static) list of services it is supposed to launch, and then compare it with what's actually running: ```python import yaml with open('docker-compose-basic-nrf.yaml') as f: data = yaml.load(f, Loader=yaml.FullLoader) print(data['services'].keys()) => dict_keys(['mysql', 'oai-udr', 'oai-udm', 'oai-ausf', 'oai-nrf', 'oai-amf', 'oai-smf', 'oai-spgwu', 'oai-ext-dn']) ``` ```bash $ docker-compose -f docker-compose-basic-nrf.yaml ps -a | fgrep '(healthy)' mysql "docker-entrypoint.s…" mysql running (healthy) 3306/tcp, 33060/tcp oai-amf "/bin/bash /openair-…" oai-amf running (healthy) 80/tcp, 9090/tcp, 38412/sctp oai-ausf "/bin/bash /openair-…" oai-ausf running (healthy) 80/tcp oai-ext-dn "/bin/bash -c ' ip r…" oai-ext-dn running (healthy) oai-nrf "/bin/bash /openair-…" oai-nrf running (healthy) 80/tcp, 9090/tcp oai-smf "/bin/bash /openair-…" oai-smf running (healthy) 80/tcp, 8080/tcp, 8805/udp oai-spgwu "/bin/bash /openair-…" oai-spgwu running (healthy) 2152/udp, 8805/udp oai-udm "/bin/bash /openair-…" oai-udm running (healthy) 80/tcp oai-udr "/bin/bash /openair-…" oai-udr running (healthy) 80/tcp ```
issue