Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.84 KB | None | 0 0
  1. <html>
  2.     <body>
  3.     <form method="post" action="start_stend_via_http.php">
  4.     <input type="submit" value="click" name="Включить стенд">
  5.     </form>
  6.         <?php
  7.         /*Обработка включения дев стенда
  8.         на вход получаем пользователя по домену из https запроса
  9.  
  10.         */
  11.  
  12.         function get_developer_name() {
  13.             $host = $_SERVER[HTTP_HOST];
  14.             list ($third_level, $second_level, $first_leve) = explode(".", $host);
  15.             return $third_level;
  16.         }
  17.  
  18.         function get_stend_ip() {
  19.             $devuser = get_developer_name();
  20.             $command = "sudo /usr/bin/gcloud --account admin-cli@docdoc-dev-01.iam.gserviceaccount.com --project docdoc-dev-01 compute instances list | grep dev-stend-".$devuser." | awk '{ print $4 }'";
  21.             exec($command, $output);
  22.             foreach ($output as $ip ) {
  23.                 var_dump($ip);
  24.                 return $ip;
  25.             }
  26.  
  27.         }
  28.  
  29.         function rewrite_dns() {
  30.             $devuser = get_developer_name();
  31.             $domain = "{$devuser}.docdoc.pro";
  32.             $host_ip = get_stend_ip();
  33.             $rewrite_command = "sudo /usr/bin/ansible-playbook -e 'host_name={$domain} host_ip={$host_ip}' /etc/ansible/playbooks-new/dns/create_record_start_stend.yml";
  34.             exec($rewrite_command);
  35.         }
  36.  
  37.  
  38.  
  39.         function start_stend() {
  40.             $devuser = get_developer_name();
  41.             exec("sudo /var/local/docdoc/scripts/google_cloud/instans_stop_start.sh start dev-stend-".$devuser );
  42.         }
  43.  
  44.         function start_all() {
  45.             rewrite_dns();
  46.             start_stend();
  47.         }
  48.  
  49.         start_all();
  50.  
  51.         if(isset($_POST['submit']))
  52.         {
  53.            start_all();
  54.         }
  55.         ?>
  56.   </body>
  57. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement