diff --git a/README.md b/README.md index e8d234910a00381b5bf8092b50cb5f832e38f86a..e893a5f9c2c346184629e0142c729de7bd2d94df 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ # Introduction +<div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> + <strong>Notice:</strong><br/> + Please, use e-mail <a href = "mailto: cloud@metacentrum.cz">cloud@metacentrum.cz</a> as main communication channel for user support. +</div> + + <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(255,0,0,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> <strong>WARNING:</strong><br/><br/> Please read the following rule: - + <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/register/#personal-project">User projects</a> (generated for every user) are not meant to contain production machines. If you use your personal project for long-term services, you have to to ask for a <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/register/#group-project">GROUP</a> project (even if you do not work in a group or you do not need any extra quotas). @@ -52,7 +58,7 @@ contacting user support. Bear in mind that this is not the complete documentation to OpenStack but rather a quick guide that is supposed to help you with elementary use of our infrastructure. If you need more information, please turn -to [the official documentation](https://docs.openstack.org/rocky/user/) +to [the official documentation](https://docs.openstack.org/train/user/) or contact user support and describe your use case. Please visit [Network](/network/README.md) section in order to see how you should set up the network. diff --git a/cli/README.md b/cli/README.md index eaefce8dd3bbffc43d91e11fec8eefc076007692..26b63d2499dec96a6710fe72ee48834025d08589 100644 --- a/cli/README.md +++ b/cli/README.md @@ -27,7 +27,7 @@ it is a form of token-based authentication providing easy and secure access with ## Setting Up 1. [Install](https://pypi.org/project/python-openstackclient/) and - [configure](https://docs.openstack.org/python-openstackclient/rocky/configuration/index.html) + [configure](https://docs.openstack.org/python-openstackclient/train/configuration/index.html) OpenStack CLI client. <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(255,0,0,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> @@ -39,11 +39,21 @@ it is a form of token-based authentication providing easy and secure access with <strong>volume_api_version: 3</strong> </div> -2. Follow the official [Launch instances](https://docs.openstack.org/nova/rocky/user/launch-instances.html) guide. +2. Follow the official [Launch instances](https://docs.openstack.org/nova/train/user/launch-instances.html) guide. --- + ## Creating a key-pair + +You can either get your private key from dashboard or you can use **ssh-keygen** command to create new private key: + +``` +ssh-keygen -b 4096 +``` +then you will be asked to specify output file and passphrase for your key. + + 1. Assuming your ssh public key is stored in `~/.ssh/id_rsa.pub` ``` openstack keypair create --public-key ~/.ssh/id_rsa.pub my-key1 @@ -74,6 +84,10 @@ openstack network create my-net1 openstack subnet create --network my-net1 --subnet-pool private-192-168 my-sub1 ``` +##Router management + +### Router Creation + 2. Create router: ``` openstack router create my-router1 @@ -99,6 +113,73 @@ openstack port create --network my-net1 --disable-port-security --fixed-ip ip-ad ``` openstack router add port my-router1 my-net1-port1-gw ``` +### Clear gateway + +1. Find your router: +``` +$ openstack router list ++--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ +| ID | Name | Status | State | Distributed | HA | Project | ++--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ +| 0bd0374d-b62e-429a-8573-3e8527399b68 | auto_allocated_router | ACTIVE | UP | None | None | f0c339b86ddb4699b6eab7acee8d4508 | ++--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ +``` + +2. Verify: +``` +$ openstack router show 0bd0374d-b62e-429a-8573-3e8527399b68 ++-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Field | Value | ++-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| admin_state_up | UP | +| availability_zone_hints | None | +| availability_zones | None | +| created_at | 2019-06-06T04:47:15Z | +| description | None | +| distributed | None | +| external_gateway_info | {"network_id": "8d5e18ab-5d43-4fb5-83e9-eb581c4d5365", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "41e0cd1c-5ab8-465f-8605-2e7d6a3fe5b4", "ip_address": "147.251.124.177"}]} | +| flavor_id | None | +| ha | None | +| id | 0bd0374d-b62e-429a-8573-3e8527399b68 | +| interfaces_info | [{"port_id": "92c3f6fe-afa8-47c6-a1a6-f6a1b3c54f72", "ip_address": "192.168.8.193", "subnet_id": "e903d5b9-ac90-4ca8-be2c-c509a0153982"}] | +| location | Munch({'cloud': '', 'region_name': 'brno1', 'zone': None, 'project': Munch({'id': 'f0c339b86ddb4699b6eab7acee8d4508', 'name': None, 'domain_id': None, 'domain_name': None})}) | +| name | auto_allocated_router | +| project_id | f0c339b86ddb4699b6eab7acee8d4508 | +| revision_number | 24 | +| routes | | +| status | ACTIVE | +| tags | | +| updated_at | 2019-06-06T06:34:34Z | ++-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +``` +3. Unset gateway (by ID of the router): + +``` +$ openstack router unset --external-gateway 0bd0374d-b62e-429a-8573-3e8527399b68 +``` + +### Set Gateway + +1. Choose a new external network: + +``` +$ openstack network list ++--------------------------------------+--------------------------+--------------------------------------+ +| ID | Name | Subnets | ++--------------------------------------+--------------------------+--------------------------------------+ +| 410e1b3a-1971-446b-b835-bf503917680d | public-cesnet-78-128-251 | 937106e2-3d51-43cc-83b6-c779465011e5 | +| 8d5e18ab-5d43-4fb5-83e9-eb581c4d5365 | public-muni-147-251-124 | 41e0cd1c-5ab8-465f-8605-2e7d6a3fe5b4 | +| c708270d-0545-4be2-9b8f-84cf75ce09cf | auto_allocated_network | e903d5b9-ac90-4ca8-be2c-c509a0153982 | +| d896044f-90eb-45ee-8cb1-86bf8cb3f9fe | private-muni-10-16-116 | 3d325abf-f9f8-4790-988f-9cd3d1dea4f3 | ++--------------------------------------+--------------------------+--------------------------------------+ +``` + +2. Set the new external network for the router + +``` +$ openstack router set --external-gateway public-cesnet-78-128-251 0bd0374d-b62e-429a-8573-3e8527399b68 +``` + ## Create volume <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> @@ -121,13 +202,69 @@ openstack server create --flavor "standard.small" --volume my_vol1 \ --key-name my-key1 --security-group my-security-group --network my-net1 my-server1 ``` -## Assign floating ip address +## Floating ip address management + +### Creating and assigning new FIP + +1. Allocate new Floating IPs: + +``` +$ openstack floating ip create public-cesnet-78-128-251 ++---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Field | Value | ++---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| created_at | 2019-06-06T06:56:51Z | +| description | | +| dns_domain | None | +| dns_name | None | +| fixed_ip_address | None | +| floating_ip_address | 78.128.251.27 | +| floating_network_id | 410e1b3a-1971-446b-b835-bf503917680d | +| id | d054b6b3-bbd3-485d-a46b-b80682df8fc8 | +| location | Munch({'cloud': '', 'region_name': 'brno1', 'zone': None, 'project': Munch({'id': 'f0c339b86ddb4699b6eab7acee8d4508', 'name': None, 'domain_id': None, 'domain_name': None})}) | +| name | 78.128.251.27 | +| port_details | None | +| port_id | None | +| project_id | f0c339b86ddb4699b6eab7acee8d4508 | +| qos_policy_id | None | +| revision_number | 0 | +| router_id | None | +| status | DOWN | +| subnet_id | None | +| tags | [] | +| updated_at | 2019-06-06T06:56:51Z | ++---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +``` + +2. And assign it to your server: -1. Create and assign floating IP address: ``` -FLOAT_IP=$(openstack floating ip create --description my-float1 -c floating_ip_address -f value public-muni-147-251-124) -openstack server add floating ip my-server1 $FLOAT_IP +$ openstack server add floating ip net-test1 78.128.251.27 ``` +### Remove existing floating ip + +1. List your servers: + +``` +$ openstack server list ++--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ +| ID | Name | Status | Networks | Image | Flavor | ++--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ +| 1a0d4624-5294-425a-af37-a83eb0640e1c | net-test1 | ACTIVE | auto_allocated_network=192.168.8.196, 147.251.124.248 | | standard.small | ++--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ +``` + +2. remove floating ips: + +``` +$ openstack server remove floating ip net-test 147.251.124.248 +$ openstack floating ip delete 147.251.124.248 +``` + + +## Cloud tools +You can inspect cloud tools [here](/tools) + ## Full Reference -See [OpenStack CLI Documentation](https://docs.openstack.org/python-openstackclient/rocky/). +See [OpenStack CLI Documentation](https://docs.openstack.org/python-openstackclient/train/). diff --git a/faq/README.md b/faq/README.md index 63ae301e7e634de8b543610e9125f572813143e4..88a40e63d13fcfb027335b688af1b10cc506db46 100644 --- a/faq/README.md +++ b/faq/README.md @@ -45,9 +45,9 @@ able to setup correct MTU with its counterpart via Path MTU Discovery. Docker ne ## Issues with proxy in private networks OpenStack instances can either use public or private networks. If you are using a private network and you need to access to the internet for updates etc., -you can use muni proxy server *proxy.ics.muni.cz*. This server only supports HTTP protocol, not HTTPS. To configure it you must also consider what applications +you can use muni proxy server *proxy.ics.muni.cz*. This server only supports HTTP protocol, not HTTPS. To configure it you must also consider what applications will be using it, because they can have their own configuration files, where this information must be set. If so, you must find particular setting and set up there -mentioned proxy server with port 3128. Mostly applications use following setting, which can be done by editing file `/etc/environment` where you need to add a line +mentioned proxy server with port 3128. Mostly applications use following setting, which can be done by editing file `/etc/environment` where you need to add a line `http_proxy="http://proxy.ics.muni.cz:3128/"`. And then you must either restart your machine or use command `source /etc/environment`. ## How many floating IPs does my group project need? @@ -68,76 +68,3 @@ In case, that these options are not suitable for you usecase, you can still requ ## I can't log into openstack, how is that possible ? The most common reason why you can't log into your openstack account is because your membership in Metacentrum has expired. To extend your membership in Metacentrum, you can visit [https://metavo.metacentrum.cz/en/myaccount/prodlouzeni](https://metavo.metacentrum.cz/en/myaccount/prodlouzeni). - - -## PuTTY -[PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-what) is a client program for the SSH on Windows OS. - -#### Windows PuTTY Installer -We recommend to download [Windows Installer](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) with PuTTY utilities as: -* Pageant (SSH authentication agent) - store private key in memory without need to retype a passphrase on every login -* PuTTYgen (PuTTY key generator) - convert OpenSSH format of id_rsa to PuTTY ppk private key and so on and so forth - -#### PuTTY - Connect to the Instance - -* Run PuTTY and enter Host name in format "login@Floating IP address" where [login](/quick-start#create-virtual-machine-instance) is for example debian for Debian OS and Floating IP is [IP address](/quick-start/#associate-floating-ip) to access instance from internet. -* In Category -> Connection -> SSH -> Auth: - * Select **Attempt authentication using Pageant** - * Select **Allow agent forwarding** - * Browse and select your private key file (if needed [convert OpenSSH format id_rsa to Putty ppk](#convert-openssh-format-to-putty-ppk-format)) -* Return to *Session page* and Save selected configuration with **Save** button -* Now you can log in using **Open** button -* Enter passphrase for selected private key file if [Pageant SSH authentication agent](#pageant-ssh-agent) is not used - * We recomend using Pageant SSH Agent to store private key in memory without need to retype a passphrase on every login - - - -#### Pageant SSH Agent - -* Run Pageant from Windows menu -* Locate Pageant icon in the Notification Area and double click on it -* Use **Add Key** button -* Browse files and select your PuTTY Private Key File in format ppk -* Use **Open** buton -* Eter passphrase and confirm **OK** button -* Your private key is now located in the memory without need to retype a passphrase on every login - - - -#### PuTTY key Generator - -PuTTYgen is the PuTTY key generator. You can load in an existing private key and change your passphrase or generate a new public/private key pair or convert to/from OpenSSH/PuTTY ppk formats. - -#### Convert OpenSSH format to PuTTY ppk format - -* Run PuTTYgen, in the menu Conversion -> Import key browse and load your OpenSSH format id_rsa private key using your passphrase -* Save PuTTY ppk private key using button **Save private key**, browse destination for PuTTY format id_rsa.ppk and save file - - - -#### Convert PuTTY ppk private key to OpenSSH format - -* Run PuTTYgen, in the menu File -> Load private key browse and open your private key in format PuTTY ppk using your passphrase -* In the menu Conversion -> Export OpenSSH key browse destination for OpenSSH format id_rsa and save file - - - -#### Change Password for Existing Private Key Pair - -* Load your existing private key using button **Load**, confirm opening using your passphrase -* Enter new passphrase in field *Key passphrase* and confirm again in field *Confirm passphrase* -* Save changes using button **Save private key** - - - -#### Generate a New Key Pair - -* Start with **Generate button** -* Generate some randomness by moving your mouse over dialog -* Wait while the key is generated -* Enter a comment for your key using "your-email@address" -* Enter key passphrase, confirm key passphrase -* Save your new private key in the "id_rsa.ppk" format using the **Save private key** button -* Save the public key with the **Save public key** button - - diff --git a/gui/README.md b/gui/README.md index 122245e1776f0267548f5beaa619a08dbb50927b..1648eff82da0cab0fcd7908035625748f1f46c1a 100644 --- a/gui/README.md +++ b/gui/README.md @@ -11,7 +11,7 @@ including basic auto-scaling and self-healing. **This feature is provided as is and configuration is entirely the responsibility of the user.** -For details, refer to [the official documentation](https://docs.openstack.org/heat-dashboard/rocky/user/index.html). +For details, refer to [the official documentation](https://docs.openstack.org/heat-dashboard/train/user/index.html). ## Image upload @@ -32,7 +32,7 @@ hw_rng_model=virtio hw_qemu_guest_agent=yes os_require_quiesce=yes ``` -Following needs to be setup correctly (consult official [documentation](https://docs.openstack.org/glance/rocky/admin/useful-image-properties.html#image-property-keys-and-values)) +Following needs to be setup correctly (consult official [documentation](https://docs.openstack.org/glance/train/admin/useful-image-properties.html#image-property-keys-and-values)) or instances won't start: ``` os_type=linux # example @@ -148,7 +148,53 @@ For instances, that requires high throughput and IOPS, it is possible to utilize * instances can be rebooted without prior notice or you can be required to delete them * you can request them, when asking for new project, or for existing project on cloud@metacentrum.cz -## LBaaS +## Affinity policy + +Affinity policy is a tool users can use to deploy nodes of cluster on same physical machine or if they should be spread among other physical machines. This can be beneficial if you need fast communication between nodes or you need them to be spreaded due to load-balancing or high-availability etc. For more info please refer to [https://docs.openstack.org/senlin/train/scenarios/affinity.html](https://docs.openstack.org/senlin/train/scenarios/affinity.html). + +## LBaaS - OpenStack Octavia + +Load Balancer is a tool used for distributing a set of tasks over particular set of resources. Its main goal is to find an optimal use of resources and make processing of particular tasks more efficient. + +In following example you can see how basic HTTP server is deployed via CLI. + +**Requirements**: + +- 2 instances connected to same internal subnet and configured with HTTP application on TCP port 80 + + +``` +openstack loadbalancer create --name my_lb --vip-subnet-id <external_subnet_ID> +``` +where **<external_subnet_ID>** is an ID of external shared subnet created by cloud admins reachable from Internet. + +You can check newly created Load Balancer by running following command: + +``` +openstack loadbalancer show my_lb +``` +Now you must create listener on port 80 to enable incoming traffic by following command: + +``` +openstack loadbalancer listener create --name listener_http --protocol HTTP --protocol-port 80 my_lb +``` + +Now you must add a pool on created listener to setup configuration for Load Balancer. You can do it by following command: + +``` +openstack loadbalancer pool create --name pool_http --lb-algorithm ROUND_ROBIN --listener listener_http --protocol HTTP +``` +Here you created pool using Round Robin algorithm for load balancing. + +And now you must configure both nodes to join to Load Balancer: + +``` +openstack loadbalancer member create --subnet-id <internal_subnet_ID> --address 192.168.50.15 --protocol-port 80 pool_http +openstack loadbalancer member create --subnet-id <internal_subnet_ID> --address 192.168.50.16 --protocol-port 80 pool_http +``` +where **<internal_subnet_ID>** is an ID of internal subnet used by your instances and **--address** specifies an adress of concrete instance. + +For more info, please refer to [https://docs.openstack.org/octavia/train/user/guides/basic-cookbook.html#basic-lb-with-hm-and-fip](https://docs.openstack.org/octavia/train/user/guides/basic-cookbook.html#basic-lb-with-hm-and-fip). LBaaS (Load Balancer as a service) provides user with load balancing service, that can be fully managed via OpenStack API (some basic tasks are supported by GUI). Core benefits: * creation and management of load balancer resources can be easily automatized via API, or existing tools like Ansible or Terraform @@ -158,3 +204,59 @@ LBaaS (Load Balancer as a service) provides user with load balancing service, th **This feature is provided as is and configuration is entirely the responsibility of the user.** Official documentation for LBaaS (Octavia) service - https://docs.openstack.org/octavia/latest/user/index.html + +##Cloud orchestration tools + +### Terraform + +Terraform is the best orchestration tool for creating and managing cloud infrastructure. It is capable of greatly simplifying cloud operations. It gives you an option if something goes goes wrong you can easily rebuild your cloud infrastructure. + +It manages resources like virtual machines,DNS records etc.. + +It is managed through configuration templates containing info about its tasks and resources. They are saved as *.tf files. If configuration changes, Terraform is to able to detect it and create additional operations in order to apply those changes. + +Here is an example how this configuration file can look like: + +``` +variable "image" { +default = "Debian 10" +} + +variable "flavor" { +default = "standard.small" +} + +variable "ssh_key_file" { +default = "~/.ssh/id_rsa" +} +``` + + You can use OpenStack Provider which is tool for managing resources OpenStack supports via Terraform. Terraform has an advantage over Heat because it can be used als in other architectures, not only in OpenStack + + +For more detail please refer to [https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs](https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs) and [https://www.terraform.io/intro/index.html](https://www.terraform.io/intro/index.html). + + +### Heat +Heat is another orchestration tool used for managing cloud resources. This one is OpenStack exclusive so you can't use it anywhere else. Just like Terraform it is capable of simplifying orchestration operations in your cloud infrastructure. + +It also uses configuration templates for specification of information about resources and tasks. You can manage resources like servers, floating ips, volumes, security groups etc. via Heat. + +Here is an example of Heat configuration template in form of *.yaml file: + + +``` +heat_template_version: 2021-04-06 + +description: Test template + +resources: + my_instance: + type: OS::Nova::Server + properties: + key_name: id_rsa + image: Debian10_image + flavor: standard.small +``` + +You can find more information here [https://wiki.openstack.org/wiki/Heat](https://wiki.openstack.org/wiki/Heat). diff --git a/images-flavors/README.md b/images-flavors/README.md new file mode 100644 index 0000000000000000000000000000000000000000..87092f12b82e081e01952dad459bfe99c6cceb5d --- /dev/null +++ b/images-flavors/README.md @@ -0,0 +1,6 @@ +# Flavors and Images + +In this guide you can find info about all flavors and images available in Metacentrum Cloud. + +Flavor name | CPU | RAM | HPC | SSD | Disc throughput | Net througput + ------ |------ |------ |------ |------ |------ |------ diff --git a/network/README.md b/network/README.md index b651489cae3001a37f90d5d4d0f4edc1e042d62d..7d91c8f06e487dd74c2658654f3172340a908e84 100644 --- a/network/README.md +++ b/network/README.md @@ -41,7 +41,7 @@ Prerequisites: * Basic understanding of routing * Basic understanding of TCP/IP -For details, refer to [the official documentation](https://docs.openstack.org/horizon/rocky/user/create-networks.html). +For details, refer to [the official documentation](https://docs.openstack.org/horizon/train/user/create-networks.html). #### Network creation @@ -58,6 +58,13 @@ Inside the interactive dialog: 3. For the last tab **Subnet Details** just check that a DNS is present and DHCP box is checked, alternatively you can create the allocation pool or specify static routes in here (for advanced users).  + +<div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> + <strong>Notice:</strong><br/> + If you want to use CLI to create network, please go <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/cli/#create-network">here</a>. +</div> + + #### Proxy networking In your OpenStack instances you can you private or public networks. If you use private network and you need to access to the internet for updates etc., you can visit following [link](/faq/#issues-with-proxy-in-private-networks), where it is explained, how to set up Proxy connection. @@ -97,6 +104,13 @@ Now you need to attach your internal network to the router.  + + <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> + <strong>Notice:</strong><br/> + If you want to use CLI to manage routers, please go <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/cli/#router-management">here</a>. + </div> + + <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> <strong>Notice:</strong><br/> Routers can also be used to route traffic between internal networks. This is an advanced topic not covered in this guide. @@ -146,6 +160,11 @@ associated with it.  + <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> + <strong>Notice:</strong><br/> + If you want to use CLI to manage FIP, please go <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/cli/#floating-ip-address-management">here</a>. + </div> + ## Change external network in GUI @@ -182,131 +201,3 @@ Now, you should navigate yourself to the **Project > Network > Routers**. 2. Now click on the **Associate** button next to the Floating IP you just created. Select **Port to be associated** with desired instance. Confirm with the **Associate** button. Repeat this section for all your machines requiring a Floating IP.  - -## Change external network CLI - - -### Remove existing floating ip - -1. List your servers: - -``` -$ openstack server list -+--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ -| ID | Name | Status | Networks | Image | Flavor | -+--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ -| 1a0d4624-5294-425a-af37-a83eb0640e1c | net-test1 | ACTIVE | auto_allocated_network=192.168.8.196, 147.251.124.248 | | standard.small | -+--------------------------------------+-----------+--------+-------------------------------------------------------+-------+----------------+ -``` - -2. remove floating ips: - -``` -$ openstack server remove floating ip net-test 147.251.124.248 -$ openstack floating ip delete 147.251.124.248 -``` - -### Clear gateway - -1. Find your router: -``` -$ openstack router list -+--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ -| ID | Name | Status | State | Distributed | HA | Project | -+--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ -| 0bd0374d-b62e-429a-8573-3e8527399b68 | auto_allocated_router | ACTIVE | UP | None | None | f0c339b86ddb4699b6eab7acee8d4508 | -+--------------------------------------+-----------------------+--------+-------+-------------+------+----------------------------------+ -``` - -2. Verify: -``` -$ openstack router show 0bd0374d-b62e-429a-8573-3e8527399b68 -+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Field | Value | -+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| admin_state_up | UP | -| availability_zone_hints | None | -| availability_zones | None | -| created_at | 2019-06-06T04:47:15Z | -| description | None | -| distributed | None | -| external_gateway_info | {"network_id": "8d5e18ab-5d43-4fb5-83e9-eb581c4d5365", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "41e0cd1c-5ab8-465f-8605-2e7d6a3fe5b4", "ip_address": "147.251.124.177"}]} | -| flavor_id | None | -| ha | None | -| id | 0bd0374d-b62e-429a-8573-3e8527399b68 | -| interfaces_info | [{"port_id": "92c3f6fe-afa8-47c6-a1a6-f6a1b3c54f72", "ip_address": "192.168.8.193", "subnet_id": "e903d5b9-ac90-4ca8-be2c-c509a0153982"}] | -| location | Munch({'cloud': '', 'region_name': 'brno1', 'zone': None, 'project': Munch({'id': 'f0c339b86ddb4699b6eab7acee8d4508', 'name': None, 'domain_id': None, 'domain_name': None})}) | -| name | auto_allocated_router | -| project_id | f0c339b86ddb4699b6eab7acee8d4508 | -| revision_number | 24 | -| routes | | -| status | ACTIVE | -| tags | | -| updated_at | 2019-06-06T06:34:34Z | -+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -``` -3. Unset gateway (by ID of the router): - -``` -$ openstack router unset --external-gateway 0bd0374d-b62e-429a-8573-3e8527399b68 -``` - -### Set Gateway - -1. Choose a new external network: - -``` -$ openstack network list -+--------------------------------------+--------------------------+--------------------------------------+ -| ID | Name | Subnets | -+--------------------------------------+--------------------------+--------------------------------------+ -| 410e1b3a-1971-446b-b835-bf503917680d | public-cesnet-78-128-251 | 937106e2-3d51-43cc-83b6-c779465011e5 | -| 8d5e18ab-5d43-4fb5-83e9-eb581c4d5365 | public-muni-147-251-124 | 41e0cd1c-5ab8-465f-8605-2e7d6a3fe5b4 | -| c708270d-0545-4be2-9b8f-84cf75ce09cf | auto_allocated_network | e903d5b9-ac90-4ca8-be2c-c509a0153982 | -| d896044f-90eb-45ee-8cb1-86bf8cb3f9fe | private-muni-10-16-116 | 3d325abf-f9f8-4790-988f-9cd3d1dea4f3 | -+--------------------------------------+--------------------------+--------------------------------------+ -``` - -2. Set the new external network for the router - -``` -$ openstack router set --external-gateway public-cesnet-78-128-251 0bd0374d-b62e-429a-8573-3e8527399b68 -``` - -### Allocate new Floating IP(s): - -1. Allocate new Floating IPs: - -``` -$ openstack floating ip create public-cesnet-78-128-251 -+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Field | Value | -+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| created_at | 2019-06-06T06:56:51Z | -| description | | -| dns_domain | None | -| dns_name | None | -| fixed_ip_address | None | -| floating_ip_address | 78.128.251.27 | -| floating_network_id | 410e1b3a-1971-446b-b835-bf503917680d | -| id | d054b6b3-bbd3-485d-a46b-b80682df8fc8 | -| location | Munch({'cloud': '', 'region_name': 'brno1', 'zone': None, 'project': Munch({'id': 'f0c339b86ddb4699b6eab7acee8d4508', 'name': None, 'domain_id': None, 'domain_name': None})}) | -| name | 78.128.251.27 | -| port_details | None | -| port_id | None | -| project_id | f0c339b86ddb4699b6eab7acee8d4508 | -| qos_policy_id | None | -| revision_number | 0 | -| router_id | None | -| status | DOWN | -| subnet_id | None | -| tags | [] | -| updated_at | 2019-06-06T06:56:51Z | -+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -``` - -2. And assign it to your server: - -``` -$ openstack server add floating ip net-test1 78.128.251.27 -``` diff --git a/news/README.md b/news/README.md index c57883745aa5709f170ccf5f6fe44ce18aebd792..9ebcc9721c6182a11ee2fac53183d425c7a47453 100644 --- a/news/README.md +++ b/news/README.md @@ -1,11 +1,5 @@ # News -**2020-07-24** Octavia service (LBaaS) released +**2021-04-05** OpenStack images renamed -**2020-06-11** [Public repository](https://gitlab.ics.muni.cz/cloud/cloud-tools) where Openstack users can find usefull tools - -**2020-05-27** Openstack was updated from `stein` to `train` version - -**2020-05-13** Ubuntu 20.04 LTS (Focal Fossa) available in image catalog - -**2020-05-01** Released [Web page](https://projects.cloud.muni.cz/) for requesting Openstack projects +**2020-03-31** User documentation update diff --git a/quick-start/README.md b/quick-start/README.md index e03f0147d48a0a6ebb1e80c90865fcccc0b8b018..fc2c023ad34bcb11f13355dbcfbf9fd66fa981b6 100644 --- a/quick-start/README.md +++ b/quick-start/README.md @@ -77,7 +77,7 @@ chmod 644 .ssh/id_rsa.pub chmod 600 .ssh/id_rsa ``` -For details, refer to [the official documentation](https://docs.openstack.org/horizon/rocky/user/configure-access-and-security-for-instances.html). +For details, refer to [the official documentation](https://docs.openstack.org/horizon/train/user/configure-access-and-security-for-instances.html). ## Update Security Group @@ -98,7 +98,15 @@ your virtual machine via SSH from your local terminal.  -For details, refer to [the official documentation](https://docs.openstack.org/horizon/rocky/user/configure-access-and-security-for-instances.html). + + <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(255,0,0,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> + <strong>WARNING:</strong><br/><br/> + You have 2 possibilities how to configure security groups policy. One is through CIDR which specifies rules for concrete network range. The second one specifies + rules for members of specified security group, i.e. policy will be applied on instances who belong to selected security group. + </div> + + +For details, refer to [the official documentation](https://docs.openstack.org/horizon/train/user/configure-access-and-security-for-instances.html). ## Create Virtual Machine Instance @@ -151,12 +159,12 @@ For details, refer to [the official documentation](https://docs.openstack.org/ho  10. Login using your SSH key as selected in Key pair above -Connect to the instance using **ssh image login**, [id_rsa key registered in Openstack](#create-key-pair) and [Floating IP](/network/#associate-floating-ip). +Connect to the instance using **ssh image login**, [id_rsa key registered in Openstack](#create-key-pair) and [Floating IP](/network/#associate-floating-ip). <div style="border-width:0;border-left:5px solid #b8d6f4;background-color:rgba(228,240,251,0.3);margin:20px 0;padding:10px 20px;font-size:15px;"> <strong>Notice:</strong><br/> - On Linux and Mac you can use already present SSH client. On Windows there are other possibilities how to connect via SSH. One of the most common is <a href="https://en.wikipedia.org/wiki/PuTTY">PuTTy</a> SSH client. How to configure and use PuTTy you can visit our tutorial <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/putty/#putty">here</a>. + On Linux and Mac you can use already present SSH client. On Windows there are other possibilities how to connect via SSH. One of the most common is <a href="https://en.wikipedia.org/wiki/PuTTY">PuTTy</a> SSH client. How to configure and use PuTTy you can visit our tutorial <a href="https://cloud.gitlab-pages.ics.muni.cz/documentation/putty/#putty">here</a>. </div> @@ -176,7 +184,7 @@ ssh -A -X -i ~/.ssh/id_rsa <ssh_image_login>@<Floating IP> So it can look like: ``` -ssh -A -X -i ~/.ssh/id_rsa debian@192.168.18.15 +ssh -A -X -i ~/.ssh/id_rsa debian@192.168.18.15 ``` ``` -A Enables forwarding of the authentication agent connection. @@ -190,7 +198,7 @@ ssh -A -X -i ~/.ssh/id_rsa debian@192.168.18.15 -For details, refer to [the official documentation](https://docs.openstack.org/horizon/rocky/user/launch-instances.html). +For details, refer to [the official documentation](https://docs.openstack.org/horizon/train/user/launch-instances.html). ## Setup Router gateway (Required only for GROUP projects!!) @@ -224,4 +232,21 @@ attached and detached from instances at any time, their creation and deletion ar given instance. 5. __(optional)__ Select **Volume ID** from the drop-down list and click **Attach Volume**. -For details, refer to [the official documentation](https://docs.openstack.org/horizon/rocky/user/manage-volumes.html). \ No newline at end of file +For details, refer to [the official documentation](https://docs.openstack.org/horizon/train/user/manage-volumes.html). + +## Instance resize +If you find out that you need to select another flavor for your instance, here is a tutorial how to do it: + +Before resizing u should save all your unsaved work and you should also consider making data backup in case if something goes wrong. + +First you must go to your instance and then you select **Resize Instance** + +  + +After that you select what flavor you want instead of your current one and then you confirm your choice + +  + +Then you just have to either confirm or revert selected changes in instance menu + +  diff --git a/quick-start/images/resize.png b/quick-start/images/resize.png new file mode 100644 index 0000000000000000000000000000000000000000..589f5bf1e4894bfef26f06b8e454d15484051f4f Binary files /dev/null and b/quick-start/images/resize.png differ diff --git a/quick-start/images/resize_confirm.png b/quick-start/images/resize_confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..73e05ac53448353d8523c448d356930fcc683064 Binary files /dev/null and b/quick-start/images/resize_confirm.png differ diff --git a/quick-start/images/select.png b/quick-start/images/select.png new file mode 100644 index 0000000000000000000000000000000000000000..d32b287da38439b7fcf8d52127cfe78be54e614d Binary files /dev/null and b/quick-start/images/select.png differ diff --git a/quick-start/images/shutdown1.png b/quick-start/images/shutdown1.png new file mode 100644 index 0000000000000000000000000000000000000000..cef11d764a48d9fe1c3573b1e125e5904d0817e7 Binary files /dev/null and b/quick-start/images/shutdown1.png differ