clone instead of fetch #19

Merged
realaravinth merged 1 commits from dachary/dashboard:wip-pull into master 2022-07-07 08:42:46 +00:00
1 changed files with 9 additions and 11 deletions

View File

@ -116,10 +116,13 @@ class Infra:
ssh_cmd = f"/usr/bin/ssh -oStrictHostKeyChecking=no -i {conf['SSH_KEY']}" ssh_cmd = f"/usr/bin/ssh -oStrictHostKeyChecking=no -i {conf['SSH_KEY']}"
self.env = {"GIT_SSH_COMMAND": ssh_cmd} self.env = {"GIT_SSH_COMMAND": ssh_cmd}
try: self._clone()
self.repo = Repo(path=self.repo_path)
except InvalidGitRepositoryError: def _clone(self):
self.repo = Repo.clone_from(conf["REMOTE"], self.repo_path, env=self.env) conf = settings.HOSTEA["INFRA"]["HOSTEA_REPO"]
if os.path.exists(self.repo_path):
shutil.rmtree(self.repo_path)
self.repo = Repo.clone_from(conf["REMOTE"], self.repo_path, env=self.env)
def _host_vars_dir(self, subdomain: str) -> Path: def _host_vars_dir(self, subdomain: str) -> Path:
""" """
@ -227,11 +230,6 @@ class Infra:
author="Dashboard Bot <bot@dashboard.hostea.org>", author="Dashboard Bot <bot@dashboard.hostea.org>",
) )
def _pull(self):
self.repo.git.fetch(env=self.env)
# TODO: switch to using Git cmd
@staticmethod @staticmethod
def translate_size(instance: Instance) -> str: def translate_size(instance: Instance) -> str:
""" """
@ -252,7 +250,7 @@ class Infra:
The gitea user password is returned The gitea user password is returned
""" """
self._pull() self._clone()
subdomain = instance.name subdomain = instance.name
host_vars_dir = self._host_vars_dir(subdomain) host_vars_dir = self._host_vars_dir(subdomain)
@ -331,7 +329,7 @@ class Infra:
""" """
Remove a VM from infrastructure repository Remove a VM from infrastructure repository
""" """
self._pull() self._clone()
subdomain = instance.name subdomain = instance.name
try: try: