]> granicus.if.org Git - icinga2/commitdiff
Cli: Require --zone for 'node setup'
authorMichael Friedrich <michael.friedrich@netways.de>
Fri, 31 Oct 2014 21:21:36 +0000 (22:21 +0100)
committerMichael Friedrich <michael.friedrich@netways.de>
Fri, 31 Oct 2014 21:21:36 +0000 (22:21 +0100)
refs #7522

lib/cli/nodesetupcommand.cpp
lib/cli/nodeutility.cpp
lib/cli/nodeutility.hpp
lib/cli/nodewizardcommand.cpp

index 24ed78347db5561d17b5514ecf61ec9d153621b8..550caa9e4334860c62f8f91bd9509627de06a88f 100644 (file)
@@ -291,7 +291,7 @@ int NodeSetupCommand::SetupNode(const boost::program_options::variables_map& vm,
        if (!vm.count("ticket")) {
                Log(LogCritical, "cli")
                    << "Please pass the ticket number generated on master\n"
-                   << "(Hint: 'icinga2 pki ticket --cn <masterhost> --salt <ticket_salt>').";
+                   << "(Hint: 'icinga2 pki ticket --cn " << Utility::GetFQDN() << "').";
                return 1;
        }
 
@@ -300,6 +300,11 @@ int NodeSetupCommand::SetupNode(const boost::program_options::variables_map& vm,
                return 1;
        }
 
+       if (!vm.count("zone")) {
+               Log(LogCritical, "cli", "You need to specify the local zone (--zone).");
+               return 1;
+       }
+
        String ticket = vm["ticket"].as<std::string>();
 
        Log(LogInformation, "cli")
@@ -460,7 +465,7 @@ int NodeSetupCommand::SetupNode(const boost::program_options::variables_map& vm,
 
        Log(LogInformation, "cli", "Generating zone and object configuration.");
 
-       NodeUtility::GenerateNodeIcingaConfig(vm["endpoint"].as<std::vector<std::string> >(), cn);
+       NodeUtility::GenerateNodeIcingaConfig(vm["endpoint"].as<std::vector<std::string> >(), cn, vm["node"].as<std::string>());
 
        /* update constants.conf with NodeName = CN */
        if (cn != Utility::GetFQDN()) {
index 833e67059a071c63d76c55852930e1d62b44eab3..f7cab6d40b500c1b83dd32a50f097bae7e1b64b5 100644 (file)
@@ -235,7 +235,7 @@ void NodeUtility::CollectNodes(const String& node_file, std::vector<Dictionary::
  * Node Setup helpers
  */
 
-int NodeUtility::GenerateNodeIcingaConfig(const std::vector<std::string>& endpoints, const String& nodename)
+int NodeUtility::GenerateNodeIcingaConfig(const std::vector<std::string>& endpoints, const String& nodename, const String& zonename)
 {
        Array::Ptr my_config = make_shared<Array>();
 
index d499085205879a8b90963ca7284813e53dd6b3d0..9fff77adea1cffe54876e95bc152520376f60fc4 100644 (file)
@@ -57,7 +57,7 @@ public:
        static void UpdateConstant(const String& name, const String& value);
 
        /* node setup helpers */
-       static int GenerateNodeIcingaConfig(const std::vector<std::string>& endpoints, const String& nodename);
+       static int GenerateNodeIcingaConfig(const std::vector<std::string>& endpoints, const String& nodename, const String& zonename);
        static int GenerateNodeMasterIcingaConfig(const String& nodename);
 
        /* black/whitelist */
index 66bdbb43622149cab66c76642047af80e870172a..cc58502289388ea0a188cf5451fe2f60a14f6c32 100644 (file)
@@ -126,6 +126,17 @@ int NodeWizardCommand::Run(const boost::program_options::variables_map& vm, cons
                String cn = answer;
                cn.Trim();
 
+               std::cout << "Please specifiy the local zone name [" << cn << "]: ";
+
+               std::getline(std::cin, answer);
+               boost::algorithm::to_lower(answer);
+
+               if (answer.empty())
+                       answer = cn;
+
+               String local_zone = answer;
+               local_zone.Trim();
+
                std::vector<std::string> endpoints;
 
                String endpoint_buffer;
@@ -160,7 +171,7 @@ wizard_endpoint_loop_start:
                        master_endpoint_name = tmp; //store the endpoint name for later
                }
 
-               std::cout << "Master endpoint port: ";
+               std::cout << "Master endpoint port (optional) []: ";
 
                std::getline(std::cin, answer);
                boost::algorithm::to_lower(answer);
@@ -171,7 +182,6 @@ wizard_endpoint_loop_start:
                        endpoint_buffer += "," + answer;
                }
 
-
                endpoints.push_back(endpoint_buffer);
 
                std::cout << "Add more master endpoints? [y/N]";
@@ -388,7 +398,7 @@ wizard_ticket:
                /* apilistener config */
                std::cout << "Generating local zones.conf.\n";
 
-               NodeUtility::GenerateNodeIcingaConfig(endpoints, cn);
+               NodeUtility::GenerateNodeIcingaConfig(endpoints, cn, local_zone);
 
                if (cn != Utility::GetFQDN()) {
                        Log(LogWarning, "cli")