Skip to content

Conversation

@jhughesoti
Copy link
Contributor

  • Add a host network module with a gRPC client allowing access to host networking options
  • Enable access to host network gRPC from test containers
  • Implement connection.dhcp.disconnect test

@jhughesoti jhughesoti requested a review from jboddey July 22, 2024 21:55
@jhughesoti jhughesoti requested a review from jboddey July 23, 2024 15:46
jboddey and others added 16 commits July 25, 2024 17:43
Signed-off-by: J Boddey <boddey@google.com>
* Use mqtt service instead of calling GET /status every 5 seconds.

* Adds tooltip (#638)

Adds tooltip

* Fix focus after profile delete - track by name (#640)

Fix focus after profile delete - track by name

* Update the requests dependency (#643)

* Update requests dependency

* Update requests dependency

* Update dependency in TLS test

* Update docker dependency

---------

Signed-off-by: J Boddey <boddey@google.com>

* remove unused output

* encode mqtt message to json

* Revert "Expired profile (#619)" (#645)

Prevent opening of Expired risk profile

* Improve documentation (#639)

* Improve docs

* Remove paragraph

* Text changes

* Fix text for the BE error

* Change tooltip (#650)

* Change tooltip

* Allows draft profiles to become expired (#636)

* Allow draft profiles to expire

* Move status method into risk profile class

* Use existing method

* Check for expiry in validate method

* Remove unused variable

* Build UI during package instead of install (#621)

* Build UI during package

* Fix local build

* Install npm

* Remove duplicate build message

* Fix ESLint

* Fix script

* Modify scripts

* Improve scripts

* Fix copy command

* Try installing package

* Depend on package job

* Add sudo

* Add sudo

* Troubleshoot

* Fix workflow

* Checkout source for prepare command

* Built ui within a container

* Mount src files for build instead of static copy in build image

* Attempt to fix actions

* Remove manual build container cleanup methods

* undo failed attempts to fix actions

* Fix path

* Remove -it flag

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* Show risk for each question in the Risk profile (#647)

* Show risk for each question in the Risk profile

* set top position to 0

---------

Co-authored-by: J Boddey <boddey@google.com>

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* pylint

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
@jboddey
Copy link
Contributor

jboddey commented Aug 5, 2024

Tested and working on a regular Ubuntu laptop. Just want to try it on gLinux again. Only small issue I see is when the disconnect test occurs, an error from scapy/tcpdump is shown because the interface is no longer available. Would it be possible to pause the packet capture for this test?

@jhughesoti
Copy link
Contributor Author

Only small issue I see is when the disconnect test occurs, an error from scapy/tcpdump is shown because the interface is no longer available. Would it be possible to pause the packet capture for this test?

Are you referring to this?

WARNING: Socket <scapy.arch.linux.L2ListenSocket object at 0x7fabca1baaf0> failed with '[Errno 100] Network is down'. It was closed.

Seems this is only a warning and I checked all network captures after this log event and they all appear to continue as expected. I think it's just an indication that the physical connection is down but the capture is still active. Stopping and restarting captures during this shouldn't be necessary since it appears to continue on without interruption as expected.

jboddey and others added 8 commits August 6, 2024 21:53
* Allow ICMP response to DHCP messages

* Bug/unit test runtime (#655)

* Change base test module startup to allow setup script to run independent of module startup process
Update connection_module to allow for unit testing
Update unit test run script to use new process

* enable all unit tests
update google cert

* Remove binary fix lines from docker files
pylint updates

* pylint updates

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
…ing based on a new format (#664)

* Fill only fields that are present in profile
…d on Enter key (#662)

* Change Expired profile title on Enter; announce Expired profile title on Enter
* Test install on multiple versions

* Update step names
Signed-off-by: J Boddey <boddey@google.com>
@jboddey jboddey changed the base branch from dev to release/v1.4.1 August 14, 2024 08:45
@jboddey jboddey merged commit c919f02 into release/v1.4.1 Aug 15, 2024
@jboddey jboddey deleted the feature/dhcp_disconnect branch August 15, 2024 11:43
jboddey added a commit that referenced this pull request Aug 15, 2024
* Update NTP report (#666)

* Update NTP report

* cleanup imports

* pylint  updates

* Add not started and disabled as test statuses

* Fix disabled test

* Check if profiles format has loaded (#665)

* Feature/dhcp disconnect (#626)

* Initial work on giving host access to test containers

* Change external ip resolving method to use docker0

* Resolve device interface for test containers

* Add gRPC methods to control the interface state
Implement dhcp disconnect test

* Fix host network module option

* Misc cleanup

* Move ip resolving method to IPControl class

* pylint fixes

* refactor func to handle case when network interface not exists

* set test result "Error"

* check device connected

* thread for monitoring device connection

* Minor changes

* check the device connection only before each test

* send testrun status using mqtt

* remove duplicatied line

* refactor setting remaining tests to error

* Pylint fixes

* pylint

* Use mqtt service instead of calling GET /status every 5 seconds. (#644)

* Use mqtt service instead of calling GET /status every 5 seconds.

* Adds tooltip (#638)

Adds tooltip

* Fix focus after profile delete - track by name (#640)

Fix focus after profile delete - track by name

* Update the requests dependency (#643)

* Update requests dependency

* Update requests dependency

* Update dependency in TLS test

* Update docker dependency

---------

Signed-off-by: J Boddey <boddey@google.com>

* remove unused output

* encode mqtt message to json

* Revert "Expired profile (#619)" (#645)

Prevent opening of Expired risk profile

* Improve documentation (#639)

* Improve docs

* Remove paragraph

* Text changes

* Fix text for the BE error

* Change tooltip (#650)

* Change tooltip

* Allows draft profiles to become expired (#636)

* Allow draft profiles to expire

* Move status method into risk profile class

* Use existing method

* Check for expiry in validate method

* Remove unused variable

* Build UI during package instead of install (#621)

* Build UI during package

* Fix local build

* Install npm

* Remove duplicate build message

* Fix ESLint

* Fix script

* Modify scripts

* Improve scripts

* Fix copy command

* Try installing package

* Depend on package job

* Add sudo

* Add sudo

* Troubleshoot

* Fix workflow

* Checkout source for prepare command

* Built ui within a container

* Mount src files for build instead of static copy in build image

* Attempt to fix actions

* Remove manual build container cleanup methods

* undo failed attempts to fix actions

* Fix path

* Remove -it flag

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* Show risk for each question in the Risk profile (#647)

* Show risk for each question in the Risk profile

* set top position to 0

---------

Co-authored-by: J Boddey <boddey@google.com>

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* pylint

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Allow ICMP response to DHCP messages in DHCP snooping test (#608)

* Allow ICMP response to DHCP messages

* Bug/unit test runtime (#655)

* Change base test module startup to allow setup script to run independent of module startup process
Update connection_module to allow for unit testing
Update unit test run script to use new process

* enable all unit tests
update google cert

* Remove binary fix lines from docker files
pylint updates

* pylint updates

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* The risk profile saved with old format is shown improperly  while loading based on a new format (#664)

* Fill only fields that are present in profile

* GAR : The alt text for the expired risk profile should be communicated on Enter key (#662)

* Change Expired profile title on Enter; announce Expired profile title on Enter

* Update wording of tls cipher results (#671)

* Show error message if provided; show default message if no (#680)

* Test install on supported operating systems (#675)

* Test install on multiple versions

* Update step names

* Do not give Non-Compliant if error given

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

* Fix host module docker name

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
jboddey added a commit that referenced this pull request Aug 19, 2024
* Remove duplicate common code

* Update NTP report (#666)

* Update NTP report

* cleanup imports

* pylint  updates

* Add not started and disabled as test statuses

* Fix disabled test

* Check if profiles format has loaded (#665)

* Feature/dhcp disconnect (#626)

* Initial work on giving host access to test containers

* Change external ip resolving method to use docker0

* Resolve device interface for test containers

* Add gRPC methods to control the interface state
Implement dhcp disconnect test

* Fix host network module option

* Misc cleanup

* Move ip resolving method to IPControl class

* pylint fixes

* refactor func to handle case when network interface not exists

* set test result "Error"

* check device connected

* thread for monitoring device connection

* Minor changes

* check the device connection only before each test

* send testrun status using mqtt

* remove duplicatied line

* refactor setting remaining tests to error

* Pylint fixes

* pylint

* Use mqtt service instead of calling GET /status every 5 seconds. (#644)

* Use mqtt service instead of calling GET /status every 5 seconds.

* Adds tooltip (#638)

Adds tooltip

* Fix focus after profile delete - track by name (#640)

Fix focus after profile delete - track by name

* Update the requests dependency (#643)

* Update requests dependency

* Update requests dependency

* Update dependency in TLS test

* Update docker dependency

---------

Signed-off-by: J Boddey <boddey@google.com>

* remove unused output

* encode mqtt message to json

* Revert "Expired profile (#619)" (#645)

Prevent opening of Expired risk profile

* Improve documentation (#639)

* Improve docs

* Remove paragraph

* Text changes

* Fix text for the BE error

* Change tooltip (#650)

* Change tooltip

* Allows draft profiles to become expired (#636)

* Allow draft profiles to expire

* Move status method into risk profile class

* Use existing method

* Check for expiry in validate method

* Remove unused variable

* Build UI during package instead of install (#621)

* Build UI during package

* Fix local build

* Install npm

* Remove duplicate build message

* Fix ESLint

* Fix script

* Modify scripts

* Improve scripts

* Fix copy command

* Try installing package

* Depend on package job

* Add sudo

* Add sudo

* Troubleshoot

* Fix workflow

* Checkout source for prepare command

* Built ui within a container

* Mount src files for build instead of static copy in build image

* Attempt to fix actions

* Remove manual build container cleanup methods

* undo failed attempts to fix actions

* Fix path

* Remove -it flag

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: kurilova <sonnycactus@gmail.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Feature/risk in selected (#654)

* Adds risk to selected value

* Adds risk to selected value

---------

Co-authored-by: J Boddey <boddey@google.com>

* Show risk for each question in the Risk profile (#647)

* Show risk for each question in the Risk profile

* set top position to 0

---------

Co-authored-by: J Boddey <boddey@google.com>

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* Use mqtt service instead of calling GET /status every 5 seconds.

* pylint

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* Allow ICMP response to DHCP messages in DHCP snooping test (#608)

* Allow ICMP response to DHCP messages

* Bug/unit test runtime (#655)

* Change base test module startup to allow setup script to run independent of module startup process
Update connection_module to allow for unit testing
Update unit test run script to use new process

* enable all unit tests
update google cert

* Remove binary fix lines from docker files
pylint updates

* pylint updates

---------

Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>

* The risk profile saved with old format is shown improperly  while loading based on a new format (#664)

* Fill only fields that are present in profile

* GAR : The alt text for the expired risk profile should be communicated on Enter key (#662)

* Change Expired profile title on Enter; announce Expired profile title on Enter

* Update wording of tls cipher results (#671)

* Show error message if provided; show default message if no (#680)

* Test install on supported operating systems (#675)

* Test install on multiple versions

* Update step names

* Do not give Non-Compliant if error given

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: J Boddey <boddey@google.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>

---------

Signed-off-by: J Boddey <boddey@google.com>
Co-authored-by: jhughesbiot <jonathan.hughes@buildingsiot.com>
Co-authored-by: Aliaksandr Nikitsin <aliaksandrn@google.com>
Co-authored-by: Sofia Kurilova <kurilova@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants