summaryrefslogtreecommitdiffstats
path: root/deploy/deploy_host.sh
blob: a055702e62c670654e1c69652eab371d77b6db9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function deploy_host(){
    NETWORK_FILE=${COMPASS_DIR}/deploy/conf/network_cfg.yaml
    NEUTRON_FILE=${COMPASS_DIR}/deploy/conf/neutron_cfg.yaml

    pip install oslo.config
    ssh $ssh_args root@${MGMT_IP} mkdir -p /opt/compass/bin/ansible_callbacks
    scp $ssh_args -r ${COMPASS_DIR}/deploy/status_callback.py root@${MGMT_IP}:/opt/compass/bin/ansible_callbacks/status_callback.py

    reboot_hosts

    python ${COMPASS_DIR}/deploy/client.py --compass_server="${HTTP_SERVER_URL}" \
    --compass_user_email="${COMPASS_USER_EMAIL}" --compass_user_password="${COMPASS_USER_PASSWORD}" \
    --cluster_name="${CLUSTER_NAME}" --language="${LANGUAGE}" --timezone="${TIMEZONE}" \
    --hostnames="${HOSTNAMES}" --partitions="${PARTITIONS}" --subnets="${SUBNETS}" \
    --adapter_os_pattern="${ADAPTER_OS_PATTERN}" --adapter_name="${ADAPTER_NAME}" \
    --adapter_target_system_pattern="${ADAPTER_TARGET_SYSTEM_PATTERN}" \
    --adapter_flavor_pattern="${ADAPTER_FLAVOR_PATTERN}" --repo_name="${REPO_NAME}" \
    --http_proxy="${PROXY}" --https_proxy="${PROXY}" --no_proxy="${IGNORE_PROXY}" \
    --ntp_server="${NTP_SERVER}" --dns_servers="${NAMESERVERS}" --domain="${DOMAIN}" \
    --search_path="${SEARCH_PATH}" --default_gateway="${GATEWAY}" \
    --server_credential="${SERVER_CREDENTIAL}" --local_repo_url="${LOCAL_REPO_URL}" \
    --os_config_json_file="${OS_CONFIG_FILENAME}" --service_credentials="${SERVICE_CREDENTIALS}" \
    --console_credentials="${CONSOLE_CREDENTIALS}" --host_networks="${HOST_NETWORKS}" \
    --network_mapping="${NETWORK_MAPPING}" --package_config_json_file="${PACKAGE_CONFIG_FILENAME}" \
    --host_roles="${HOST_ROLES}" --default_roles="${DEFAULT_ROLES}" --switch_ips="${SWITCH_IPS}" \
    --machines=${machines//\'} --switch_credential="${SWITCH_CREDENTIAL}" --deploy_type="${TYPE}" \
    --deployment_timeout="${DEPLOYMENT_TIMEOUT}" --${POLL_SWITCHES_FLAG} --dashboard_url="${DASHBOARD_URL}" \
    --cluster_vip="${VIP}" --network_cfg="$NETWORK_FILE" --neutron_cfg="$NEUTRON_FILE"

}
ctor::http_root: /var/lib/ironic/httpboot step_config: &step_config get_attr: [IronicConductorBase, role_data, step_config] service_config_settings: {get_attr: [IronicConductorBase, role_data, service_config_settings]} # BEGIN DOCKER SETTINGS puppet_config: config_volume: ironic puppet_tags: ironic_config step_config: *step_config config_image: list_join: - '/' - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ] kolla_config: /var/lib/kolla/config_files/ironic_conductor.json: command: /usr/bin/ironic-conductor permissions: - path: /var/lib/ironic owner: ironic:ironic recurse: true docker_config: step_4: ironic_conductor: start_order: 80 image: list_join: - '/' - [ {get_param: DockerNamespace}, {get_param: DockerIronicConductorImage} ] net: host privileged: true restart: always volumes: - /var/lib/kolla/config_files/ironic_conductor.json:/var/lib/kolla/config_files/config.json:ro - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro - /etc/hosts:/etc/hosts:ro - /etc/localtime:/etc/localtime:ro - /lib/modules:/lib/modules:ro - /sys:/sys - /dev:/dev - /run:/run #shared? - /var/lib/ironic:/var/lib/ironic environment: - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS host_prep_tasks: - name: create ironic persistent data directory file: path: /var/lib/ironic state: directory - name: stat /httpboot stat: path=/httpboot register: stat_httpboot - name: stat /tftpboot stat: path=/tftpboot register: stat_tftpboot - name: stat /var/lib/ironic/httpboot stat: path=/var/lib/ironic/httpboot register: stat_ironic_httpboot - name: stat /var/lib/ironic/tftpboot stat: path=/var/lib/ironic/tftpboot register: stat_ironic_tftpboot # cannot use 'copy' module as with 'remote_src' it doesn't support recursion - name: migrate /httpboot to containerized (if applicable) command: /bin/cp -R /httpboot /var/lib/ironic/httpboot when: stat_httpboot.stat.exists and not stat_ironic_httpboot.stat.exists - name: migrate /tftpboot to containerized (if applicable) command: /bin/cp -R /tftpboot /var/lib/ironic/tftpboot when: stat_tftpboot.stat.exists and not stat_ironic_tftpboot.stat.exists # Even if there was nothing to copy from original locations, # we need to create the dirs before starting the containers - name: ensure ironic pxe directories exist file: path: /var/lib/ironic/{{ item }} state: directory with_items: - httpboot - tftpboot upgrade_tasks: - name: Stop and disable ironic_conductor service tags: step2 service: name=openstack-ironic-conductor state=stopped enabled=no