sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #04398
Re: [Merge] ~seyeongkim/maas:multiple_lan_conf_channel into maas:master
Review: Needs Fixing
Inline nit, looks good elsewise
Diff comments:
> diff --git a/src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py b/src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py
> index 4964f08..cb721cb 100755
> --- a/src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py
> +++ b/src/metadataserver/builtin_scripts/commissioning_scripts/bmc_config.py
> @@ -226,7 +226,7 @@ class IPMIBase(BMCConfig):
> def _bmc_get_config(self, section=None):
> """Fetch and cache all BMC settings."""
> print("INFO: Reading current IPMI BMC values...")
> - cmd = ["bmc-config", "--checkout"]
> + cmd = ["bmc-config", "--checkout --verbose"]
strictly speaking this should be `cmd = ["bmc-config", "--checkout", "--verbose"]`
> if section:
> cmd += ["-S", section]
> try:
> diff --git a/src/metadataserver/builtin_scripts/commissioning_scripts/tests/test_bmc_config.py b/src/metadataserver/builtin_scripts/commissioning_scripts/tests/test_bmc_config.py
> index 1fced30..2b29a9d 100644
> --- a/src/metadataserver/builtin_scripts/commissioning_scripts/tests/test_bmc_config.py
> +++ b/src/metadataserver/builtin_scripts/commissioning_scripts/tests/test_bmc_config.py
> @@ -490,72 +490,83 @@ EndSection
> self.assertRaises(SystemExit, self.ipmi.add_bmc_user)
>
> def test_set_ipmi_lan_channel_setting_verifies(self):
> - self.ipmi._bmc_config = {
> - "Lan_Channel": {
> - "Volatile_Access_Mode": "Always_Available",
> - "Non_Volatile_Access_Mode": "Always_Available",
> +
> + for channel in [
> + "Lan_Channel",
> + "Lan_Channel_Channel_1",
> + "Lan_Channel_Channel_2",
> + "Lan_Channel_Channel_3",
> + ]:
> + self.ipmi._bmc_config = {
> + channel: {
> + "Volatile_Access_Mode": "Always_Available",
> + "Non_Volatile_Access_Mode": "Always_Available",
> + },
> }
> - }
> - mock_bmc_set = self.patch(self.ipmi, "_bmc_set")
> - mock_bmc_set_keys = self.patch(self.ipmi, "_bmc_set_keys")
> - self.ipmi._config_ipmi_lan_channel_settings()
> - self.assertThat(mock_bmc_set, MockNotCalled())
> - self.assertThat(
> - mock_bmc_set_keys,
> - MockCalledOnceWith(
> - "Lan_Channel",
> - [
> - f"{auth_type}_{volatility}"
> - for auth_type in [
> - "Enable_User_Level_Auth",
> - "Enable_Per_Message_Auth",
> - "Enable_Pef_Alerting",
> - ]
> - for volatility in ["Volatile", "Non_Volatile"]
> - ],
> - "Yes",
> - ),
> - )
> + mock_bmc_set = self.patch(self.ipmi, "_bmc_set")
> + mock_bmc_set_keys = self.patch(self.ipmi, "_bmc_set_keys")
> + self.ipmi._config_ipmi_lan_channel_settings()
> + self.assertThat(mock_bmc_set, MockNotCalled())
We're trying to move away from testtools, could you replace this with tests using just the unittests library of assertions?
> + self.assertThat(
same with this
> + mock_bmc_set_keys,
> + MockCalledOnceWith(
> + channel,
> + [
> + f"{auth_type}_{volatility}"
> + for auth_type in [
> + "Enable_User_Level_Auth",
> + "Enable_Per_Message_Auth",
> + "Enable_Pef_Alerting",
> + ]
> + for volatility in ["Volatile", "Non_Volatile"]
> + ],
> + "Yes",
> + ),
> + )
>
> def test_set_ipmi_lan_channel_setting_enables(self):
> - self.ipmi._bmc_config = {
> - "Lan_Channel": {
> - "Volatile_Access_Mode": "Disabled",
> - "Non_Volatile_Access_Mode": "Pre_Boot_only",
> + for channel in [
> + "Lan_Channel",
> + "Lan_Channel_Channel_1",
> + "Lan_Channel_Channel_2",
> + "Lan_Channel_Channel_3",
> + ]:
> + self.ipmi._bmc_config = {
> + channel: {
> + "Volatile_Access_Mode": "Disabled",
> + "Non_Volatile_Access_Mode": "Pre_Boot_only",
> + },
> }
> - }
> - mock_bmc_set = self.patch(self.ipmi, "_bmc_set")
> - mock_bmc_set_keys = self.patch(self.ipmi, "_bmc_set_keys")
> - self.ipmi._config_ipmi_lan_channel_settings()
> - self.assertThat(
> - mock_bmc_set,
> - MockCallsMatch(
> - call(
> - "Lan_Channel", "Volatile_Access_Mode", "Always_Available"
> + mock_bmc_set = self.patch(self.ipmi, "_bmc_set")
> + mock_bmc_set_keys = self.patch(self.ipmi, "_bmc_set_keys")
> + self.ipmi._config_ipmi_lan_channel_settings()
> + self.assertThat(
and here
> + mock_bmc_set,
> + MockCallsMatch(
> + call(channel, "Volatile_Access_Mode", "Always_Available"),
> + call(
> + channel,
> + "Non_Volatile_Access_Mode",
> + "Always_Available",
> + ),
> ),
> - call(
> - "Lan_Channel",
> - "Non_Volatile_Access_Mode",
> - "Always_Available",
> + )
> + self.assertThat(
assertion here
> + mock_bmc_set_keys,
> + MockCalledOnceWith(
> + channel,
> + [
> + f"{auth_type}_{volatility}"
> + for auth_type in [
> + "Enable_User_Level_Auth",
> + "Enable_Per_Message_Auth",
> + "Enable_Pef_Alerting",
> + ]
> + for volatility in ["Volatile", "Non_Volatile"]
> + ],
> + "Yes",
> ),
> - ),
> - )
> - self.assertThat(
> - mock_bmc_set_keys,
> - MockCalledOnceWith(
> - "Lan_Channel",
> - [
> - f"{auth_type}_{volatility}"
> - for auth_type in [
> - "Enable_User_Level_Auth",
> - "Enable_Per_Message_Auth",
> - "Enable_Pef_Alerting",
> - ]
> - for volatility in ["Volatile", "Non_Volatile"]
> - ],
> - "Yes",
> - ),
> - )
> + )
>
> def test_config_lan_conf_auth(self):
> self.ipmi._bmc_config = {"Lan_Channel_Auth": {}}
--
https://code.launchpad.net/~seyeongkim/maas/+git/maas/+merge/434404
Your team MAAS Committers is subscribed to branch maas:master.
References