рдУрдкрдирд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ рддреИрдпрд╛рд░ рдХрд░рдирд╛

рд╣реИрдмреЗ рдкрд░ рдУрдкрдирд╕реНрдЯреИрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рдереЗ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдордЧреНрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкрд░ рдирд╣реАрдВ рдерд╛ред рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдирдВрдЧреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрднрд╛рд░реА рдирд╣реАрдВ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, Devstack рдирд╛рдордХ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ OpenStack рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдареАрдХ рд╣реИ, рдореИрдВ рдпрд╣рд╛рдВ рд▓реЗрдЦ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рджреЗрд╡рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рддрдВрдмреВрд░рд╛ рдХреЗ рд╕рд╛рде рдиреГрддреНрдп рдХрд░рдиреЗ рдФрд░ рд╕рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдПрдХ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдкрдиреА рдЧрддрд┐ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ рдЖрдЬ рдЬреЛ рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдХрд┐рд╕реА рднреА рдирдИ рдкреНрд░рддрд┐рдмрджреНрдз рдХреЗ рд╕рд╛рде рдЙрдбрд╝рд╛рди рднрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд╛рд░реНрдп


рдУрдкрдирд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛рдУрдВ (рдиреЛрд╡рд╛, рдХреАрд╕реНрдЯреЛрди, рд╕реНрд╡рд┐рдлреНрдЯ, рд╣реАрдЯ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг, рдмрдЧ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд▓рдЧрднрдЧ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдХрд┐ рдмрдирд╛рдИ рдЧрдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдорд┐рдЯрд╛ рджреЗрдВ, рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдВ рдФрд░ рдХреБрдЫ рд╣реА рдорд┐рдирдЯреЛрдВ рдореЗрдВ рддреИрдпрд╛рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рддрд╛рд╡рд░рдг рдкрд┐рдЫрд▓реЗ VM рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреВрдБрдХрд┐ рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдЬреЛ рд╕реЗрд╡рд╛ рдореБрдЭреЗ рд░реБрдЪрд┐рдХрд░ рд╣реИ, рд╡рд╣ рд╣реИ рдЧрд░реНрдореА, рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрдореБрдЦ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЬрдЧрд╣ рдкрд░, рдЖрдк рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ


рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдХрд░рдг рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: VirtualBox, Vagrantред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рджрдо рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ OSX 10.9.2 рдкрд░ рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп * рдирд┐рдХреНрд╕ рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

VirtualBox

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, www.virtualbox.org рдкрд░ рдЬрд╛рдПрдВ , рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдореИрдВрдиреЗ рек.рей. V рд╕реЗрдЯ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реИрдЧреНрд░рдВрдЯ рдХрднреА-рдХрднреА рек.реи рдкрд░ рдереВрдХрддрд╛ рд╣реИред * рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдПрдирдПрдлрдПрд╕ рд▓рдЧрд╛рдиреЗ рдХреА рдзрдордХреАред

рдЖрд╡рд╛рд░рд╛

рд╣рдо Vagrant рд╕рдВрд╕реНрдХрд░рдг 1.3.5 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, nfs рдСрдкрд░реЗрд╢рди рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ) рдФрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗ, рдХрд╣рддреЗ рд╣реИрдВ / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рднрдЯрдХрдирд╛ред рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Vagrantfile рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓ рджреА рд╣реИ:

-- mode: ruby -- vi: set ft=ruby : Vagrant config VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "heat" config.vm.box_url = "http://files.vagrantup.com/precise32.box" #    VM  2048MB config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "2048"] end #     Horizon config.vm.network :forwarded_port, guest: 80, host: 8080 #  IP ,  NFS config.vm.network :private_network, ip: "192.168.11.10" #  /opt/stack c  /home/user/devstack. config.vm.synced_folder "/home/user/devstack", "/opt/stack", nfs:true end 


рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ, / рдШрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рднрдЯрдХрд╛рд╡ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ VM рдмрдирд╛рдПрдБ
 vagrant up 

VM рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
 vagrant ssh 

рдЕрдм рд╣рдо рд╕реАрдзреЗ рд╕рдВрдХреБрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рддрдмрд╛рд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪреВрдБрдХрд┐ рд╣рдореЗрдВ рдЬреЛ рдХрд╛рд░ рдорд┐рд▓реА рд╣реИ, рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд╛рд▓реА рд╣реИ, рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕рдм рдХреБрдЫ рд▓рдЧрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

 sudo apt-get update && sudo apt-get -y install git vim-gtk libxml2-dev libxslt1-dev libpq-dev python-pip libsqlite3-dev && sudo apt-get -y build-dep python-mysqldb && sudo pip install git-review tox && git clone git://git.openstack.org/openstack-dev/devstack -b stable/havana && chown -R vagrant:vagrant devstack && cd devstack 


рдмрдзрд╛рдИ рд╣реЛ, рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдкреБрд╖реНрдЯ рд▓реЗрдХрд┐рди рд╕реНрдерд┐рд░ рднрдЯрдХрд╛рд╡ рд╣реИрд╡рд╛рди рд╣реИред

Devstack

рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛рдлреА рд▓рдЪреАрд▓рд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рдЦрд╛ рд╣реИ рдЬреЛ рдЧрд░реНрдореА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕реНрдерд┐рд░ (рд╣рд╡рд╛рдирд╛) рдУрдкрдирд╕реНрдЯреИрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк devstack рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ рдФрд░ local.conf рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдк рд▓реЛрдХрд▓ рдЖрд░реНрдХ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ)

 #, ... ADMIN_PASSWORD=devstack MYSQL_PASSWORD=devstack RABBIT_PASSWORD=devstack SERVICE_PASSWORD=devstack SERVICE_TOKEN=devstack #   #RECLONE=yes #OFFLINE=True # Swift #SWIFT_REPLICAS=1 #SWIFT_HASH=011688b44136573e209e #   HOST_IP=192.168.11.10 HOST_IP_IFACE=eth1 FLAT_INTERFACE=br100 PUBLIC_INTERFACE=eth1 FLOATING_RANGE=192.168.11.224/27 #   LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=True SCREEN_LOGDIR=/opt/stack/logs #      NOVA_BRANCH=stable/havana CINDER_BRANCH=stable/havana GLANCE_BRANCH=stable/havana HORIZON_BRANCH=stable/havana KEYSTONE_BRANCH=stable/havana NEUTRON_BRANCH=stable/havana SWIFT_BRANCH=stable/havana HEAT_BRANCH=stable/havana CEILOMETER_BRANCH=stable/havana # Horizon ENABLED_SERVICES+=,horizon #  Heat (master branch) HEAT_REPO=https://github.com/openstack/heat.git HEAT_BRANCH=master #   ##   Neutron disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service neutron #  Cinder disable_service cinder disable_service c-api disable_service c-sch disable_service c-vol ##   Swift,      :) #enable_service s-proxy s-object s-container s-account ##  Heat ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2" IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img" ##  Ceilometer #   ,     ,       - postgres #CEILOMETER_BACKEND=mongo ENABLED_SERVICES+=,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api ENABLED_SERVICES+=,ceilometer-alarm-notify,ceilometer-alarm-eva 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ HOST_IP Vagrantfile рдореЗрдВ Private_network рдЖрдИрдкреА рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ: рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ 4.3.8, рд╡реИрдЧреНрд░рд╛рдВрдЯ 1.3.5

рд╕рдм рдХреБрдЫ рдкрд╕рдВрдж рд╣реИред рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ ред/stack.sh рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╣реАрдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рджреЛ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкрдВрдк рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдзреНрдпрд╛рди рдЧрд░реНрдореА рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдкрд░ рд╣реИред
GitHub рдХреЙрдиреНрдлрд╝рд┐рдЧ рдбреЗрдЯрд╛: github.com/sorantis/stackenv
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрдЪреНрдЫрд╛рдПрдВ, рдореБрдЭреЗ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ-рдХреНрд▓рд┐рдХ рдмрдЯрди рд▓рд╛рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!

рдкреБрдирд╢реНрдЪ рдпрджрд┐ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛, рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред

Source: https://habr.com/ru/post/In216849/


All Articles