baremetal.py 1.1 KB

123456789101112131415161718192021222324252627
  1. from lib.compose.services.cluster_service import ClusterCommonService
  2. from lib.compose.object import ServiceDataVolume, ServicePort
  3. class BaremetalService(ClusterCommonService):
  4. SVC_PORT_BAREMETAL = 8879
  5. def __init__(self, version, keystone, region, dhcp_relay):
  6. super().__init__("baremetal-agent", version,
  7. port=self.SVC_PORT_BAREMETAL,
  8. keystone_svc=keystone, depend_svc=region)
  9. self.enable_privileged()
  10. self.use_host_network()
  11. self.add_volume(ServiceDataVolume(self.YUNION_CLOUD_WORKSPACE_PATH))
  12. self.depend_on_health(dhcp_relay)
  13. # self.add_port(ServicePort(67, 67, 'udp'))
  14. # self.add_port(ServicePort(69, 69, 'udp'))
  15. # http_port = self.SVC_PORT_BAREMETAL + 1000
  16. # self.add_port(ServicePort(http_port, http_port, 'tcp'))
  17. def get_command(self):
  18. cmd = [self.get_bin_path(),
  19. "--auth-url", "https://${PUBLIC_IP}:30357/v3",
  20. "--listen-interface", "${LISTEN_INTERFACE}",
  21. "--session-endpoint-type", "public",
  22. "--config", self.get_config_path()]
  23. return cmd