github.com/StackPointCloud/packer@v0.10.2-0.20180716202532-b28098e0f79b/examples/alicloud/chef/chef.sh (about)

     1  #!/bin/sh
     2  #if the related deb pkg not found, please replace with it other available repository url
     3  HOSTNAME=`ifconfig eth1|grep 'inet addr'|cut -d ":" -f2|cut -d " " -f1`
     4  if [ not $HOSTNAME ] ; then
     5      HOSTNAME=`ifconfig eth0|grep 'inet addr'|cut -d ":" -f2|cut -d " " -f1`
     6  fi
     7  CHEF_SERVER_URL='http://dubbo.oss-cn-shenzhen.aliyuncs.com/chef-server-core_12.8.0-1_amd64.deb'
     8  CHEF_CONSOLE_URL='http://dubbo.oss-cn-shenzhen.aliyuncs.com/chef-manage_2.4.3-1_amd64.deb'
     9  CHEF_SERVER_ADMIN='admin'
    10  CHEF_SERVER_ADMIN_PASSWORD='vmADMIN123'
    11  ORGANIZATION='aliyun'
    12  ORGANIZATION_FULL_NAME='Aliyun, Inc'
    13  #specify hostname
    14  hostname $HOSTNAME
    15  
    16  mkdir ~/.pemfile
    17  #install chef server
    18  wget $CHEF_SERVER_URL
    19  sudo dpkg -i chef-server-core_*.deb
    20  sudo chef-server-ctl reconfigure
    21  
    22  #create admin user
    23  sudo chef-server-ctl user-create $CHEF_SERVER_ADMIN $CHEF_SERVER_ADMIN $CHEF_SERVER_ADMIN 641002259@qq.com $CHEF_SERVER_ADMIN_PASSWORD -f ~/.pemfile/admin.pem
    24  
    25  #create aliyun organization
    26  sudo chef-server-ctl org-create $ORGANIZATION $ORGANIZATION_FULL_NAME --association_user $CHEF_SERVER_ADMIN -f ~/.pemfile/aliyun-validator.pem
    27  
    28  #install chef management console
    29  wget $CHEF_CONSOLE_URL
    30  sudo dpkg -i chef-manage_*.deb
    31  sudo chef-server-ctl reconfigure
    32  
    33  type expect >/dev/null 2>&1 || { echo >&2 "Install Expect..."; apt-get -y install expect; }
    34  echo "spawn sudo chef-manage-ctl reconfigure" >> chef-manage-confirm.exp
    35  echo "expect \"*Press any key to continue\""  >> chef-manage-confirm.exp
    36  echo "send \"a\\\n\"" >> chef-manage-confirm.exp
    37  echo "expect \".*chef-manage 2.4.3 license: \\\"Chef-MLSA\\\".*\"" >> chef-manage-confirm.exp
    38  echo "send \"q\"" >> chef-manage-confirm.exp
    39  echo "expect \".*Type 'yes' to accept the software license agreement, or anything else to cancel.\"" >> chef-manage-confirm.exp
    40  echo "send \"yes\\\n\"" >> chef-manage-confirm.exp
    41  echo "interact" >> chef-manage-confirm.exp
    42  expect chef-manage-confirm.exp
    43  rm -f chef-manage-confirm.exp
    44  
    45  #clean
    46  rm -rf chef-manage_2.4.3-1_amd64.deb
    47  rm -rf chef-server-core_12.8.0-1_amd64.deb