.. incl-bootstrap-controller-0-virt-controller-storage-start:

On virtual controller-0:

#. Log in using the username / password of "sysadmin" / "sysadmin".
   When logging in for the first time, you will be forced to change
   the password.

   ::

      Login: sysadmin
      Password:
      Changing password for sysadmin.
      (current) UNIX Password: sysadmin
      New Password:
      (repeat) New Password:

#. External connectivity is required to run the Ansible bootstrap
   playbook:

   ::

      export CONTROLLER0_OAM_CIDR=10.10.10.3/24
      export DEFAULT_OAM_GATEWAY=10.10.10.1
      sudo ip address add $CONTROLLER0_OAM_CIDR dev enp7s1
      sudo ip link set up dev enp7s1
      sudo ip route add default via $DEFAULT_OAM_GATEWAY dev enp7s1

#. Specify user configuration overrides for the Ansible bootstrap
   playbook.

   Ansible is used to bootstrap StarlingX on controller-0. Key files
   for Ansible configuration are:

   ``/etc/ansible/hosts``
      The default Ansible inventory file. Contains a single host:
      localhost.

   ``/usr/share/ansible/stx-ansible/playbooks/bootstrap.yml``
      The Ansible bootstrap playbook.

   ``/usr/share/ansible/stx-ansible/playbooks/host_vars/bootstrap/default.yml``
      The default configuration values for the bootstrap playbook.

   ``sysadmin home directory ($HOME)``
      The default location where Ansible looks for and imports user
      configuration override files for hosts. For example:
      ``$HOME/<hostname>.yml``.

   .. include:: /shared/_includes/ansible_install_time_only.txt

   Specify the user configuration override file for the Ansible
   bootstrap playbook using one of the following methods:

   * Copy the ``default.yml`` file listed above to
     ``$HOME/localhost.yml`` and edit the configurable values as
     desired (use the commented instructions in the file).

   or

   * Create the minimal user configuration override file as shown in
     the example below:

     ::

        cd ~
        cat <<EOF > localhost.yml
        system_mode: duplex

        dns_servers:
          - 8.8.8.8
          - 8.8.4.4

        external_oam_subnet: 10.10.10.0/24
        external_oam_gateway_address: 10.10.10.1
        external_oam_floating_address: 10.10.10.2
        external_oam_node_0_address: 10.10.10.3
        external_oam_node_1_address: 10.10.10.4

        admin_username: admin
        admin_password: <admin-password>
        ansible_become_pass: <sysadmin-password>

        # Add these lines to configure Docker to use a proxy server
        # docker_http_proxy: http://my.proxy.com:1080
        # docker_https_proxy: https://my.proxy.com:1443
        # docker_no_proxy:
        #   - 1.2.3.4

        EOF

   Refer to :ref:`Ansible Bootstrap Configurations
   <ansible_bootstrap_configs_r7>` for information on additional Ansible
   bootstrap configurations for advanced Ansible bootstrap scenarios, such as
   Docker proxies when deploying behind a firewall, etc. Refer to
   |docker_proxy_config| for details about Docker proxy settings.

#. Run the Ansible bootstrap playbook:

   ::

      ansible-playbook /usr/share/ansible/stx-ansible/playbooks/bootstrap.yml

   Wait for Ansible bootstrap playbook to complete. This can take 5-10
   minutes, depending on the performance of the host machine.

.. incl-bootstrap-controller-0-virt-controller-storage-end: