← Back to team overview

sts-sponsors team mailing list archive

Re: [Merge] ~cgrabowski/maas-ci/+git/system-tests:ha_postgres_system_tests into ~maas-committers/maas-ci/+git/system-tests:master

 


Diff comments:

> diff --git a/setup.py b/setup.py
> index 21d75cd..3143a0a 100644
> --- a/setup.py
> +++ b/setup.py
> @@ -8,6 +9,7 @@ install_requires = (
>      'pytest-steps',
>      'pyyaml',
>      'retry',
> +    'requests',

+1

>      'ruamel.yaml',
>  )
>  
> diff --git a/systemtests/ansible.py b/systemtests/ansible.py
> index 7c671c8..b8be06d 100644
> --- a/systemtests/ansible.py
> +++ b/systemtests/ansible.py
> @@ -262,15 +279,34 @@ class AnsibleHost:
>          self._remove_role("maas_rack_controller")
>          self._remove_role("maas_region_controller")
>  
> -    def remove_postgres_primary(self) -> None:
> -        self._remove_role("maas_postgres_primaryr")
> +    def remove_corosync(self) -> None:
> +        self._remove_role("maas_corosync")
>  
> -    def remove_postgres_secondary(self) -> None:
> -        self._remove_role("maas_postgres_secondary")
> +    def remove_pacemaker(self) -> None:
> +        self._remove_role("maas_pacemaker")
> +
> +    def remove_postgres(self) -> None:
> +        self._remove_role("maas_postgres")
> +
> +    def remove_postgres_proxy(self) -> None:
> +        self._remove_role("maas_postgres_proxy")
>  
>      def remove_proxy(self) -> None:
>          self._remove_role("maas_proxy")
>  
> +    def check_postgres_status(self) -> int:
> +        if not (self.has_postgres and self.has_pacemaker and self.has_corosync):
> +            return False
> +        resp = requests.get(f"http://{ self.ip }:23267")
> +        # assert response status is a valid response
> +        assert resp.status_code == 200 or resp.status_code == 204

+1

> +        return resp.status_code
> +
> +    @property
> +    def is_postgres_primary(self) -> bool:
> +        # 204 is the status returned by the primary
> +        return self.check_postgres_status() == 204
> +
>  
>  class AnsibleMain:
>      use_timeout = True
> @@ -497,12 +537,11 @@ class AnsibleMain:
>              inv.append(f"[{role}]")
>              inv.extend([host.host_setup(self.config, role) for host in hosts])
>              inv.append("")
> -        if [True for key in inventory.keys() if "postgres" in key]:
> +        if [True for key in inventory.keys() if "corosync" in key]:

+1

>              inv.extend(
>                  [
> -                    "[maas_postgres:children]",
> -                    "maas_postgres_primary",
> -                    "maas_postgres_secondary",
> +                    "[maas_pacemaker:children]",
> +                    "maas_corosync",
>                      "",
>                  ]
>              )


-- 
https://code.launchpad.net/~cgrabowski/maas-ci/+git/system-tests/+merge/438502
Your team MAAS Committers is subscribed to branch ~maas-committers/maas-ci/+git/system-tests:master.



References