@@ -16,6 +16,11 @@ HYPERV_COMPUTE_VM_IP=$5
16
16
ADMIN_USER=ubuntu
17
17
ADMIN_PASSWORD=Passw0rd
18
18
19
+ HYPERV_ADMIN=Administrator
20
+ HYPERV_PASSWORD=$ADMIN_PASSWORD
21
+
22
+ NOVA_CONF_FILE=/etc/nova/nova.conf
23
+
19
24
BASEDIR=$( dirname $0 )
20
25
21
26
. $BASEDIR /utils.sh
@@ -31,9 +36,11 @@ configure_ssh_pubkey_auth $ADMIN_USER $CONTROLLER_VM_IP $SSH_KEY_FILE_PUB $ADMIN
31
36
echo " Disabling sudo password prompt"
32
37
disable_sudo_password_prompt $ADMIN_USER @$CONTROLLER_VM_IP $SSH_KEY_FILE $ADMIN_PASSWORD
33
38
34
- echo " Setting host name"
39
+ echo " Setting controller host name"
35
40
set_hostname_ubuntu $ADMIN_USER @$CONTROLLER_VM_IP $CONTROLLER_VM_NAME
36
- # TODO: set Windows host name
41
+
42
+ echo " Renaming and rebooting Hyper-V host $HYPERV_COMPUTE_VM_IP "
43
+ exec_with_retry " $BASEDIR /rename-windows-host.sh $HYPERV_COMPUTE_VM_IP $HYPERV_ADMIN $HYPERV_PASSWORD $HYPERV_COMPUTE_VM_NAME "
37
44
38
45
echo " Configure networking"
39
46
config_openstack_network_adapter_ubuntu $ADMIN_USER @$CONTROLLER_VM_IP eth1
@@ -68,6 +75,36 @@ run_ssh_cmd_with_retry $ADMIN_USER@$CONTROLLER_VM_IP "sudo ovs-vsctl show | grep
68
75
echo " Adding OpenStack vars to .bashrc"
69
76
add_openstack_vars_to_bashrc $ADMIN_USER @$CONTROLLER_VM_IP $CONTROLLER_VM_IP
70
77
78
+ echo " Install crudini on controller"
79
+
80
+ run_ssh_cmd_with_retry $ADMIN_USER @$CONTROLLER_VM_IP " git clone https://github.com/pixelb/crudini.git"
81
+ run_ssh_cmd_with_retry $ADMIN_USER @$CONTROLLER_VM_IP " sudo apt-get install -y python-iniparse"
82
+ run_ssh_cmd_with_retry $ADMIN_USER @$CONTROLLER_VM_IP " sudo cp crudini/crudini /usr/local/bin"
83
+
84
+ echo " Getting Nova config options for Hyper-V"
85
+
86
+ RPC_BACKEND_HOST=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT rabbit_host $NOVA_CONF_FILE `
87
+ RPC_BACKEND_PASSWORD=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT rabbit_password $NOVA_CONF_FILE `
88
+
89
+ NEUTRON_URL=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT neutron_url $NOVA_CONF_FILE `
90
+ NEUTRON_ADMIN_AUTH_URL=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT neutron_admin_auth_url $NOVA_CONF_FILE `
91
+ NEUTRON_ADMIN_TENANT_NAME=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT neutron_admin_tenant_name $NOVA_CONF_FILE `
92
+ NEUTRON_ADMIN_USERNAME=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT neutron_admin_username $NOVA_CONF_FILE `
93
+ NEUTRON_ADMIN_PASSWORD=` get_openstack_option_value $RDO_ADMIN @$CONTROLLER_VM_IP DEFAULT neutron_admin_password $NOVA_CONF_FILE `
94
+
95
+ # TODO: read Glance host/port from nova.conf
96
+ GLANCE_HOST=$CONTROLLER_VM_IP
97
+ GLANCE_PORT=9292
98
+ RPC_BACKEND_USERNAME=guest
99
+ RPC_BACKEND_PORT=5672
100
+ HYPERV_VSWITCH_NAME=external
101
+ RPC_BACKEND=RabbitMQ
102
+
103
+ echo " Waiting for WinRM HTTPS port to be available on $HYPERV_COMPUTE_VM_IP "
104
+ wait_for_listening_port $HYPERV_COMPUTE_VM_IP 5986 $MAX_WAIT_SECONDS
105
+
106
+ $BASEDIR /deploy-hyperv-compute.sh $HYPERV_COMPUTE_VM_IP $HYPERV_ADMIN $HYPERV_PASSWORD $OPENSTACK_RELEASE $HYPERV_VSWITCH_NAME $GLANCE_HOST $RPC_BACKEND $RPC_BACKEND_HOST $RPC_BACKEND_USERNAME $RPC_BACKEND_PASSWORD $NEUTRON_URL $NEUTRON_ADMIN_AUTH_URL $NEUTRON_ADMIN_TENANT_NAME $NEUTRON_ADMIN_USERNAME $NEUTRON_ADMIN_PASSWORD
107
+
71
108
echo " DevStack configured!"
72
109
echo " Controller IP: $CONTROLLER_VM_IP "
73
110
echo " SSH key file: $SSH_KEY_FILE "
0 commit comments