Skip to content

Commit

Permalink
Merge "vrouter agent: refactor instance_manager_adapter to meet codin…
Browse files Browse the repository at this point in the history
…g standards"
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Dec 11, 2014
2 parents ea057e0 + 2e2f122 commit 16a5828
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 24 deletions.
10 changes: 5 additions & 5 deletions src/vnsw/agent/oper/instance_manager_adapter.cc
Expand Up @@ -63,7 +63,7 @@ InstanceTask* DockerInstanceAdapter::CreateStartTask(const ServiceInstance::Prop
}


return new InstanceTask(cmd_str.str(), Start, agent_->event_manager());
return new InstanceTask(cmd_str.str(), START, agent_->event_manager());
}

InstanceTask* DockerInstanceAdapter::CreateStopTask(const ServiceInstance::Properties &props) {
Expand All @@ -84,7 +84,7 @@ InstanceTask* DockerInstanceAdapter::CreateStopTask(const ServiceInstance::Prope
if (props.vmi_management != boost::uuids::nil_uuid()) {
cmd_str << " --vmi-management-id " << UuidToString(props.vmi_management);
}
return new InstanceTask(cmd_str.str(), Stop, agent_->event_manager());
return new InstanceTask(cmd_str.str(), STOP, agent_->event_manager());
}

bool DockerInstanceAdapter::isApplicable(const ServiceInstance::Properties &props) {
Expand Down Expand Up @@ -133,7 +133,7 @@ InstanceTask* NetNSInstanceAdapter::CreateStartTask(const ServiceInstance::Prope
cmd_str << " --update";
}

return new InstanceTask(cmd_str.str(), Start, agent_->event_manager());
return new InstanceTask(cmd_str.str(), START, agent_->event_manager());
}

InstanceTask* NetNSInstanceAdapter::CreateStopTask(const ServiceInstance::Properties &props) {
Expand Down Expand Up @@ -163,9 +163,9 @@ InstanceTask* NetNSInstanceAdapter::CreateStopTask(const ServiceInstance::Proper
cmd_str << " --pool-id " << props.pool_id;
}

return new InstanceTask(cmd_str.str(), Stop, agent_->event_manager());
return new InstanceTask(cmd_str.str(), STOP, agent_->event_manager());
}

bool NetNSInstanceAdapter::isApplicable(const ServiceInstance::Properties &props) {
return (props.virtualization_type == ServiceInstance::NetworkNamespace);
}
}
36 changes: 17 additions & 19 deletions src/vnsw/agent/oper/instance_manager_adapter.h
Expand Up @@ -7,39 +7,38 @@
#include "oper/instance_task.h"

class InstanceManagerAdapter {
public:
public:
enum CmdType {
Start = 1,
Stop
START = 1,
STOP
};

virtual InstanceTask* CreateStartTask(const ServiceInstance::Properties &props, bool update) = 0;

virtual InstanceTask* CreateStopTask(const ServiceInstance::Properties &props) = 0;
virtual ~InstanceManagerAdapter() {}

virtual InstanceTask* CreateStartTask(
const ServiceInstance::Properties &props, bool update) = 0;
virtual InstanceTask* CreateStopTask(
const ServiceInstance::Properties &props) = 0;
virtual bool isApplicable(const ServiceInstance::Properties &props) = 0;

virtual ~InstanceManagerAdapter() { }
};

class DockerInstanceAdapter : public InstanceManagerAdapter {
public:
public:
DockerInstanceAdapter(const std::string &docker_cmd,Agent *agent)
: docker_cmd_(docker_cmd), agent_(agent) {}

InstanceTask* CreateStartTask(const ServiceInstance::Properties &props, bool update);

InstanceTask* CreateStartTask(const ServiceInstance::Properties &props,
bool update);
InstanceTask* CreateStopTask(const ServiceInstance::Properties &props);

bool isApplicable(const ServiceInstance::Properties &props);

private:
private:
std::string docker_cmd_;
Agent *agent_;
};

class NetNSInstanceAdapter : public InstanceManagerAdapter {
public:
public:
NetNSInstanceAdapter(const std::string &netns_cmd,
const std::string &loadbalancer_config_path,
Agent *agent)
Expand All @@ -48,16 +47,15 @@ class NetNSInstanceAdapter : public InstanceManagerAdapter {
agent_(agent)
{}

InstanceTask* CreateStartTask(const ServiceInstance::Properties &props, bool update);

InstanceTask* CreateStartTask(const ServiceInstance::Properties &props,
bool update);
InstanceTask* CreateStopTask(const ServiceInstance::Properties &props);

bool isApplicable(const ServiceInstance::Properties &props);

private:
private:
std::string netns_cmd_;
std::string loadbalancer_config_path_;
Agent *agent_;
};

#endif
#endif

0 comments on commit 16a5828

Please sign in to comment.