Skip to content

Commit 0962b88

Browse files
author
Daniel Hilst
committed
Removing Runner from Cluster
1 parent 892ae6a commit 0962b88

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+213
-248
lines changed

include/cloysterhpc/cluster.h

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
* environment, including headnode, nodes, networks, provisioner, timezone,
3636
* locale, and more.
3737
*/
38-
template <typename Runner>
3938
class Cluster {
4039
public:
4140
/**
@@ -57,10 +56,11 @@ class Cluster {
5756
Headnode m_headnode;
5857
Provisioner m_provisioner { Provisioner::xCAT };
5958
std::optional<OFED> m_ofed;
60-
std::optional<std::unique_ptr<QueueSystem<Runner>>> m_queueSystem {};
59+
std::optional<std::unique_ptr<QueueSystem>> m_queueSystem {};
6160
std::optional<Postfix> m_mailSystem {};
6261
std::vector<Node> m_nodes;
63-
std::unique_ptr<BaseRunner> m_runner;
62+
// @TODO Removing m_runner from Cluster
63+
// std::unique_ptr<BaseRunner> m_runner;
6464
std::shared_ptr<DBusClient> m_systemdBus;
6565

6666
bool m_firewall { false };
@@ -75,16 +75,14 @@ class Cluster {
7575
DiskImage m_diskImage;
7676

7777
// Relace repository with generic repository
78-
std::optional<RepoManager<repository, Runner>> m_repos = std::nullopt;
78+
std::optional<RepoManager<repository, BaseRunner>> m_repos = std::nullopt;
7979

8080
public:
8181
Cluster();
8282

8383
[[nodiscard]] Headnode& getHeadnode();
8484
[[nodiscard]] const Headnode& getHeadnode() const;
8585

86-
std::unique_ptr<Runner> getRunner() const;
87-
8886
[[nodiscard]] std::string_view getName() const;
8987
void setName(std::string_view name);
9088
[[nodiscard]] std::string_view getCompanyName() const;
@@ -107,10 +105,6 @@ class Cluster {
107105

108106
std::shared_ptr<DBusClient> getDaemonBus();
109107

110-
void initRepoManager();
111-
RepoManager<repository, Runner>& getRepoManager();
112-
113-
114108
/**
115109
* @brief Add a new network to the cluster.
116110
*
@@ -188,11 +182,11 @@ class Cluster {
188182
std::optional<OFED> getOFED() const;
189183
void setOFED(OFED::Kind kind);
190184

191-
std::optional<std::unique_ptr<QueueSystem<Runner>>>& getQueueSystem();
192-
void setQueueSystem(QueueSystem<Runner>::Kind kind);
185+
std::optional<std::unique_ptr<QueueSystem>>& getQueueSystem();
186+
void setQueueSystem(QueueSystem::Kind kind);
193187

194188
std::optional<Postfix>& getMailSystem();
195-
void setMailSystem(Postfix::Profile profile);
189+
void setMailSystem(Postfix::Profile profile, std::shared_ptr<BaseRunner> runner);
196190

197191
const std::filesystem::path& getDiskImage() const;
198192
void setDiskImage(const std::filesystem::path& diskImagePath);

include/cloysterhpc/functions.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#ifndef CLOYSTERHPC_FUNCTIONS_H_
22
#define CLOYSTERHPC_FUNCTIONS_H_
33

4+
#include "repos.h"
45
#include <boost/process/child.hpp>
56
#include <boost/process/pipe.hpp>
67
#include <filesystem>
@@ -12,11 +13,15 @@
1213

1314
#include <boost/asio.hpp>
1415
#include <glibmm/keyfile.h>
16+
#include <cloysterhpc/runner.h>
1517

1618
namespace cloyster {
1719
// Globals
1820
extern bool dryRun;
1921

22+
std::shared_ptr<BaseRunner> getRunner();
23+
std::shared_ptr<RepoManager<repository, BaseRunner>> getRepoManager(const OS& osinfo);
24+
2025
/**
2126
* A command proxy, to us to be able to get the
2227
* command output while the command is running

include/cloysterhpc/presenter/Presenter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Presenter {
2020
// ref&
2121
// - https://youtu.be/xnqTKD8uD64?t=1145
2222
// - http://tinyurl.com/gotw91
23-
std::unique_ptr<Cluster<BaseRunner>>& m_model;
23+
std::unique_ptr<Cluster>& m_model;
2424
std::unique_ptr<Newt>& m_view;
2525

2626
struct Messages {
@@ -30,7 +30,7 @@ class Presenter {
3030
};
3131
};
3232

33-
Presenter(std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view)
33+
Presenter(std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view)
3434
: m_model(model)
3535
, m_view(view)
3636
{

include/cloysterhpc/presenter/PresenterGeneralSettings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class PresenterGeneralSettings : public Presenter {
3535

3636
public:
3737
PresenterGeneralSettings(
38-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
38+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
3939
};
4040

4141
#endif // CLOYSTERHPC_PRESENTERGENERALSETTINGS_H_

include/cloysterhpc/presenter/PresenterHostId.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class PresenterHostId : public Presenter {
2424

2525
public:
2626
PresenterHostId(
27-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
27+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
2828
};
2929

3030
#endif // CLOYSTERHPC_PRESENTERHOSTID_H_

include/cloysterhpc/presenter/PresenterInfiniband.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class PresenterInfiniband : public Presenter {
2727
};
2828

2929
public:
30-
PresenterInfiniband(std::unique_ptr<Cluster<BaseRunner>>& model,
30+
PresenterInfiniband(std::unique_ptr<Cluster>& model,
3131
std::unique_ptr<Newt>& view, NetworkCreator& nc);
3232
};
3333

include/cloysterhpc/presenter/PresenterInstall.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
class PresenterInstall : public Presenter {
1515
public:
1616
PresenterInstall(
17-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
17+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
1818
};
1919

2020
#endif // CLOYSTERHPC_PRESENTERINSTALL_H_

include/cloysterhpc/presenter/PresenterInstructions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class PresenterInstructions : public Presenter {
2525

2626
public:
2727
PresenterInstructions(
28-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
28+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
2929
};
3030

3131
#endif // CLOYSTERHPC_PRESENTERINSTRUCTIONS_H_

include/cloysterhpc/presenter/PresenterLocale.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class PresenterLocale : public Presenter {
1919

2020
public:
2121
PresenterLocale(
22-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
22+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
2323
};
2424

2525
#endif // CLOYSTERHPC_PRESENTERLOCALE_H_

include/cloysterhpc/presenter/PresenterMailSystem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class PresenterMailSystem : public Presenter {
5050

5151
public:
5252
PresenterMailSystem(
53-
std::unique_ptr<Cluster<BaseRunner>>& model, std::unique_ptr<Newt>& view);
53+
std::unique_ptr<Cluster>& model, std::unique_ptr<Newt>& view);
5454
};
5555

5656
#endif // CLOYSTERHPC_PRESENTERMAILSYSTEM_H_

0 commit comments

Comments
 (0)